Alexandru Vasile
3da9449067
Bump sp-crates from latest crates.io version + release ( #14265 )
...
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2023-05-31 12:11:01 +00:00
Alexandru Vasile
98a0550ea2
Release: Bump SP crates to release on crates.io ( #14237 )
...
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2023-05-29 10:40:59 +00:00
Bastian Köcher
6947b334b4
wasm-builder: Enforce runtime_version wasm section ( #14228 )
...
* wasm-builder: Enforce `runtime_version` wasm section
This pr changes the `wasm-builder` to enforce the `runtime_version` wasm section. This wasm section
is being created by the `sp_version::runtime_version` attribute macro. This attribute macro now
exists since quite some time and `runtime_version` also is the only way for parachains to support
reading the `RuntimeVersion` from the runtime.
\# Disabling the check
By default the `WasmBuilder` will now check for this wasm section and if not found, exit with an
error. However, there are situations where you may want to disable this check (like for tests). In
this case there exists the `disable_runtime_version_section_check` function.
```
WasmBuilder::new()
...
...
...
.disable_runtime_version_section_check()
.build()
```
By using this method you get back the old behavior.
* Review comment
* Fix
* Fix issue with `enum-as-inner`
2023-05-28 23:52:10 +00:00
dependabot[bot]
5402212358
Bump lru from 0.8.1 to 0.10.0 ( #14211 )
...
Bumps [lru](https://github.com/jeromefroe/lru-rs ) from 0.8.1 to 0.10.0.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.8.1...0.10.0 )
---
updated-dependencies:
- dependency-name: lru
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-28 13:17:10 +00:00
Bastian Köcher
05da6d8e84
HoldReason: Improve usage ( #13869 )
...
* HoldReason: Improve usage
`HoldReason` was switched recently to use the `composite_enum` attribute that will merge the enums
from all pallets in the runtime to `RuntimeHoldReason`. `pallet-nis` was still requiring that the
variant was passed as constant to call `hold`. The proper implementation is to use the `HoldReason`
from inside the pallet directly when calling `hold`. This is done by adding a `RuntimeHoldReason` as
type to the `Config` trait and requiring that `Currency` is using the same reason. Besides that the
pr changes the name `HoldIdentifier` in `pallet_balances::Config` to `RuntimeHoldReason`.
* Update frame/nis/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Review comment
* Fixes
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-05-24 21:59:34 +00:00
Alexandru Vasile
b73b698980
wasm: Update from v6.0.2 to v8.0.1 ( #14178 )
...
* wasm: Update from v6.0.2 to v8.0.1
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
* Fix rustix version
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
---------
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io >
2023-05-24 09:08:21 +00:00
yjh
b6a2948461
Remove wasmi backend from sc-executor ( #13800 )
...
* 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
* wip
* fix and improve
* remove sc-executor-wasmi deps
* clean up bench and tests
* delete "client/executor/wasmi"
* cleanup
* refactor builder
* fix
* fix bench
* fix tests
* fix warnings
* fix warnings
* fix
* fix
* remove wasmi and fix tests
* unused imports
* improve by suggestions
* Update client/cli/src/arg_enums.rs
---------
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: parity-processbot <>
2023-05-23 17:31:45 +02:00
Marcin S
2decceef76
Executor: Add create_runtime_from_artifact_bytes ( #14184 )
2023-05-22 11:43:51 -04:00
dependabot[bot]
44d7ffba9b
Bump wasmtime from 6.0.1 to 6.0.2 ( #14037 )
...
Bumps [wasmtime](https://github.com/bytecodealliance/wasmtime ) from 6.0.1 to 6.0.2.
- [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.1...v6.0.2 )
---
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-04-27 20:08:42 +00:00
dependabot[bot]
890a65b87d
Bump cargo_metadata from 0.15.3 to 0.15.4 ( #13899 )
...
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata ) from 0.15.3 to 0.15.4.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases )
- [Changelog](https://github.com/oli-obk/cargo_metadata/blob/main/CHANGELOG.md )
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/0.15.3...0.15.4 )
---
updated-dependencies:
- dependency-name: cargo_metadata
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 14:52:51 +02:00
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