yjh
271d65eae7
chore: remove duplicated arc ( #13871 )
2023-04-11 12:42:49 +02:00
Liam Aharon
a53110f929
remove unused import ( #13868 )
2023-04-10 23:25:12 +02:00
yjh
d5e460b3bf
refactor(sc-executor): use wasm executor builder instead of old apis ( #13740 )
...
* refactor: use builder api for all executors
* improve a lot
* remove unused args
* cleanup deps
* fix inconsistency about heap alloc
* add `heap_pages` back to try-runtime
* fix
* chore: reduce duplicated code for sc-service-test
* cleanup code
* fmt
* improve test executor
* improve
* use #[deprecated]
* set runtime_cache_size: 4
* fix and improve
* refactor builder
* fix
* fix bench
* fix tests
* fix warnings
* fix warnings
* fix
* fix
* update by suggestions
* update name
2023-04-09 23:48:40 +00:00
Marcin S
bfd43dbce5
WASM executor: add OutputExceedsBounds variant to Error ( #13841 )
...
* WASM executor: add `OutputExceedsBounds` variant to `Error`
Previously this was a `WasmError`, which is intended for runtime construction errors. However this
led to confusion as output-exceeds-bounds occurs due to execution of `validate_block`.
* Fix warning
2023-04-07 10:35:41 +00:00
s0me0ne-unkn0wn
0766072393
Expose WASM extensions in executor semantics ( #13811 )
...
* Expose WASM extensions in executor semantics
* Fix benches
* Remove redundant extensions
2023-04-04 15:10:27 +00:00
dependabot[bot]
16fc65dc1c
Bump wasmtime from 6.0.0 to 6.0.1 ( #13566 )
...
Bumps [wasmtime](https://github.com/bytecodealliance/wasmtime ) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/bytecodealliance/wasmtime/releases )
- [Changelog](https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-some-possible-changes.md )
- [Commits](https://github.com/bytecodealliance/wasmtime/compare/v6.0.0...v6.0.1 )
---
updated-dependencies:
- dependency-name: wasmtime
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 07:08:00 +00:00
Bastian Köcher
941288c6d0
wasm-executor: Support growing the memory ( #12520 )
...
* As always, start with something :P
* Add support for max_heap_pages
* Add support for wasmtime
* Make it compile
* Fix compilation
* Copy wrongly merged code
* Fix compilation
* Some fixes
* Fix
* Get stuff working
* More work
* More fixes
* ...
* More
* FIXEs
* Switch wasmi to use `RuntimeBlob` like wasmtime
* Removed unused stuff
* Cleanup
* More cleanups
* Introduce `CallContext`
* Fixes
* More fixes
* Add builder for creating the `WasmExecutor`
* Adds some docs
* FMT
* First round of feedback.
* Review feedback round 2
* More fixes
* Fix try-runtime
* Update client/executor/wasmtime/src/instance_wrapper.rs
Co-authored-by: Koute <koute@users.noreply.github.com >
* Update client/executor/common/src/wasm_runtime.rs
Co-authored-by: Koute <koute@users.noreply.github.com >
* Update client/executor/common/src/runtime_blob/runtime_blob.rs
Co-authored-by: Koute <koute@users.noreply.github.com >
* Update client/executor/common/src/wasm_runtime.rs
Co-authored-by: Koute <koute@users.noreply.github.com >
* Update client/allocator/src/freeing_bump.rs
Co-authored-by: Koute <koute@users.noreply.github.com >
* Update client/allocator/src/freeing_bump.rs
Co-authored-by: Koute <koute@users.noreply.github.com >
* Feedback round 3
* FMT
* Review comments
---------
Co-authored-by: Koute <koute@users.noreply.github.com >
2023-02-24 11:43:01 +00:00
Koute
17e055e594
Bump wasmtime to 6.0.0 ( #13429 )
...
* Bump `wasmtime` to 6.0.0
* Disable cranelift egraphs
2023-02-23 10:56:11 +00:00
Vivek Pandya
bc53b9a03a
Remove years from copyright notes. ( #13415 )
...
* Change copyright year to 2023 from 2022
* Fix incorrect update of copyright year
* Remove years from copy right header
* Fix remaining files
* Fix typo in a header and remove update-copyright.sh
2023-02-21 18:46:41 +00:00
Sasha Gryaznov
53b7778599
[contracts] make debug_message execution outcome invariant to node debug logging setting ( #13197 )
...
* update benchmark for seal_debug_message
* add seal_debug_message_per_kb benchmark
* un-fallable debug buffer: silently drops excessive and wrong utf-8 encoded messages
* charge debug_message per byte of the message
* improved benchmark
* cap debug_message
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts
* Apply suggestions from code review
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
* fix applied buggy suggestion
* make sure i*1024 < MaxDebugBufferLen
* fix schedule for our non-batched benchmark
* Switch to a `wasmtime` fork with LTO linking failure workaround
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_contracts
---------
Co-authored-by: command-bot <>
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
Co-authored-by: Jan Bujak <jan@parity.io >
2023-02-14 18:28:34 +00:00
Koute
44cbf303c4
Bump wasmtime to 5.0.0 (and a few other deps) ( #13160 )
...
* Bump `wasmtime` to 4.0.0 (and a few other deps)
* Use `Error::msg` instead of `anyhow!`
* Bump `wasmtime` to 5.0.0
* Update `Cargo.lock`
* Add `wasmtime` feature to `sp-wasm-interface` dependency
2023-02-06 15:40:50 +00:00
Hussein Ait-Lahcen
f09ea9e6f3
feat(client): significantly increase wasm instance limits ( #13298 )
...
Following https://github.com/paritytech/substrate/issues/11949 , this PR will allow parachains with runtimes bigger than Kusama to use the pooling strategy.
2023-02-03 14:21:24 +00:00
Marcin S
0d79b7853c
Minor: Update output validity tests ( #13190 )
...
* Minor: Update output validity tests
Quick follow-up to https://github.com/paritytech/substrate/pull/13183 .
Mainly, I wanted to double check that the `test_return_max_memory_offset` test doesn't pass just
because the output length is 0.
I also:
- Organized these tests into a module.
- Added a comment explaining why we don't use the `wasm_export_functions` macro.
* Update test based on review comment
2023-02-02 13:41:40 -05:00
Qinxuan Chen
b77a1a67eb
update criterion to v0.4.0 ( #13142 )
2023-01-28 19:43:32 +00:00
Marcin S
e8288005f7
Fix potential huge allocation as a result of validate_block output ( #13183 )
...
* Fix potential huge allocation as a result of `validate_block` output
* Address review comments; add more tests
* Update client/executor/wasmtime/src/runtime.rs
* Remove unnecessary comments
Co-authored-by: Bastian Köcher <git@kchr.de >
2023-01-20 10:19:30 +00:00
Gavin Wood
2d7fa18e73
Make DispatchError impl MEL ( #13169 )
...
* Make DispatchError impl MEL
* Upgrade SCALE codec to support `codec(skip)` for MEL
Co-authored-by: Bastian Köcher <info@kchr.de >
2023-01-19 16:47:47 +00:00
Nazar Mokrynskyi
dccef86edb
Only use substrate-wasm-builder when std feature is enabled. ( #12790 )
...
Co-authored-by: parity-processbot <>
2023-01-06 10:24:12 +00:00
Alexander Theißen
32578cb010
Remove sandboxing host function interface ( #12852 )
...
* Remove sandboxing interface
* Remove unused struct
2022-12-07 12:48:30 +00:00
Koute
4214bc527c
Remove the wasmtime feature flag ( #12684 )
...
* Remove the `wasmtime` feature flag
* rustfmt
2022-11-18 14:21:44 +01:00
Niklas Adolfsson
2b8af8cb1a
release sp-core 7.0.0 and sp-runtime 7.0.0 ( #12599 )
...
* chore(release): sp-core v7.0.0
* chore(release): sp-runtime v7.0.0
* fix bad merge
2022-11-15 14:54:14 +00:00
Koute
5c7ec6909d
Remove sp_tasks::spawn API and related code + host functions ( #12639 )
...
* Remove `sp_tasks::spawn` API and related code
* Remove `RuntimeTasks::{spawn, join}` host functions
* remove unused
* Remove a few more tests that I forgot to remove
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2022-11-10 12:23:56 +00:00
Qinxuan Chen
ad6630ed71
Update some dependencies to prune duplicated crates with different version ( #12560 )
...
* sc-client-babe/sp-arithmetic-fuzzer: update num-bigint and num-rational to v0.4
* update lru 0.7.5 ==> v0.8.1
* pallet-example-offchain-worker: update lite-json v0.1.3 ==> v0.2.0
* update hyper 0.14.16 ==> 0.14.20, num-fromat 0.4.0 ==> 0.4.3
* pallet-mmr: update ckb-merkle-mountain-range v0.3.2 ==> v0.5.2
* update handlebars v4.2.2 ==> v4.3.5
* `runtime_cache_size` must always be at least 1
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* default cache size with .min(1)
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* update hyper 0.14.20 ==> 0.14.22
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* update lru 0.8.0 ==> 0.8.1
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* Apply suggestions from code review
* Apply suggestions from code review
* Fix Cargo.lock
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: Bastian Köcher <info@kchr.de >
2022-11-09 11:46:00 +00:00
dependabot[bot]
be6f51895b
Bump regex from 1.5.5 to 1.6.0 ( #12117 )
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.5.5 to 1.6.0.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.5.5...1.6.0 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: parity-processbot <>
2022-11-07 10:17:53 +00:00
s0me0ne-unkn0wn
24f0c3601c
Implement Clone and Default for Config ( #12397 )
...
* Implement `Clone` and `Default` for `Config`
* `cargo fmt`
* Remove default config implementation
2022-10-05 15:11:05 +00:00
Koute
d5c57ffcc1
Bump wasmtime to 1.0.0 ( #12317 )
2022-09-21 10:21:01 +00:00
Xavier Lau
86198c5471
Use array-bytes for All Array/Bytes/Hex Operations ( #12190 )
...
* Use `array-bytes` for All Array/Bytes/Hex Operations
Signed-off-by: Xavier Lau <xavier@inv.cafe >
* Reorder
* Self Review
* Format
* Fix Tests
* Bump `array-bytes`
* Optimize large test res
Signed-off-by: Xavier Lau <xavier@inv.cafe >
Co-authored-by: parity-processbot <>
2022-09-21 06:12:20 +00:00
Alexander Theißen
4a6e78b8df
Bump wasm-instrument ( #12234 )
...
* Bump wasm-instrument
* Fix benchmarks
2022-09-15 06:00:11 +00:00
Bastian Köcher
b356a5589a
Remove native call ( #12201 )
...
* Remove native call
With the recent introduction of staging runtime apis the native call wasn't supported anymore. This
removes the entire support for this as it is not used anymore.
* FMT
* Fix benchmarks
* FIX ui tests
2022-09-12 12:25:56 +02:00
Alexander Theißen
5afe00d89c
Upgrade wasm crate dependencies ( #12173 )
...
* Upgrade wasm crate dependencies
* New wasmi version changed error output a bit
* ".git/.scripts/bench-bot.sh" pallet dev pallet_contracts
* ".git/.scripts/bench-bot.sh" pallet dev pallet_contracts
Co-authored-by: command-bot <>
2022-09-08 12:48:19 +00:00
Bastian Köcher
bec123a50f
Upgrade wasmtime to 0.40.0 ( #12096 )
...
* Upgrade wasmtime to 0.40.0
* ".git/.scripts/bench-bot.sh" pallet dev pallet_contracts
* Update in the other Cargo.toml
* ".git/.scripts/bench-bot.sh" pallet dev pallet_contracts
Co-authored-by: command-bot <>
Co-authored-by: Alexander Theißen <alex.theissen@me.com >
2022-09-08 10:57:23 +02:00
Koute
b922a25ccd
Force rustix to use libc ( #12123 )
2022-08-29 15:30:37 +00:00
dependabot[bot]
5318bf53d4
Bump parking_lot from 0.12.0 to 0.12.1 ( #12098 )
...
Bumps [parking_lot](https://github.com/Amanieu/parking_lot ) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/0.12.0...0.12.1 )
---
updated-dependencies:
- dependency-name: parking_lot
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-25 23:52:19 +02:00
Bastian Köcher
7c465dfe6a
Fix wasm_export_functions when using a return statement ( #12107 )
...
When used a return statement before we directly returned from the function which is obviously wrong.
2022-08-25 13:18:53 +02:00
yjh
13fa566590
chore(executor): make allow_missing_host_functions could be configurable ( #12015 )
...
* make `with_instance` pub
* make `allow_missing_host_functions` could be configurable
* add method `allow_missing_host_functions`
* update usage
* update usage
* fix comments
* fix `with_instance`
2022-08-19 08:50:12 +00:00
Squirrel
a68a80fbae
declone and close the door ( #12035 )
...
* declone and close the door
* cargo fmt
* remove brackets
2022-08-15 19:38:36 +00:00
yjh
9a7ff9a3a0
chore: improve runtime docs and remove unused error ( #12000 )
2022-08-11 11:59:38 +02:00
Koute
9c56e79c43
Restore wasmtime's default stack size limit to 1MB ( #11993 )
...
* Restore `wasmtime`'s default stack size limit to 1MB
* Add extra comments
* Enforce different maximum call depth in release mode
* Split the call depth limit in two
2022-08-09 11:04:28 +00:00
Koute
c4b607d4c9
Prevent double allocation of the payload when calling sp_io::storage::get ( #11523 )
...
* Expose allocation stats in `FreeingBumpHeapAllocator`
* Return allocation stats when calling into the runtime
* Bump `parity-scale-codec` to 3.1.3 (fork)
* Prevent double allocation of the payload when calling `sp_io::storage::get`
* Fix tests
* Remove unnecessary `mut`
* Enable the `bytes` feature for `parity-scale-codec` in `sp-runtime-interface`
* Update client/allocator/src/freeing_bump.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Bump `parity-scale-codec` to 3.1.3
* Fix some of the UI tests
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2022-07-29 07:46:15 +00:00
Oliver Tale-Yazdi
e92a349749
Bump wasmtime default-pages ( #11864 )
...
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-07-20 08:50:54 +00:00
Koute
8f6ba2e75e
Improve wasmtime error reporting ( #11856 )
...
* Improve `wasmtime` error reporting
* cargo fmt
2022-07-18 11:51:38 +00:00
Koute
3d89fa3605
Prevent unsoundness in environments with broken madvise(MADV_DONTNEED) ( #11722 )
...
* Prevend unsoundness in environments with broken `madvise(MADV_DONTNEED)`
* Add the `std` feature to `rustix` dependency
Apparently not having this breaks compilation on non-nightly toolchains.
* Autodetect the page size when checking whether `madvise` works
* Only make sure that the madvice check doesn't return `Err`
2022-06-28 06:54:56 +00:00
Koute
025e1d76f1
Bump wasmtime to 0.38.0 and zstd to 0.11.2 ( #11720 )
...
* Bump `wasmtime` to 0.37.0 and `zstd` to 0.11.2
* Bump `wasmtime` to 0.38.0
2022-06-24 11:25:21 +00:00
Zhenghao Lu
eba0396182
Simplified code using existing APIs ( #11702 )
...
Signed-off-by: Emison Lu <lzh1633856298@gmail.com >
2022-06-18 23:56:48 +00:00
Koute
4f393171d7
Adjust maximum memory pages hard limit for the pooling instantiation strategy ( #11482 )
...
* Run `sc-executor-wasmtime` unit tests for all instantiation strategies
* Adjust maximum memory pages hard limit for the pooling instantiation strategy
2022-05-24 05:37:04 +00:00
Koute
dd854c16e2
Switch to pooling copy-on-write instantiation strategy for WASM ( #11232 )
...
* Switch to pooling copy-on-write instantiation strategy for WASM
* Fix benchmark compilation
* Fix `cargo fmt`
* Fix compilation of another benchmark I've missed
* Cleanups according to review comments
* Move `max_memory_size` to `Semantics`
* Set `memory_guaranteed_dense_image_size` to `max_memory_size`
* Rename `wasm_instantiation_strategy` to `wasmtime_instantiation_strategy`
* Update the doc-comments regarding the instantiation strategy
* Extend the integration tests to test every instantiation strategy
* Don't drop the temporary directory until the runtime is dropped in benchmarks
* Don't drop the temporary directory until the runtime is dropped in tests
2022-05-19 07:32:53 +00:00
yjh
bf694d3c0e
remove unused error InvalidCode and improve docs ( #11383 )
2022-05-16 10:25:34 +02:00
dependabot[bot]
4a3758d9b8
Bump log from 0.4.16 to 0.4.17 ( #11369 )
...
* Bump log from 0.4.16 to 0.4.17
Bumps [log](https://github.com/rust-lang/log ) from 0.4.16 to 0.4.17.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/commits/0.4.17 )
---
updated-dependencies:
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update Cargo.lock
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2022-05-15 22:21:04 -04:00
Shawn Tabrizi
7d5202341b
Basic TOML Lint ( #11348 )
...
* basic lint
* lint ordering
2022-05-04 13:38:54 +00:00
Falco Hirschenberger
b581604aa7
Apply some clippy lints ( #11154 )
...
* Apply some clippy hints
* Revert clippy ci changes
* Update client/cli/src/commands/generate.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/cli/src/commands/inspect_key.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/db/src/bench.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/db/src/bench.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/service/src/client/block_rules.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/service/src/client/block_rules.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/network/src/transactions.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/network/src/protocol.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Revert due to missing `or_default` function.
* Fix compilation and simplify code
* Undo change that corrupts benchmark.
* fix clippy
* Update client/service/test/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/state-db/src/noncanonical.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update client/state-db/src/noncanonical.rs
remove leftovers!
* Update client/tracing/src/logging/directives.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/fork-tree/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* added needed ref
* Update frame/referenda/src/benchmarking.rs
* Simplify byte-vec creation
* let's just not overlap the ranges
* Correction
* cargo fmt
* Update utils/frame/benchmarking-cli/src/shared/stats.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/pallet/command.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update utils/frame/benchmarking-cli/src/pallet/command.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Giles Cope <gilescope@gmail.com >
2022-04-30 21:28:27 +00:00
yjh
130880754f
chore: remove unused scoped-tls ( #11286 )
...
* chore: remove unused scoped-tls
* rm irrelevant files
* rm sp-core
2022-04-26 20:21:30 +02:00