Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
938 changes: 457 additions & 481 deletions Cargo.lock

Large diffs are not rendered by default.

21 changes: 16 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ repository = "https://github.com/quantus-network/chain#"
members = [
"client/cli",
"client/consensus/qpow",
"client/executor-wasmtime",
"client/informant",
"client/litep2p",
"client/network",
Expand All @@ -17,6 +18,7 @@ members = [
"client/service",
"client/telemetry",
"client/transaction-pool",
"client/wasm-interface",
"frame/benchmarking",
"frame/executive",
"frame/metadata",
Expand Down Expand Up @@ -90,9 +92,16 @@ bs58 = { version = "0.5.1" }
bytes = { version = "1.4.0", default-features = false }
cfg-if = { version = "1.0" }
chrono = { version = "0.4.31" }
cid = { version = "0.11.1" }
cid = { version = "0.11.3" }
clap = { version = "4.5.13" }
clatter = { version = "=1.1.0" }
# rust-crypto ML-KEM only — avoid default use-pqclean-* (unmaintained pqcrypto-kyber).
clatter = { version = "2.2.0", default-features = false, features = [
"getrandom",
"std",
"use-chacha20poly1305",
"use-rust-crypto-ml-kem",
"use-sha",
] }
codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" }
const-hex = { version = "1.16.0", default-features = false }
criterion = { version = "0.5.1", default-features = false }
Expand Down Expand Up @@ -136,8 +145,9 @@ log = { version = "0.4.22", default-features = false }
macro_magic = { version = "0.5.1", default-features = false }
memory-db = { version = "0.34.0", default-features = false }
mockall = { version = "0.13.1" }
multiaddr = { version = "0.17.0" }
multihash = { version = "0.17.0", default-features = false, features = ["identity", "sha2"] }
multiaddr = { version = "0.18.2" }
multihash = { version = "0.19.5", default-features = false, features = ["std"] }
multihash-codetable = { version = "0.2.1", default-features = false, features = ["sha2"] }
multistream-select = { version = "0.13.0" }
names = { version = "0.14.0", default-features = false }
network-interface = { version = "2.0.1" }
Expand Down Expand Up @@ -329,7 +339,6 @@ static_init = { version = "1.0.4" }
strum = { version = "0.26.3", default-features = false, features = ["derive"] }
substrate-build-script-utils = { version = "11.0.0", default-features = false }
substrate-frame-rpc-system = { version = "49.0.0", default-features = false }
substrate-test-utils = { version = "3.0.0", default-features = false }
substrate-wasm-builder = { version = "31.1.0", default-features = false }

[patch.crates-io]
Expand All @@ -351,13 +360,15 @@ pallet-transaction-payment = { path = "./pallets/transaction-payment" }
pallet-transaction-payment-rpc = { path = "./pallets/transaction-payment-rpc" }
pallet-transaction-payment-rpc-runtime-api = { path = "./pallets/transaction-payment-rpc-runtime-api" }
sc-cli = { path = "./client/cli" }
sc-executor-wasmtime = { path = "./client/executor-wasmtime" }
sc-informant = { path = "./client/informant" }
sc-network = { path = "client/network" }
sc-network-sync = { path = "client/network-sync" }
sc-network-types = { path = "client/network-types" }
sc-service = { path = "client/service" }
sc-telemetry = { path = "client/telemetry" }
sc-transaction-pool = { path = "client/transaction-pool" }
sp-wasm-interface = { path = "./client/wasm-interface" }

[profile.release]
opt-level = 3
Expand Down
1 change: 1 addition & 0 deletions client/executor-wasmtime/.cargo-checksum.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"files":{".cargo_vcs_info.json":"68878989e3f1a80eb85a5eb56ca8ad4e3d0cbf6bad5d3d58863b35664222b02a","Cargo.lock":"3960122c38dcc2943fc267516ae4e38af6523f2d21a1edbabd8b434fc6000b17","Cargo.toml":"933549c1e4908b36f42931fc02cfb74b08a38579ff7e0674133577c38b1e0372","Cargo.toml.orig":"381ce87bdd7c9a04178dc4fd9700c3429ae257be0809928f62de9226dc51f864","README.md":"1c21401289577c635dc67e97d58ed6e466ccdf56825b1fbe9845fffd544d880b","build.rs":"cd10e6907798cfde1188e624450430bce2d1826c90efd4edcf2f84805c37e9b1","src/host.rs":"5c8aa0c2080556769753a8dd32d3aed25cc235233dde139401ca7751afc3e98b","src/imports.rs":"542732c91ed3a16221e78155cc9eb32f26bcd0caa4ec2419e1affbc8d08ae7ab","src/instance_wrapper.rs":"8011f4634ca44ba478de6c24535b432cd927a9156b9652224508a44cfcb47950","src/lib.rs":"e7db897e1aa896b3248a594a104437da053dc155a7c9e950f7fc01f24caa27ee","src/runtime.rs":"7305ab5086cfcd1172d193a3676c0c0057893ae72acd7106c2eabc558801376c","src/test-guard-page-skip.wat":"50a7adfe1022cfe4cf3b649726c6318a5c1a7014c151bf050d6f98ca062531f3","src/tests.rs":"6c73d3f116cd997c92db1d32139ce07fac4d8e7d4d502a115f5b6653144a757d","src/util.rs":"689b43ca7cf9b51b30eda6f808fdb032cc76f360a24c76e40ff48ecfe347aa12"},"package":"825b33fc35931913d1308797321d65b4ef5eedd6b412af920c92d67d352dd388"}
6 changes: 6 additions & 0 deletions client/executor-wasmtime/.cargo_vcs_info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"git": {
"sha1": "ac2b0e3fd86a23cc33b2f4d6f46ac9d0ecb05115"
},
"path_in_vcs": "substrate/client/executor/wasmtime"
}
223 changes: 223 additions & 0 deletions client/executor-wasmtime/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
authors = ["Parity Technologies <admin@parity.io>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
description = "Defines a `WasmRuntime` that uses the Wasmtime JIT to execute."
edition = "2021"
homepage = "https://paritytech.github.io/polkadot-sdk/"
license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
name = "sc-executor-wasmtime"
readme = "README.md"
repository = "https://github.com/paritytech/polkadot-sdk.git"
version = "0.43.0"

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[lib]
name = "sc_executor_wasmtime"
path = "src/lib.rs"

[dependencies.anyhow]
default-features = false
version = "1.0.81"

[dependencies.log]
default-features = true
version = "0.4.22"

[dependencies.parking_lot]
default-features = true
version = "0.12.1"

[dependencies.rustix]
default-features = false
features = [
"fs",
"mm",
"param",
"std",
"use-libc",
]
version = "1.0.3"

[dependencies.sc-allocator]
default-features = true
version = "35.0.0"

[dependencies.sc-executor-common]
default-features = true
version = "0.43.0"

[dependencies.sp-runtime-interface]
default-features = true
version = "33.0.0"

[dependencies.sp-wasm-interface]
default-features = true
features = ["wasmtime"]
version = "24.0.0"

[dependencies.wasmtime]
default-features = false
features = [
"addr2line",
"cache",
"cranelift",
"demangle",
"gc",
"gc-null",
"parallel-compilation",
"pooling-allocator",
"profiling",
"runtime",
"std",
"threads",
]
# Quantus: bump 35.0.0 -> 36.0.13 for Apr 2026 RustSec advisories (no patched 35.x).
version = "36.0.13"

[dev-dependencies.cargo_metadata]
version = "0.15.4"

[dev-dependencies.codec]
default-features = true
package = "parity-scale-codec"
version = "3.7.5"

[dev-dependencies.paste]
default-features = true
version = "1.0.15"

[dev-dependencies.tempfile]
version = "3.8.1"

[dev-dependencies.wat]
version = "1.0.0"

[lints.clippy.all]
level = "allow"
priority = 0

[lints.clippy.bind_instead_of_map]
level = "allow"
priority = 2

[lints.clippy.borrowed-box]
level = "allow"
priority = 2

[lints.clippy.complexity]
level = "warn"
priority = 1

[lints.clippy.correctness]
level = "warn"
priority = 1

[lints.clippy.default_constructed_unit_structs]
level = "allow"
priority = 2

[lints.clippy.derivable_impls]
level = "allow"
priority = 2

[lints.clippy.eq_op]
level = "allow"
priority = 2

[lints.clippy.erasing_op]
level = "allow"
priority = 2

[lints.clippy.extra-unused-type-parameters]
level = "allow"
priority = 2

[lints.clippy.identity-op]
level = "allow"
priority = 2

[lints.clippy.if-same-then-else]
level = "allow"
priority = 2

[lints.clippy.needless-lifetimes]
level = "allow"
priority = 2

[lints.clippy.needless_option_as_deref]
level = "allow"
priority = 2

[lints.clippy.nonminimal-bool]
level = "allow"
priority = 2

[lints.clippy.option-map-unit-fn]
level = "allow"
priority = 2

[lints.clippy.stable_sort_primitive]
level = "allow"
priority = 2

[lints.clippy.too-many-arguments]
level = "allow"
priority = 2

[lints.clippy.type_complexity]
level = "allow"
priority = 2

[lints.clippy.unit_arg]
level = "allow"
priority = 2

[lints.clippy.unnecessary_cast]
level = "allow"
priority = 2

[lints.clippy.useless_conversion]
level = "allow"
priority = 2

[lints.clippy.while_immutable_condition]
level = "allow"
priority = 2

[lints.clippy.zero-prefixed-literal]
level = "allow"
priority = 2

[lints.rust.suspicious_double_ref_op]
level = "allow"
priority = 2

[lints.rust.unexpected_cfgs]
check-cfg = [
"cfg(enable_alloc_error_handler)",
"cfg(fuzzing)",
"cfg(ignore_flaky_test)",
"cfg(substrate_runtime)",
'cfg(build_opt_level, values("3"))',
'cfg(build_profile, values("debug", "release"))',
]
level = "warn"
priority = 0
60 changes: 60 additions & 0 deletions client/executor-wasmtime/Cargo.toml.orig

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions client/executor-wasmtime/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# sc-executor-wasmtime (vendored)

Vendored from crates.io `sc-executor-wasmtime` **0.43.0**, then patched to use
`wasmtime` **36.0.13** (was 35.0.0) so Apr 2026 RustSec advisories clear without
a full Substrate client bump.

Upstream bump reference: [paritytech/polkadot-sdk#11793](https://github.com/paritytech/polkadot-sdk/pull/11793).

WAT-focused unit tests are kept (stack limits, NaN canonicalization, memory
growth, precompiled artifacts, instantiation strategies). Cases that needed
the unpublished `sc-runtime-test` blob were rewritten as pure WAT fixtures.

License: GPL-3.0-or-later WITH Classpath-exception-2.0
Loading
Loading