diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b66f96299..c252ae34a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,4 +57,4 @@ jobs: git submodule update --init --recursive && SKIP_WASM_BUILD=1 cargo check --release - name: Test run: | - git submodule update --init --recursive && SKIP_WASM_BUILD=1 cargo nextest run --release + git submodule update --init --recursive && SKIP_WASM_BUILD=1 cargo nextest run --release --workspace --exclude webb-client diff --git a/Cargo.lock b/Cargo.lock index 74c93b43e..673f8a6de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -503,6 +503,16 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" +[[package]] +name = "async-attributes" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" +dependencies = [ + "quote", + "syn", +] + [[package]] name = "async-channel" version = "1.6.1" @@ -542,6 +552,7 @@ dependencies = [ "futures-lite", "num_cpus", "once_cell", + "tokio", ] [[package]] @@ -604,6 +615,7 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952" dependencies = [ + "async-attributes", "async-channel", "async-global-executor", "async-io", @@ -748,6 +760,15 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "beef" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bed554bd50246729a1ec158d08aa3235d1b69d94ad120ebe187e28894787e736" +dependencies = [ + "serde", +] + [[package]] name = "beefy-merkle-tree" version = "4.0.0-dev" @@ -761,10 +782,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto", - "sp-core", - "sp-runtime", - "sp-std", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -1086,6 +1107,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "chameleon" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12bd83544cd11113170ce1eee45383928f3f720bc8b305af18c2a3da3547e1ae" + [[package]] name = "chrono" version = "0.4.19" @@ -1202,11 +1229,11 @@ dependencies = [ "scale-info", "sp-consensus-aura", "sp-consensus-babe", - "sp-core", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keyring 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-wasm-builder", ] @@ -1348,7 +1375,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8" dependencies = [ - "sct", + "sct 0.6.1", ] [[package]] @@ -1392,9 +1419,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", ] @@ -1409,9 +1436,9 @@ dependencies = [ "polkadot-parachain", "polkadot-primitives", "sp-api", - "sp-runtime", - "sp-std", - "sp-trie", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -1440,6 +1467,41 @@ dependencies = [ "zeroize", ] +[[package]] +name = "darling" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b" +dependencies = [ + "darling_core", + "quote", + "syn", +] + [[package]] name = "data-encoding" version = "2.3.2" @@ -1741,7 +1803,7 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "scale-info", ] @@ -1814,12 +1876,12 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-io", - "sp-runtime", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-storage 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -1842,11 +1904,11 @@ dependencies = [ "sc-service", "serde", "serde_json", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime", - "sp-state-machine", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -1858,9 +1920,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-arithmetic", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-npos-elections", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -1872,11 +1934,11 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-tracing", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -1907,16 +1969,16 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-core-hashing-proc-macro", "sp-inherents", - "sp-io", - "sp-runtime", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-state-machine", - "sp-std", - "sp-tracing", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "tt-call", ] @@ -1964,11 +2026,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "sp-version", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", ] [[package]] @@ -1981,9 +2043,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -2127,8 +2189,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b" dependencies = [ "futures-io", - "rustls", - "webpki", + "rustls 0.19.1", + "webpki 0.21.4", ] [[package]] @@ -2497,13 +2559,19 @@ dependencies = [ "futures-util", "hyper", "log", - "rustls", - "rustls-native-certs", + "rustls 0.19.1", + "rustls-native-certs 0.5.0", "tokio", - "tokio-rustls", - "webpki", + "tokio-rustls 0.22.0", + "webpki 0.21.4", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.1.5" @@ -2766,7 +2834,7 @@ dependencies = [ "jsonrpc-server-utils", "log", "net2", - "parking_lot", + "parking_lot 0.11.2", "unicase", ] @@ -2781,7 +2849,7 @@ dependencies = [ "jsonrpc-server-utils", "log", "parity-tokio-ipc", - "parking_lot", + "parking_lot 0.11.2", "tower-service", ] @@ -2795,7 +2863,7 @@ dependencies = [ "jsonrpc-core", "lazy_static", "log", - "parking_lot", + "parking_lot 0.11.2", "rand 0.7.3", "serde", ] @@ -2829,10 +2897,78 @@ dependencies = [ "jsonrpc-server-utils", "log", "parity-ws", - "parking_lot", + "parking_lot 0.11.2", "slab", ] +[[package]] +name = "jsonrpsee" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05fd8cd6c6b1bbd06881d2cf88f1fc83cc36c98f2219090f839115fb4a956cb9" +dependencies = [ + "jsonrpsee-client-transport", + "jsonrpsee-core", +] + +[[package]] +name = "jsonrpsee-client-transport" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3303cdf246e6ab76e2866fb3d9acb6c76a068b1b28bd923a1b7a8122257ad7b5" +dependencies = [ + "futures 0.3.21", + "http", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project 1.0.10", + "rustls-native-certs 0.6.1", + "soketto", + "thiserror", + "tokio", + "tokio-rustls 0.23.2", + "tokio-util", + "tracing", + "webpki-roots 0.22.2", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f220b5a238dc7992b90f1144fbf6eaa585872c9376afe6fe6863ffead6191bf3" +dependencies = [ + "anyhow", + "arrayvec 0.7.2", + "async-trait", + "beef", + "futures-channel", + "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "soketto", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1b3f601bbbe45cd63f5407b6f7d7950e08a7d4f82aa699ff41a4a5e9e54df58" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + [[package]] name = "keccak" version = "0.1.0" @@ -2876,7 +3012,7 @@ checksum = "c3b6b85fc643f5acd0bffb2cc8a6d150209379267af0d41db72170021841f9f5" dependencies = [ "kvdb", "parity-util-mem", - "parking_lot", + "parking_lot 0.11.2", ] [[package]] @@ -2891,7 +3027,7 @@ dependencies = [ "num_cpus", "owning_ref", "parity-util-mem", - "parking_lot", + "parking_lot 0.11.2", "regex", "rocksdb", "smallvec", @@ -2976,7 +3112,7 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "multiaddr", - "parking_lot", + "parking_lot 0.11.2", "pin-project 1.0.10", "smallvec", "wasm-timer", @@ -3002,7 +3138,7 @@ dependencies = [ "multiaddr", "multihash 0.14.0", "multistream-select", - "parking_lot", + "parking_lot 0.11.2", "pin-project 1.0.10", "prost", "prost-build", @@ -3176,7 +3312,7 @@ dependencies = [ "libp2p-core", "log", "nohash-hasher", - "parking_lot", + "parking_lot 0.11.2", "rand 0.7.3", "smallvec", "unsigned-varint 0.7.1", @@ -3398,7 +3534,7 @@ dependencies = [ "rw-stream-sink", "soketto", "url 2.2.2", - "webpki-roots", + "webpki-roots 0.21.1", ] [[package]] @@ -3409,7 +3545,7 @@ checksum = "4e7362abb8867d7187e7e93df17f460d554c997fc5c8ac57dc1259057f6889af" dependencies = [ "futures 0.3.21", "libp2p-core", - "parking_lot", + "parking_lot 0.11.2", "thiserror", "yamux", ] @@ -3636,6 +3772,17 @@ dependencies = [ "libc", ] +[[package]] +name = "memory-db" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de006e09d04fc301a5f7e817b75aa49801c4479a8af753764416b085337ddcc5" +dependencies = [ + "hash-db", + "hashbrown 0.11.2", + "parity-util-mem", +] + [[package]] name = "memory-db" version = "0.28.0" @@ -3702,9 +3849,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.14" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2" dependencies = [ "libc", "log", @@ -3896,9 +4043,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-core", - "sp-runtime", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4086,10 +4233,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4104,10 +4251,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4121,9 +4268,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", ] @@ -4137,9 +4284,9 @@ dependencies = [ "scale-info", "serde", "serde_json", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4180,6 +4327,7 @@ dependencies = [ "frame-system", "frame-system-benchmarking", "hex", + "log", "orml-currencies", "orml-tokens", "orml-traits", @@ -4195,10 +4343,10 @@ dependencies = [ "rand 0.8.4", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "wasm-utils", "webb-primitives", ] @@ -4229,11 +4377,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4251,11 +4399,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", "xcm", ] @@ -4270,8 +4418,8 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4284,10 +4432,10 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-consensus-aura", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4300,10 +4448,10 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-authority-discovery", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4317,8 +4465,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-authorship", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4335,14 +4483,14 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-consensus-babe", "sp-consensus-vrf", - "sp-io", - "sp-runtime", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4356,8 +4504,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4371,8 +4519,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4387,8 +4535,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4410,10 +4558,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4427,10 +4575,10 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4444,10 +4592,10 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4463,10 +4611,10 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4480,10 +4628,10 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4497,9 +4645,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4515,12 +4663,12 @@ dependencies = [ "parity-scale-codec", "rand 0.7.3", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-npos-elections", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "static_assertions", "strum", ] @@ -4535,11 +4683,11 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-npos-elections", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4555,14 +4703,14 @@ dependencies = [ "pallet-session", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-core", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-finality-grandpa", - "sp-io", - "sp-runtime", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4586,10 +4734,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4604,12 +4752,12 @@ dependencies = [ "pallet-authorship", "parity-scale-codec", "scale-info", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-runtime", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4621,11 +4769,11 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-keyring", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keyring 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4652,10 +4800,10 @@ dependencies = [ "rand 0.8.4", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4680,6 +4828,7 @@ dependencies = [ "frame-system", "frame-system-benchmarking", "hex", + "log", "orml-currencies", "orml-tokens", "orml-traits", @@ -4691,10 +4840,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "wasm-utils", "webb-primitives", ] @@ -4711,10 +4860,10 @@ dependencies = [ "pallet-mmr-primitives", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4728,9 +4877,9 @@ dependencies = [ "parity-scale-codec", "serde", "sp-api", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4752,10 +4901,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4772,8 +4921,8 @@ dependencies = [ "sc-rpc", "sp-api", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4795,9 +4944,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4812,9 +4961,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4835,11 +4984,11 @@ dependencies = [ "serde", "similar-asserts", "sp-consensus-aura", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-fixed", ] @@ -4853,10 +5002,10 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4868,9 +5017,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4883,8 +5032,8 @@ dependencies = [ "parity-scale-codec", "safe-mix", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4898,9 +5047,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4915,13 +5064,13 @@ dependencies = [ "pallet-timestamp", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-staking", - "sp-std", - "sp-trie", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4936,10 +5085,10 @@ dependencies = [ "pallet-balances", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -4957,11 +5106,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-application-crypto", - "sp-io", - "sp-runtime", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -4984,9 +5133,9 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5001,9 +5150,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-inherents", - "sp-io", - "sp-runtime", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-timestamp", ] @@ -5022,11 +5171,11 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -5049,11 +5198,11 @@ dependencies = [ "pallet-treasury", "parity-scale-codec", "scale-info", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -5068,10 +5217,10 @@ dependencies = [ "scale-info", "serde", "smallvec", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5086,9 +5235,9 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-rpc", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5099,7 +5248,7 @@ dependencies = [ "pallet-transaction-payment", "parity-scale-codec", "sp-api", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5114,8 +5263,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5127,10 +5276,10 @@ dependencies = [ "frame-system", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5168,10 +5317,10 @@ dependencies = [ "rand 0.8.4", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -5184,14 +5333,15 @@ dependencies = [ "frame-support", "frame-system", "frame-system-benchmarking", + "log", "pallet-balances", "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", ] @@ -5205,8 +5355,8 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5250,10 +5400,10 @@ dependencies = [ "rand 0.8.4", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "webb-primitives", "xcm", "xcm-builder", @@ -5271,9 +5421,9 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", "xcm-executor", ] @@ -5292,7 +5442,7 @@ dependencies = [ "log", "lz4", "memmap2 0.2.3", - "parking_lot", + "parking_lot 0.11.2", "rand 0.8.4", "snap", ] @@ -5355,7 +5505,7 @@ dependencies = [ "impl-trait-for-tuples", "lru 0.6.6", "parity-util-mem-derive", - "parking_lot", + "parking_lot 0.11.2", "primitive-types 0.10.1", "smallvec", "winapi 0.3.9", @@ -5419,7 +5569,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.5", +] + +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.1", ] [[package]] @@ -5436,6 +5596,19 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "parking_lot_core" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + [[package]] name = "paste" version = "1.0.6" @@ -5609,9 +5782,9 @@ dependencies = [ "parity-scale-codec", "parity-util-mem", "scale-info", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5626,9 +5799,9 @@ dependencies = [ "polkadot-core-primitives", "scale-info", "serde", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5646,19 +5819,19 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-authority-discovery", "sp-consensus-slots", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-std", - "sp-trie", - "sp-version", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", ] [[package]] @@ -5694,14 +5867,14 @@ dependencies = [ "serde_derive", "slot-range-helper", "sp-api", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-io", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-npos-elections", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "static_assertions", "xcm", ] @@ -5714,8 +5887,8 @@ dependencies = [ "bs58", "parity-scale-codec", "polkadot-primitives", - "sp-std", - "sp-tracing", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -5746,14 +5919,14 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", "xcm-executor", ] @@ -5892,7 +6065,7 @@ dependencies = [ "fnv", "lazy_static", "memchr", - "parking_lot", + "parking_lot 0.11.2", "thiserror", ] @@ -6283,8 +6456,20 @@ dependencies = [ "base64", "log", "ring", - "sct", - "webpki", + "sct 0.6.1", + "webpki 0.21.4", +] + +[[package]] +name = "rustls" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" +dependencies = [ + "log", + "ring", + "sct 0.7.0", + "webpki 0.22.0", ] [[package]] @@ -6294,11 +6479,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" dependencies = [ "openssl-probe", - "rustls", + "rustls 0.19.1", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca9ebdfa27d3fc180e42879037b5338ab1c040c06affd00d8338598e7800943" +dependencies = [ + "openssl-probe", + "rustls-pemfile", "schannel", "security-framework", ] +[[package]] +name = "rustls-pemfile" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64", +] + [[package]] name = "rustversion" version = "1.0.6" @@ -6355,8 +6561,8 @@ version = "4.1.0-dev" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "log", - "sp-core", - "sp-wasm-interface", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-wasm-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -6380,9 +6586,9 @@ dependencies = [ "sp-api", "sp-authority-discovery", "sp-blockchain", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", "thiserror", ] @@ -6404,9 +6610,9 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", ] @@ -6420,10 +6626,10 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -6439,8 +6645,8 @@ dependencies = [ "sc-telemetry", "serde", "serde_json", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -6481,12 +6687,12 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core", - "sp-keyring", - "sp-keystore", - "sp-panic-handler", - "sp-runtime", - "sp-version", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keyring 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", "thiserror", "tiny-bip39", "tokio", @@ -6502,21 +6708,21 @@ dependencies = [ "hash-db", "log", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "sc-executor", "sc-transaction-pool-api", "sc-utils", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-database", - "sp-externalities", - "sp-keystore", - "sp-runtime", - "sp-state-machine", - "sp-storage", - "sp-trie", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-storage 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", ] @@ -6533,16 +6739,16 @@ dependencies = [ "log", "parity-db", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "sc-client-api", "sc-state-db", - "sp-arithmetic", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-blockchain", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-database", - "sp-runtime", - "sp-state-machine", - "sp-trie", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -6555,16 +6761,16 @@ dependencies = [ "futures-timer", "libp2p", "log", - "parking_lot", + "parking_lot 0.11.2", "sc-client-api", "sc-utils", "serde", "sp-api", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-runtime", - "sp-state-machine", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", "thiserror", ] @@ -6583,7 +6789,7 @@ dependencies = [ "num-rational 0.2.4", "num-traits", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "rand 0.7.3", "retain_mut", "sc-client-api", @@ -6595,19 +6801,19 @@ dependencies = [ "schnorrkel", "serde", "sp-api", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", "sp-consensus-vrf", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-io", - "sp-keystore", - "sp-runtime", - "sp-version", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", "substrate-prometheus-endpoint", "thiserror", ] @@ -6626,13 +6832,13 @@ dependencies = [ "sc-rpc-api", "serde", "sp-api", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-core", - "sp-keystore", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -6646,7 +6852,7 @@ dependencies = [ "sc-client-api", "sc-consensus", "sp-blockchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -6662,14 +6868,14 @@ dependencies = [ "sc-client-api", "sc-consensus", "sc-telemetry", - "sp-arithmetic", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-blockchain", "sp-consensus", "sp-consensus-slots", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-runtime", - "sp-state-machine", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-timestamp", "thiserror", ] @@ -6681,7 +6887,7 @@ source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2 dependencies = [ "sc-client-api", "sp-authorship", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -6695,20 +6901,20 @@ dependencies = [ "log", "lru 0.6.6", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "sc-executor-common", "sc-executor-wasmi", "sp-api", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-core-hashing-proc-macro", - "sp-externalities", - "sp-io", - "sp-panic-handler", - "sp-runtime-interface", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-tasks", - "sp-trie", - "sp-version", - "sp-wasm-interface", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", + "sp-wasm-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "wasmi", ] @@ -6720,10 +6926,10 @@ dependencies = [ "environmental", "parity-scale-codec", "sc-allocator", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-maybe-compressed-blob", "sp-serializer", - "sp-wasm-interface", + "sp-wasm-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", "wasm-instrument", "wasmi", @@ -6739,9 +6945,9 @@ dependencies = [ "sc-allocator", "sc-executor-common", "scoped-tls", - "sp-core", - "sp-runtime-interface", - "sp-wasm-interface", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-wasm-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "wasmi", ] @@ -6758,7 +6964,7 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "rand 0.8.4", "sc-block-builder", "sc-chain-spec", @@ -6771,14 +6977,14 @@ dependencies = [ "sc-utils", "serde_json", "sp-api", - "sp-application-crypto", - "sp-arithmetic", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-finality-grandpa", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", "thiserror", ] @@ -6802,8 +7008,8 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -6821,7 +7027,7 @@ dependencies = [ "sc-network", "sc-transaction-pool-api", "sp-blockchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -6831,11 +7037,11 @@ source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2 dependencies = [ "async-trait", "hex", - "parking_lot", + "parking_lot 0.11.2", "serde_json", - "sp-application-crypto", - "sp-core", - "sp-keystore", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -6863,7 +7069,7 @@ dependencies = [ "log", "lru 0.7.2", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "pin-project 1.0.10", "prost", "prost-build", @@ -6876,12 +7082,12 @@ dependencies = [ "serde", "serde_json", "smallvec", - "sp-arithmetic", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-blockchain", "sp-consensus", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-finality-grandpa", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", "thiserror", "unsigned-varint 0.6.0", @@ -6900,7 +7106,7 @@ dependencies = [ "log", "lru 0.7.2", "sc-network", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "substrate-prometheus-endpoint", "tracing", ] @@ -6920,15 +7126,15 @@ dependencies = [ "num_cpus", "once_cell", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "rand 0.7.3", "sc-client-api", "sc-network", "sc-utils", "sp-api", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-offchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "threadpool", "tracing", ] @@ -6966,7 +7172,7 @@ dependencies = [ "jsonrpc-pubsub", "log", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -6977,13 +7183,13 @@ dependencies = [ "serde_json", "sp-api", "sp-blockchain", - "sp-core", - "sp-keystore", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-offchain", "sp-rpc", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", - "sp-version", + "sp-version 4.0.0-dev", ] [[package]] @@ -6998,16 +7204,16 @@ dependencies = [ "jsonrpc-pubsub", "log", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "sc-chain-spec", "sc-transaction-pool-api", "serde", "serde_json", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-rpc", - "sp-runtime", - "sp-tracing", - "sp-version", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", "thiserror", ] @@ -7044,7 +7250,7 @@ dependencies = [ "log", "parity-scale-codec", "parity-util-mem", - "parking_lot", + "parking_lot 0.11.2", "pin-project 1.0.10", "rand 0.7.3", "sc-block-builder", @@ -7067,23 +7273,23 @@ dependencies = [ "serde", "serde_json", "sp-api", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-core", - "sp-externalities", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-keystore", - "sp-runtime", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", - "sp-state-machine", - "sp-storage", - "sp-tracing", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-storage 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-transaction-pool", "sp-transaction-storage-proof", - "sp-trie", - "sp-version", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", "substrate-prometheus-endpoint", "tempfile", "thiserror", @@ -7101,9 +7307,9 @@ dependencies = [ "parity-scale-codec", "parity-util-mem", "parity-util-mem-derive", - "parking_lot", + "parking_lot 0.11.2", "sc-client-api", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7124,7 +7330,7 @@ dependencies = [ "serde", "serde_json", "sp-blockchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -7137,7 +7343,7 @@ dependencies = [ "futures 0.3.21", "libp2p", "log", - "parking_lot", + "parking_lot 0.11.2", "pin-project 1.0.10", "rand 0.7.3", "serde", @@ -7158,7 +7364,7 @@ dependencies = [ "libc", "log", "once_cell", - "parking_lot", + "parking_lot 0.11.2", "regex", "rustc-hash", "sc-client-api", @@ -7167,10 +7373,10 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-rpc", - "sp-runtime", - "sp-tracing", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", "tracing", "tracing-log", @@ -7199,7 +7405,7 @@ dependencies = [ "log", "parity-scale-codec", "parity-util-mem", - "parking_lot", + "parking_lot 0.11.2", "retain_mut", "sc-client-api", "sc-transaction-pool-api", @@ -7207,9 +7413,9 @@ dependencies = [ "serde", "sp-api", "sp-blockchain", - "sp-core", - "sp-runtime", - "sp-tracing", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -7224,7 +7430,7 @@ dependencies = [ "log", "serde", "sp-blockchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -7236,7 +7442,7 @@ dependencies = [ "futures 0.3.21", "futures-timer", "lazy_static", - "parking_lot", + "parking_lot 0.11.2", "prometheus", ] @@ -7316,6 +7522,16 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "secrecy" version = "0.8.0" @@ -7589,8 +7805,8 @@ dependencies = [ "enumn", "parity-scale-codec", "paste", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7669,11 +7885,11 @@ dependencies = [ "log", "parity-scale-codec", "sp-api-proc-macro", - "sp-core", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-version", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", "thiserror", ] @@ -7689,6 +7905,34 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-application-crypto" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a11468fbf1d08502f95a69388b16e927a872df556085b5be7e5c55cdd3022c" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 4.0.0", + "sp-io 4.0.0", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-application-crypto" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69c8dfffb7a15ac2c802bc9ce972b8449c8ce0a15254ae4d77a012a3a8c278d1" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "sp-application-crypto" version = "5.0.0" @@ -7697,9 +7941,25 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-core", - "sp-io", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", +] + +[[package]] +name = "sp-arithmetic" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa92b9707afdaa807bcb985fcc70645ebbe6fbb2442620d61dc47e7f3553a7ae" +dependencies = [ + "integer-sqrt", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", ] [[package]] @@ -7712,8 +7972,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-debug-derive", - "sp-std", + "sp-debug-derive 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "static_assertions", ] @@ -7725,9 +7985,9 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto", - "sp-runtime", - "sp-std", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7738,8 +7998,8 @@ dependencies = [ "async-trait", "parity-scale-codec", "sp-inherents", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7750,8 +8010,8 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7763,12 +8023,12 @@ dependencies = [ "log", "lru 0.7.2", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "sp-api", "sp-consensus", "sp-database", - "sp-runtime", - "sp-state-machine", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -7782,12 +8042,12 @@ dependencies = [ "futures-timer", "log", "parity-scale-codec", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-runtime", - "sp-state-machine", - "sp-std", - "sp-version", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version 4.0.0-dev", "thiserror", ] @@ -7800,12 +8060,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-consensus", "sp-consensus-slots", "sp-inherents", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-timestamp", ] @@ -7820,15 +8080,15 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-consensus", "sp-consensus-slots", "sp-consensus-vrf", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-keystore", - "sp-runtime", - "sp-std", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-timestamp", ] @@ -7840,8 +8100,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-runtime", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7851,15 +8111,16 @@ source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2 dependencies = [ "parity-scale-codec", "schnorrkel", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] name = "sp-core" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8295f7e800feaa16453768efb63c3063401ec765590f8f6ac9fac808a790435e" dependencies = [ "base58", "bitflags", @@ -7879,7 +8140,7 @@ dependencies = [ "num-traits", "parity-scale-codec", "parity-util-mem", - "parking_lot", + "parking_lot 0.11.2", "primitive-types 0.10.1", "rand 0.7.3", "regex", @@ -7887,13 +8148,13 @@ dependencies = [ "schnorrkel", "secrecy", "serde", - "sha2 0.10.1", - "sp-core-hashing", - "sp-debug-derive", - "sp-externalities", - "sp-runtime-interface", - "sp-std", - "sp-storage", + "sha2 0.9.9", + "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.10.0", + "sp-runtime-interface 4.0.0", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 4.0.0", "ss58-registry", "substrate-bip39", "thiserror", @@ -7905,40 +8166,162 @@ dependencies = [ ] [[package]] -name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" +name = "sp-core" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e2a372e6c3a40464f490f76843dfc331d08e43f7672d73377c0458f5b5db7ed" dependencies = [ + "base58", + "bitflags", "blake2-rfc", "byteorder", + "dyn-clonable", + "ed25519-dalek", + "futures 0.3.21", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.2", + "primitive-types 0.10.1", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secrecy", + "serde", "sha2 0.10.1", - "sp-std", + "sp-core-hashing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39", "tiny-keccak", "twox-hash", + "wasmi", + "zeroize", ] [[package]] -name = "sp-core-hashing-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" -dependencies = [ - "proc-macro2", - "quote", - "sp-core-hashing", - "syn", -] - -[[package]] -name = "sp-database" -version = "4.0.0-dev" +name = "sp-core" +version = "5.0.0" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ - "kvdb", - "parking_lot", -] - -[[package]] -name = "sp-debug-derive" + "base58", + "bitflags", + "blake2-rfc", + "byteorder", + "dyn-clonable", + "ed25519-dalek", + "futures 0.3.21", + "hash-db", + "hash256-std-hasher", + "hex", + "impl-serde", + "lazy_static", + "libsecp256k1", + "log", + "merlin", + "num-traits", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.2", + "primitive-types 0.10.1", + "rand 0.7.3", + "regex", + "scale-info", + "schnorrkel", + "secrecy", + "serde", + "sha2 0.10.1", + "sp-core-hashing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-debug-derive 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-storage 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "ss58-registry", + "substrate-bip39", + "thiserror", + "tiny-bip39", + "tiny-keccak", + "twox-hash", + "wasmi", + "zeroize", +] + +[[package]] +name = "sp-core-hashing" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" +dependencies = [ + "blake2-rfc", + "byteorder", + "sha2 0.9.9", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tiny-keccak", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing" +version = "4.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" +dependencies = [ + "blake2-rfc", + "byteorder", + "sha2 0.10.1", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "tiny-keccak", + "twox-hash", +] + +[[package]] +name = "sp-core-hashing-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" +dependencies = [ + "proc-macro2", + "quote", + "sp-core-hashing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "syn", +] + +[[package]] +name = "sp-database" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" +dependencies = [ + "kvdb", + "parking_lot 0.11.2", +] + +[[package]] +name = "sp-debug-derive" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-debug-derive" version = "4.0.0" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ @@ -7947,6 +8330,30 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-externalities" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54226438dbff5ced9718b51eb44b7f38fe139c40a923a088275914519bf451d3" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 4.0.0", +] + +[[package]] +name = "sp-externalities" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54f0fe949490000a97f367dc2acf4d2e7d0473ec0e13ce1775d0804bb64d3c98" +dependencies = [ + "environmental", + "parity-scale-codec", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "sp-externalities" version = "0.11.0" @@ -7954,8 +8361,8 @@ source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2 dependencies = [ "environmental", "parity-scale-codec", - "sp-std", - "sp-storage", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-storage 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7969,11 +8376,11 @@ dependencies = [ "scale-info", "serde", "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-std", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -7984,12 +8391,62 @@ dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core", - "sp-runtime", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] +[[package]] +name = "sp-io" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe902ca84673ea25897b04f1bae4db2955a0e01105fc115df3cfd5447f78848" +dependencies = [ + "futures 0.3.21", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot 0.11.2", + "sp-core 4.0.0", + "sp-externalities 0.10.0", + "sp-keystore 0.10.0", + "sp-runtime-interface 4.0.0", + "sp-state-machine 0.10.0", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 4.0.0", + "sp-wasm-interface 4.0.0", + "tracing", + "tracing-core", +] + +[[package]] +name = "sp-io" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dece853333a36d405be49d72a5190c1aa3fa6fbc442a8f28c59b50c0351b21d6" +dependencies = [ + "futures 0.3.21", + "hash-db", + "libsecp256k1", + "log", + "parity-scale-codec", + "parking_lot 0.11.2", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-keystore 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-state-machine 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", + "tracing-core", +] + [[package]] name = "sp-io" version = "5.0.0" @@ -8000,31 +8457,77 @@ dependencies = [ "libsecp256k1", "log", "parity-scale-codec", - "parking_lot", - "sp-core", - "sp-externalities", - "sp-keystore", - "sp-runtime-interface", - "sp-state-machine", - "sp-std", - "sp-tracing", - "sp-trie", - "sp-wasm-interface", + "parking_lot 0.11.2", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-state-machine 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-wasm-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "tracing", "tracing-core", ] +[[package]] +name = "sp-keyring" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f356955c5757c8b7e966946e635613db9c8dc8d60da0b417effcd92b07ec4dee" +dependencies = [ + "lazy_static", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "strum", +] + [[package]] name = "sp-keyring" version = "5.0.0" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "lazy_static", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "strum", ] +[[package]] +name = "sp-keystore" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37621e7224fff35ca9eb235e3edfe0a4a556408a23901f5f4a23f7b435c0c66" +dependencies = [ + "async-trait", + "derive_more", + "futures 0.3.21", + "merlin", + "parity-scale-codec", + "parking_lot 0.11.2", + "schnorrkel", + "sp-core 4.0.0", + "sp-externalities 0.10.0", +] + +[[package]] +name = "sp-keystore" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3c3376dede1940014254f6d10c9fca20c4deb1fae930a98edfdab0190a06ed4" +dependencies = [ + "async-trait", + "futures 0.3.21", + "merlin", + "parity-scale-codec", + "parking_lot 0.11.2", + "schnorrkel", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror", +] + [[package]] name = "sp-keystore" version = "0.11.0" @@ -8034,11 +8537,11 @@ dependencies = [ "futures 0.3.21", "merlin", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "schnorrkel", "serde", - "sp-core", - "sp-externalities", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] @@ -8058,11 +8561,11 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-arithmetic", - "sp-core", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-npos-elections-solution-type", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -8082,8 +8585,19 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "sp-api", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", +] + +[[package]] +name = "sp-panic-handler" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" +dependencies = [ + "backtrace", + "lazy_static", + "regex", ] [[package]] @@ -8103,7 +8617,53 @@ source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2 dependencies = [ "rustc-hash", "serde", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", +] + +[[package]] +name = "sp-runtime" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c31cd604c0fc105f764ef77eb38a9d0bf71e7bd289f28fd09f32f7132c3c46f" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 4.0.0", + "sp-arithmetic 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 4.0.0", + "sp-io 4.0.0", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-runtime" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3772a765d076ac548c0c37f6d84dc8873bf64d0cfcf8b7b7322b5374d635ceff" +dependencies = [ + "either", + "hash256-std-hasher", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "parity-util-mem", + "paste", + "rand 0.7.3", + "scale-info", + "serde", + "sp-application-crypto 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-arithmetic 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-io 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -8121,11 +8681,47 @@ dependencies = [ "rand 0.7.3", "scale-info", "serde", - "sp-application-crypto", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-std", + "sp-application-crypto 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", +] + +[[package]] +name = "sp-runtime-interface" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e0176151f1195b386ddb4e07d716713e1e29f36b65c0e6e91fe354fc2cec84d" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types 0.10.1", + "sp-externalities 0.10.0", + "sp-runtime-interface-proc-macro 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 4.0.0", + "sp-tracing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 4.0.0", + "static_assertions", +] + +[[package]] +name = "sp-runtime-interface" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab1f6625996742e3e5c0e6a6a2b5c0db363e2c52f4a71ea6cd6d963a10a4bdd6" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "primitive-types 0.10.1", + "sp-externalities 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime-interface-proc-macro 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-storage 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-tracing 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-wasm-interface 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "static_assertions", ] [[package]] @@ -8136,15 +8732,28 @@ dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", "primitive-types 0.10.1", - "sp-externalities", - "sp-runtime-interface-proc-macro", - "sp-std", - "sp-storage", - "sp-tracing", - "sp-wasm-interface", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface-proc-macro 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-storage 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-tracing 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-wasm-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "static_assertions", ] +[[package]] +name = "sp-runtime-interface-proc-macro" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b58cc6060b2d2f35061db5b4172f4a47353c3f01a89f281699a6c3f05d1267a" +dependencies = [ + "Inflector", + "proc-macro-crate 1.1.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-runtime-interface-proc-macro" version = "4.0.0" @@ -8174,10 +8783,10 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-api", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -8187,8 +8796,56 @@ source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2 dependencies = [ "parity-scale-codec", "scale-info", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", +] + +[[package]] +name = "sp-state-machine" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3e3d9e8443f9d92348d779b06029603fbe536a59a05a0d8593ea2d3711c2330" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.2", + "rand 0.7.3", + "smallvec", + "sp-core 4.0.0", + "sp-externalities 0.10.0", + "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 4.0.0", + "thiserror", + "tracing", + "trie-db 0.22.6", + "trie-root 0.16.0", +] + +[[package]] +name = "sp-state-machine" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e66851fd082cccc6f66dddf6eda458f30766a3febd769f1b5592120aa8072fd" +dependencies = [ + "hash-db", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.2", + "rand 0.7.3", + "smallvec", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-externalities 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-panic-handler 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-trie 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror", + "tracing", + "trie-db 0.23.1", + "trie-root 0.17.0", ] [[package]] @@ -8200,25 +8857,59 @@ dependencies = [ "log", "num-traits", "parity-scale-codec", - "parking_lot", + "parking_lot 0.11.2", "rand 0.7.3", "smallvec", - "sp-core", - "sp-externalities", - "sp-panic-handler", - "sp-std", - "sp-trie", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-panic-handler 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", "tracing", - "trie-db", - "trie-root", + "trie-db 0.23.1", + "trie-root 0.17.0", ] +[[package]] +name = "sp-std" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" + [[package]] name = "sp-std" version = "4.0.0" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" +[[package]] +name = "sp-storage" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "851e1315a935cd5a0ce1bb6e41b0d611ac2370ede860d551f9f133007487043a" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sp-storage" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "838ec2a757a8e7b903684a71f649dfbd6449d91e3e5d93979fc8d2ee77d56fee" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "ref-cast", + "serde", + "sp-debug-derive 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "sp-storage" version = "5.0.0" @@ -8228,8 +8919,8 @@ dependencies = [ "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive", - "sp-std", + "sp-debug-derive 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -8238,11 +8929,11 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "log", - "sp-core", - "sp-externalities", - "sp-io", - "sp-runtime-interface", - "sp-std", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-externalities 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime-interface 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -8256,18 +8947,31 @@ dependencies = [ "parity-scale-codec", "sp-api", "sp-inherents", - "sp-runtime", - "sp-std", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "thiserror", ] +[[package]] +name = "sp-tracing" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4688fceac497cee7e9b72c387fef20fa517e2bf6a3bf52a4a45dcc9391d6201" +dependencies = [ + "parity-scale-codec", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tracing", + "tracing-core", + "tracing-subscriber", +] + [[package]] name = "sp-tracing" version = "4.0.0" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "parity-scale-codec", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "tracing", "tracing-core", "tracing-subscriber", @@ -8279,7 +8983,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "sp-api", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -8291,11 +8995,43 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-runtime", - "sp-std", - "sp-trie", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-trie 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", +] + +[[package]] +name = "sp-trie" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb344969de755877440fccb691860acedd565061774d289886ff9c690206cc0" +dependencies = [ + "hash-db", + "memory-db 0.27.0", + "parity-scale-codec", + "scale-info", + "sp-core 4.0.0", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "trie-db 0.22.6", + "trie-root 0.16.0", +] + +[[package]] +name = "sp-trie" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7ad44bbb93fb9af94ea9869ec13602884f7d2360c245377aed7c6c92c6834e" +dependencies = [ + "hash-db", + "memory-db 0.28.0", + "parity-scale-codec", + "scale-info", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "trie-db 0.23.1", + "trie-root 0.17.0", ] [[package]] @@ -8304,13 +9040,13 @@ version = "5.0.0" source = "git+https://github.com/paritytech/substrate.git?branch=master#dc4cf6c2c73ef5af9197b3e73fb590b1a045d93e" dependencies = [ "hash-db", - "memory-db", + "memory-db 0.28.0", "parity-scale-codec", "scale-info", - "sp-core", - "sp-std", - "trie-db", - "trie-root", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "trie-db 0.23.1", + "trie-root 0.17.0", ] [[package]] @@ -8324,9 +9060,26 @@ dependencies = [ "scale-info", "serde", "sp-core-hashing-proc-macro", - "sp-runtime", - "sp-std", - "sp-version-proc-macro", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-version-proc-macro 4.0.0-dev", + "thiserror", +] + +[[package]] +name = "sp-version" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b57388721427e65bdfadf636eebf444a6f84f7a05b56af2e7c6928cf554c618" +dependencies = [ + "impl-serde", + "parity-scale-codec", + "parity-wasm 0.42.2", + "scale-info", + "serde", + "sp-runtime 4.0.0", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version-proc-macro 4.0.0", "thiserror", ] @@ -8341,6 +9094,43 @@ dependencies = [ "syn", ] +[[package]] +name = "sp-version-proc-macro" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fcafba97053cfa9fa366e6b30fd0d0e9d15530c4a738efaa117a4d5707d147" +dependencies = [ + "parity-scale-codec", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sp-wasm-interface" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a5b0fe5b5bd3259e914edc35b33b6f7b4b0c803981290256e8ed75eecf1b27" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmi", +] + +[[package]] +name = "sp-wasm-interface" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60951479e2f26018c4c315a6f48956b9e2a3803953517bf8930e69b9a7a159df" +dependencies = [ + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-std 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "wasmi", +] + [[package]] name = "sp-wasm-interface" version = "5.0.0" @@ -8349,7 +9139,7 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "wasmi", ] @@ -8506,8 +9296,8 @@ dependencies = [ "sp-api", "sp-block-builder", "sp-blockchain", - "sp-core", - "sp-runtime", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", ] [[package]] @@ -8546,6 +9336,72 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +[[package]] +name = "subxt" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bd89701863271876fecd8e3abae2c639f7a6b94bf316468d14c33b198e6ecf9" +dependencies = [ + "async-trait", + "bitvec", + "chameleon", + "derivative", + "frame-metadata", + "futures 0.3.21", + "hex", + "jsonrpsee", + "log", + "num-traits", + "parity-scale-codec", + "scale-info", + "serde", + "serde_json", + "sp-core 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-runtime 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-version 4.0.0", + "subxt-macro", + "thiserror", +] + +[[package]] +name = "subxt-codegen" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a543285728058f878d45f652c1d3c6653dc126dffe678bc1fbe0021d82f853d8" +dependencies = [ + "async-trait", + "darling", + "frame-metadata", + "heck 0.3.3", + "parity-scale-codec", + "proc-macro-crate 0.1.5", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "syn", +] + +[[package]] +name = "subxt-macro" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4780536dce546910bd9fb691397434c4267885f25bc8870697cce5e210621966" +dependencies = [ + "async-trait", + "darling", + "frame-metadata", + "heck 0.3.3", + "parity-scale-codec", + "proc-macro-crate 0.1.5", + "proc-macro-error", + "proc-macro2", + "quote", + "scale-info", + "subxt-codegen", + "syn", +] + [[package]] name = "syn" version = "1.0.86" @@ -8717,30 +9573,55 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.16.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a" +checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" dependencies = [ "bytes 1.1.0", "libc", "memchr", - "mio 0.7.14", + "mio 0.8.0", "num_cpus", "once_cell", + "parking_lot 0.12.0", "pin-project-lite 0.2.8", "signal-hook-registry", + "socket2 0.4.4", + "tokio-macros", "winapi 0.3.9", ] +[[package]] +name = "tokio-macros" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tokio-rustls" version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ - "rustls", + "rustls 0.19.1", + "tokio", + "webpki 0.21.4", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" +dependencies = [ + "rustls 0.20.4", "tokio", - "webpki", + "webpki 0.22.0", ] [[package]] @@ -8762,6 +9643,7 @@ checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ "bytes 1.1.0", "futures-core", + "futures-io", "futures-sink", "log", "pin-project-lite 0.2.8", @@ -8857,7 +9739,7 @@ dependencies = [ "chrono", "lazy_static", "matchers", - "parking_lot", + "parking_lot 0.11.2", "regex", "serde", "serde_json", @@ -8870,6 +9752,19 @@ dependencies = [ "tracing-serde", ] +[[package]] +name = "trie-db" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa" +dependencies = [ + "hash-db", + "hashbrown 0.11.2", + "log", + "rustc-hex", + "smallvec", +] + [[package]] name = "trie-db" version = "0.23.1" @@ -8883,6 +9778,15 @@ dependencies = [ "smallvec", ] +[[package]] +name = "trie-root" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd" +dependencies = [ + "hash-db", +] + [[package]] name = "trie-root" version = "0.17.0" @@ -8928,7 +9832,7 @@ dependencies = [ "lazy_static", "log", "lru-cache", - "parking_lot", + "parking_lot 0.11.2", "resolv-conf", "smallvec", "thiserror", @@ -9277,7 +10181,7 @@ checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" dependencies = [ "futures 0.3.21", "js-sys", - "parking_lot", + "parking_lot 0.11.2", "pin-utils", "wasm-bindgen", "wasm-bindgen-futures", @@ -9344,6 +10248,31 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webb-client" +version = "0.1.0" +dependencies = [ + "ark-bls12-377", + "ark-bls12-381", + "ark-bn254", + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", + "arkworks-circuits", + "arkworks-gadgets", + "arkworks-utils", + "async-std", + "hex", + "parity-scale-codec", + "sp-keyring 5.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "subxt", + "tokio", + "wasm-utils", +] + [[package]] name = "webb-pedersen-hash" version = "0.1.0" @@ -9380,11 +10309,10 @@ dependencies = [ "hex-literal 0.3.4", "parity-scale-codec", "scale-info", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", - "tiny-keccak", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "tracing", ] @@ -9445,13 +10373,13 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-consensus-babe", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-finality-grandpa", "sp-inherents", - "sp-io", - "sp-keystore", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-keystore 0.11.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-offchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-timestamp", "sp-transaction-pool", @@ -9529,17 +10457,17 @@ dependencies = [ "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", - "sp-core", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-inherents", - "sp-io", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-npos-elections", "sp-offchain", - "sp-runtime", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-session", "sp-staking", - "sp-std", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "sp-transaction-pool", - "sp-version", + "sp-version 4.0.0-dev", "static_assertions", "substrate-wasm-builder", "webb-primitives", @@ -9555,13 +10483,32 @@ dependencies = [ "untrusted", ] +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "webpki-roots" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" dependencies = [ - "webpki", + "webpki 0.21.4", +] + +[[package]] +name = "webpki-roots" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449" +dependencies = [ + "webpki 0.22.0", ] [[package]] @@ -9633,6 +10580,49 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + +[[package]] +name = "windows_i686_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + +[[package]] +name = "windows_i686_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + [[package]] name = "winreg" version = "0.6.2" @@ -9694,10 +10684,10 @@ dependencies = [ "parity-scale-codec", "polkadot-parachain", "scale-info", - "sp-arithmetic", - "sp-io", - "sp-runtime", - "sp-std", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", "xcm-executor", ] @@ -9711,11 +10701,11 @@ dependencies = [ "impl-trait-for-tuples", "log", "parity-scale-codec", - "sp-arithmetic", - "sp-core", - "sp-io", - "sp-runtime", - "sp-std", + "sp-arithmetic 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-core 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-runtime 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", ] @@ -9741,8 +10731,8 @@ dependencies = [ "polkadot-core-primitives", "polkadot-parachain", "polkadot-runtime-parachains", - "sp-io", - "sp-std", + "sp-io 5.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", + "sp-std 4.0.0 (git+https://github.com/paritytech/substrate.git?branch=master)", "xcm", "xcm-executor", ] @@ -9756,7 +10746,7 @@ dependencies = [ "futures 0.3.21", "log", "nohash-hasher", - "parking_lot", + "parking_lot 0.11.2", "rand 0.8.4", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index 21a0111c4..ae2b587a0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,7 @@ codegen-units = 1 [workspace] members = [ + "client", "pallets/asset-registry", "pallets/hasher", "pallets/verifier", @@ -24,4 +25,4 @@ members = [ "open-runtime-module-library/utilities", ] -exclude = ["node", "runtime"] \ No newline at end of file +exclude = ["node", "runtime"] diff --git a/client/Cargo.toml b/client/Cargo.toml new file mode 100644 index 000000000..cdc2f564d --- /dev/null +++ b/client/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "webb-client" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +async-std = { version = "1.9.0", features = ["attributes", "tokio1"] } +subxt = { version = "0.17.0" } +codec = { package = "parity-scale-codec", version = "2.2.0", default-features = false, features = ["derive", "full", "bit-vec"] } + +[dev-dependencies] +sp-keyring = "5.0.0" +hex = "0.4" +wasm-utils = { version = "0.1.1" } + +ark-bls12-377 = {version = "^0.3.0", default-features = false, features = ["curve", "r1cs"]} +ark-bls12-381 = {version = "^0.3.0", default-features = false, features = ["curve"]} +ark-bn254 = {version = "^0.3.0", default-features = false, features = ["curve"]} +ark-crypto-primitives = {version = "^0.3.0", features = ["r1cs"], default-features = false} +ark-ec = {version = "^0.3.0", default-features = false} +ark-ff = {version = "^0.3.0", default-features = false} +ark-relations = {version = "^0.3.0", default-features = false} +ark-serialize = {version = "^0.3.0", default-features = false, features = ["derive"]} +ark-std = {version = "^0.3.0", default-features = false} + +arkworks-gadgets = { version = "0.4.19", default-features = false } +arkworks-circuits = { version = "0.4.19", default-features = false } +arkworks-utils = { version = "0.4.19", features = ["default_poseidon", "default_mimc"], default-features = false } + +tokio = { version = "1.17.0", features = ["full"] } diff --git a/client/metadata/webb_metadata.scale b/client/metadata/webb_metadata.scale new file mode 100644 index 000000000..a8eb5123a Binary files /dev/null and b/client/metadata/webb_metadata.scale differ diff --git a/client/src/lib.rs b/client/src/lib.rs new file mode 100644 index 000000000..168e721c3 --- /dev/null +++ b/client/src/lib.rs @@ -0,0 +1,11 @@ +use subxt::{BasicError, ClientBuilder, DefaultConfig, DefaultExtra}; + +#[subxt::subxt(runtime_metadata_path = "metadata/webb_metadata.scale")] +pub mod webb_runtime {} + +type WebbRuntimeApi = webb_runtime::RuntimeApi>; + +pub async fn client() -> Result { + let client = ClientBuilder::new().build().await?; + Ok(client.to_runtime_api()) +} diff --git a/client/tests/integration_tests.rs b/client/tests/integration_tests.rs new file mode 100644 index 000000000..1eab97160 --- /dev/null +++ b/client/tests/integration_tests.rs @@ -0,0 +1,216 @@ +use webb_client::{self, client, webb_runtime}; +use webb_runtime::runtime_types::webb_standalone_runtime::Element; + +use sp_keyring::AccountKeyring; +use subxt::{DefaultConfig, DefaultExtra, PairSigner}; + +mod utils; + +use codec::Encode; +use utils::{ + expect_event, setup_anchor_circuit, setup_anchor_leaf, setup_mixer_circuit, setup_mixer_leaf, + truncate_and_pad, verify_unchecked_raw, +}; + +#[tokio::test] +async fn test_mixer() -> Result<(), Box> { + let api = client().await?; + + let signer = PairSigner::, _>::new( + AccountKeyring::Alice.pair(), + ); + + let pk_bytes = include_bytes!( + "../../protocol-substrate-fixtures/mixer/bn254/x5/proving_key_uncompressed.bin" + ); + let vk_bytes = include_bytes!( + "../../protocol-substrate-fixtures/mixer/bn254/x5/verifying_key_uncompressed.bin" + ); + let recipient = AccountKeyring::Bob.to_account_id(); + let relayer = AccountKeyring::Bob.to_account_id(); + let recipient_bytes = truncate_and_pad(&recipient.encode()); + let relayer_bytes = truncate_and_pad(&relayer.encode()); + let fee = 0; + let refund = 0; + + let (leaf, secret, nullifier, nullifier_hash) = setup_mixer_leaf(); + + // Get the mixer transaction API + let mixer = api.tx().mixer_bn254(); + // Get the mixer storage API + let mt_storage = api.storage().merkle_tree_bn254(); + + let tree_id = 0; + let deposit_tx = mixer.deposit(tree_id, leaf); + let mut deposit_res = deposit_tx.sign_and_submit_then_watch(&signer).await?; + + expect_event::(&mut deposit_res).await?; + + let tree_metadata_res = mt_storage.trees(tree_id, None).await?; + let leaf_count = tree_metadata_res.unwrap().leaf_count; + + let mut leaves = Vec::new(); + for i in 0..leaf_count { + let leaf = mt_storage.leaves(tree_id, i, None).await?; + leaves.push(leaf.0.to_vec()); + } + + println!("Number of leaves in the tree: {:?}", leaves.len()); + println!("Leaf count: {:?}", leaf_count); + + let (proof_bytes, root) = setup_mixer_circuit( + leaves, + (leaf_count - 1) as u64, + secret.0.to_vec(), + nullifier.0.to_vec(), + recipient_bytes.clone(), + relayer_bytes.clone(), + fee, + refund, + pk_bytes.to_vec(), + ); + + // Fetch the root from chain storage and check if it equals the local root + let tree_metadata_res = mt_storage.trees(0, None).await?; + if let Some(tree_metadata) = tree_metadata_res { + let chain_root = tree_metadata.root; + assert_eq!(chain_root.0, root.0); + } + + println!("nullifier_hash: {:?} {}", nullifier_hash.0.to_vec(), nullifier_hash.0.len()); + println!("root: {:?} {}", root.0.to_vec(), root.0.len()); + println!("recipient_bytes: {:?} {}", recipient_bytes, recipient_bytes.len()); + println!("relayer_bytes: {:?} {}", relayer_bytes, relayer_bytes.len()); + println!("fee_bytes: {:?}", fee.encode()); + println!("refund_bytes: {:?}", refund.encode()); + + // Verify the proof locally + let mut pi = Vec::new(); + pi.push(nullifier_hash.0.to_vec()); + pi.push(root.0.to_vec()); + pi.push(recipient_bytes); + pi.push(relayer_bytes); + pi.push(fee.encode()); + pi.push(refund.encode()); + let res = verify_unchecked_raw::(&pi, &vk_bytes.to_vec(), &proof_bytes)?; + assert!(res, "Invalid proof"); + + // Do the withdraw + let withdraw_tx = + mixer.withdraw(tree_id, proof_bytes, root, nullifier_hash, recipient, relayer, fee, refund); + let mut withdraw_res = withdraw_tx.sign_and_submit_then_watch(&signer).await?; + + expect_event::(&mut withdraw_res).await?; + + Ok(()) +} + +#[tokio::test] +async fn test_anchor() -> Result<(), Box> { + let api = client().await?; + + let signer = PairSigner::, _>::new( + AccountKeyring::Alice.pair(), + ); + + let pk_bytes = include_bytes!( + "../../protocol-substrate-fixtures/fixed-anchor/bn254/x5/proving_key_uncompressed.bin" + ); + let vk_bytes = include_bytes!( + "../../protocol-substrate-fixtures/fixed-anchor/bn254/x5/verifying_key_uncompressed.bin" + ); + let recipient = AccountKeyring::Bob.to_account_id(); + let relayer = AccountKeyring::Bob.to_account_id(); + let recipient_bytes = truncate_and_pad(&recipient.encode()); + let relayer_bytes = truncate_and_pad(&relayer.encode()); + let commitment = Element([0u8; 32]); + let chain_id = 2199023256632u128; + let fee = 0; + let refund = 0; + + let (leaf, secret, nullifier, nullifier_hash) = setup_anchor_leaf(chain_id); + + // Get the anchor transaction API + let anchor = api.tx().anchor_bn254(); + // Get the anchor storage API + let mt_storage = api.storage().merkle_tree_bn254(); + + let tree_id = 4; + let deposit_tx = anchor.deposit(tree_id, leaf); + let mut deposit_res = deposit_tx.sign_and_submit_then_watch(&signer).await?; + + expect_event::(&mut deposit_res).await?; + + let tree_metadata_res = mt_storage.trees(tree_id, None).await?; + let tree_metadata = tree_metadata_res.unwrap(); + let leaf_count = tree_metadata.leaf_count; + let chain_root = tree_metadata.root; + + let mut leaves = Vec::new(); + for i in 0..leaf_count { + let leaf = mt_storage.leaves(tree_id, i, None).await?; + leaves.push(leaf.0.to_vec()); + } + + println!("Number of leaves in the tree: {:?}", leaves.len()); + println!("Leaf count: {:?}", leaf_count); + + let zero_root = Element([0u8; 32]); + let root_elemets = vec![chain_root, zero_root]; + let roots: Vec> = root_elemets.iter().map(|x| x.0.to_vec()).collect(); + + let (proof_bytes, root) = setup_anchor_circuit( + roots.clone(), + leaves, + (leaf_count - 1) as u64, + chain_id, + secret.0.to_vec(), + nullifier.0.to_vec(), + recipient_bytes.clone(), + relayer_bytes.clone(), + fee, + refund, + commitment.0.to_vec(), + pk_bytes.to_vec(), + ); + + println!("nullifier_hash: {:?} {}", nullifier_hash.0.to_vec(), nullifier_hash.0.len()); + println!("root: {:?} {}", root.0.to_vec(), root.0.len()); + println!("recipient_bytes: {:?} {}", recipient_bytes, recipient_bytes.len()); + println!("relayer_bytes: {:?} {}", relayer_bytes, relayer_bytes.len()); + println!("fee_bytes: {:?}", fee.encode()); + println!("refund_bytes: {:?}", refund.encode()); + + // Verify the proof locally + let mut pi = Vec::new(); + pi.push(chain_id.encode()); + pi.push(nullifier_hash.0.to_vec()); + for root in &roots { + pi.push(root.to_vec()); + } + pi.push(recipient_bytes); + pi.push(relayer_bytes); + pi.push(fee.encode()); + pi.push(refund.encode()); + pi.push(commitment.0.to_vec()); + let res = verify_unchecked_raw::(&pi, &vk_bytes.to_vec(), &proof_bytes)?; + assert!(res, "Invalid proof"); + + // Do the withdraw + let withdraw_tx = anchor.withdraw( + tree_id, + proof_bytes, + root_elemets, + nullifier_hash, + recipient, + relayer, + fee, + refund, + commitment, + ); + let mut withdraw_res = withdraw_tx.sign_and_submit_then_watch(&signer).await?; + + expect_event::(&mut withdraw_res).await?; + + Ok(()) +} diff --git a/client/tests/utils.rs b/client/tests/utils.rs new file mode 100644 index 000000000..9b889da4f --- /dev/null +++ b/client/tests/utils.rs @@ -0,0 +1,218 @@ +use core::fmt::Debug; +use subxt::{DefaultConfig, Event, TransactionProgress}; + +use webb_client::webb_runtime; +use webb_runtime::runtime_types::{sp_runtime::DispatchError, webb_standalone_runtime::Element}; + +use ark_ff::{BigInteger, PrimeField}; +pub use arkworks_circuits::setup::{ + anchor, + common::{prove, prove_unchecked, verify_unchecked_raw}, + mixer, +}; +use arkworks_utils::utils::common::Curve; + +// wasm-utils dependencies +use ark_std::{rand::thread_rng, UniformRand}; +use wasm_utils::{ + proof::{generate_proof_js, AnchorProofInput, JsProofInput, MixerProofInput, ProofInput}, + types::{Backend, Curve as WasmCurve}, +}; + +use ark_bn254::Fr as Bn254Fr; + +pub fn setup_mixer_leaf() -> (Element, Element, Element, Element) { + let rng = &mut thread_rng(); + let secret = Bn254Fr::rand(rng).into_repr().to_bytes_le(); + let nullifier = Bn254Fr::rand(rng).into_repr().to_bytes_le(); + let (leaf, nullifier_hash) = mixer::setup_leaf_with_privates_raw_x5_5::( + Curve::Bn254, + secret.clone(), + nullifier.clone(), + ) + .unwrap(); + + let leaf_array: [u8; 32] = leaf.try_into().unwrap(); + let leaf_element = Element(leaf_array); + + let secret_array: [u8; 32] = secret.try_into().unwrap(); + let secret_element = Element(secret_array); + + let nullifier_array: [u8; 32] = nullifier.try_into().unwrap(); + let nullifier_element = Element(nullifier_array); + + let nullifier_hash_array: [u8; 32] = nullifier_hash.try_into().unwrap(); + let nullifier_hash_element = Element(nullifier_hash_array); + + (leaf_element, secret_element, nullifier_element, nullifier_hash_element) +} + +pub fn setup_anchor_leaf(chain_id: u128) -> (Element, Element, Element, Element) { + let rng = &mut thread_rng(); + let secret = Bn254Fr::rand(rng).into_repr().to_bytes_le(); + let nullifier = Bn254Fr::rand(rng).into_repr().to_bytes_le(); + let (leaf, nullifier_hash) = anchor::setup_leaf_with_privates_raw_x5_4::( + Curve::Bn254, + secret.clone(), + nullifier.clone(), + chain_id, + ) + .unwrap(); + + let leaf_array: [u8; 32] = leaf.try_into().unwrap(); + let leaf_element = Element(leaf_array); + + let secret_array: [u8; 32] = secret.try_into().unwrap(); + let secret_element = Element(secret_array); + + let nullifier_array: [u8; 32] = nullifier.try_into().unwrap(); + let nullifier_element = Element(nullifier_array); + + let nullifier_hash_array: [u8; 32] = nullifier_hash.try_into().unwrap(); + let nullifier_hash_element = Element(nullifier_hash_array); + + (leaf_element, secret_element, nullifier_element, nullifier_hash_element) +} + +pub fn setup_mixer_circuit( + leaves: Vec>, + leaf_index: u64, + secret: Vec, + nullifier: Vec, + recipient_bytes: Vec, + relayer_bytes: Vec, + fee_value: u128, + refund_value: u128, + pk_bytes: Vec, +) -> ( + Vec, // proof bytes + Element, // root +) { + let mixer_proof_input = MixerProofInput { + exponentiation: 5, + width: 5, + curve: WasmCurve::Bn254, + backend: Backend::Arkworks, + secrets: secret, + nullifier, + recipient: recipient_bytes, + relayer: relayer_bytes, + pk: pk_bytes, + refund: refund_value, + fee: fee_value, + chain_id: 0, + leaves, + leaf_index, + }; + let js_proof_inputs = JsProofInput { inner: ProofInput::Mixer(mixer_proof_input) }; + let proof = generate_proof_js(js_proof_inputs).unwrap(); + + let root_array: [u8; 32] = proof.root.try_into().unwrap(); + let root_element = Element(root_array); + + (proof.proof, root_element) +} + +pub fn setup_anchor_circuit( + roots: Vec>, + leaves: Vec>, + leaf_index: u64, + chain_id: u128, + secret: Vec, + nullifier: Vec, + recipient_bytes: Vec, + relayer_bytes: Vec, + fee_value: u128, + refund_value: u128, + commitment_bytes: Vec, + pk_bytes: Vec, +) -> ( + Vec, // proof bytes + Element, // root +) { + let commitment: [u8; 32] = commitment_bytes.try_into().unwrap(); + let mixer_proof_input = AnchorProofInput { + exponentiation: 5, + width: 4, + curve: WasmCurve::Bn254, + backend: Backend::Arkworks, + secrets: secret, + nullifier, + recipient: recipient_bytes, + relayer: relayer_bytes, + pk: pk_bytes, + refund: refund_value, + fee: fee_value, + chain_id, + leaves, + leaf_index, + roots, + commitment, + }; + let js_proof_inputs = JsProofInput { inner: ProofInput::Anchor(mixer_proof_input) }; + let proof = generate_proof_js(js_proof_inputs).unwrap(); + + let root_array: [u8; 32] = proof.root.try_into().unwrap(); + let root_element = Element(root_array); + + (proof.proof, root_element) +} + +pub async fn expect_event( + tx_progess: &mut TransactionProgress<'_, DefaultConfig, DispatchError>, +) -> Result<(), Box> { + // Start printing on a fresh line + println!(""); + + while let Some(ev) = tx_progess.next_item().await { + let ev = ev?; + use subxt::TransactionStatus::*; + + // Made it into a block, but not finalized. + if let InBlock(details) = ev { + println!( + "Transaction {:?} made it into block {:?}", + details.extrinsic_hash(), + details.block_hash() + ); + + let events = details.wait_for_success().await?; + let transfer_event = events.find_first_event::()?; + + if let Some(event) = transfer_event { + println!("In block (but not finalized): {event:?}"); + } else { + println!("Failed to find Event"); + } + } + // Finalized! + else if let Finalized(details) = ev { + println!( + "Transaction {:?} is finalized in block {:?}", + details.extrinsic_hash(), + details.block_hash() + ); + + let events = details.wait_for_success().await?; + let transfer_event = events.find_first_event::()?; + + if let Some(event) = transfer_event { + println!("Transaction success: {event:?}"); + } else { + println!("Failed to find Balances::Transfer Event"); + } + } + // Report other statuses we see. + else { + println!("Current transaction status: {:?}", ev); + } + } + + Ok(()) +} + +pub fn truncate_and_pad(t: &[u8]) -> Vec { + let mut truncated_bytes = t[..20].to_vec(); + truncated_bytes.extend_from_slice(&[0u8; 12]); + truncated_bytes +} diff --git a/pallets/anchor/Cargo.toml b/pallets/anchor/Cargo.toml index bc5759a09..c268ca2a7 100644 --- a/pallets/anchor/Cargo.toml +++ b/pallets/anchor/Cargo.toml @@ -12,7 +12,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false, features = ["derive", "max-encoded-len"] } scale-info = { version = "1.0", default-features = false, features = ["derive"] } - +log = "0.4" frame-support = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } frame-system = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } diff --git a/pallets/anchor/src/lib.rs b/pallets/anchor/src/lib.rs index 91207eb0c..7f75ec998 100644 --- a/pallets/anchor/src/lib.rs +++ b/pallets/anchor/src/lib.rs @@ -191,6 +191,35 @@ pub mod pallet { AlreadyRevealedNullifier, } + #[pallet::genesis_config] + pub struct GenesisConfig, I: 'static = ()> { + // (asset_id, deposit_size, max_edges) + pub anchors: Vec<(CurrencyIdOf, BalanceOf, u32)>, + } + + #[cfg(feature = "std")] + impl, I: 'static> Default for GenesisConfig { + fn default() -> Self { + GenesisConfig:: { anchors: Vec::new() } + } + } + + #[pallet::genesis_build] + impl, I: 'static> GenesisBuild for GenesisConfig { + fn build(&self) { + self.anchors.iter().for_each(|(asset_id, deposit_size, max_edges)| { + let _ = as AnchorInterface<_>>::create( + None, + deposit_size.clone(), + 30, + *max_edges, + asset_id.clone(), + ) + .map_err(|_| panic!("Failed to create anchor")); + }) + } + } + #[pallet::hooks] impl, I: 'static> Hooks> for Pallet {} @@ -375,6 +404,13 @@ impl, I: 'static> AnchorInterface> for Pal let refund_bytes = refund.using_encoded(element_encoder); let chain_id_type_bytes = T::LinkableTree::get_chain_id_type().using_encoded(element_encoder); + + log::info!("nullifier_hash: {:?}", nullifier_hash.encode()); + log::info!("root: {:?}", roots[0].encode()); + log::info!("recipient_bytes: {:?}", recipient_bytes); + log::info!("relayer_bytes: {:?}", relayer_bytes); + log::info!("fee_bytes: {:?}", fee_bytes); + log::info!("refund_bytes: {:?}", refund_bytes); bytes.extend_from_slice(&chain_id_type_bytes); bytes.extend_from_slice(&nullifier_hash.encode()); for root in &roots { diff --git a/pallets/anchor/src/test_utils.rs b/pallets/anchor/src/test_utils.rs index 55be747b7..fbfba8a6c 100644 --- a/pallets/anchor/src/test_utils.rs +++ b/pallets/anchor/src/test_utils.rs @@ -34,7 +34,7 @@ pub fn setup_zk_circuit( relayer_bytes: Vec, commitment_bytes: Vec, pk_bytes: Vec, - src_chain_id: u64, + chain_id: u64, fee_value: u128, refund_value: u128, ) -> (ProofBytes, RootsElement, NullifierHashElement, LeafElement) { @@ -43,7 +43,7 @@ pub fn setup_zk_circuit( match curve { Curve::Bn254 => { let (secret, nullifier, leaf, nullifier_hash) = - setup_leaf_x5_4::(Curve::Bn254, src_chain_id.into(), rng).unwrap(); + setup_leaf_x5_4::(Curve::Bn254, chain_id.into(), rng).unwrap(); let leaves = vec![leaf.clone()]; let leaves_f = vec![Bn254Fr::from_le_bytes_mod_order(&leaf)]; let index = 0; @@ -57,7 +57,7 @@ pub fn setup_zk_circuit( let (proof, ..) = setup_proof_x5_4::( curve, - src_chain_id.into(), + chain_id.into(), secret, nullifier, leaves, @@ -91,7 +91,7 @@ pub fn setup_wasm_utils_zk_circuit( relayer_bytes: Vec, commitment_bytes: [u8; 32], pk_bytes: Vec, - src_chain_id: u128, + chain_id: u128, fee_value: u128, refund_value: u128, ) -> ( @@ -103,14 +103,15 @@ pub fn setup_wasm_utils_zk_circuit( match curve { Curve::Bn254 => { let note_secret = "7e0f4bfa263d8b93854772c94851c04b3a9aba38ab808a8d081f6f5be9758110b7147c395ee9bf495734e4703b1f622009c81712520de0bbd5e7a10237c7d829bf6bd6d0729cca778ed9b6fb172bbb12b01927258aca7e0a66fd5691548f8717"; + let raw = hex::decode(¬e_secret).unwrap(); - let secret = hex::decode(¬e_secret[0..32]).unwrap(); - let nullifier = hex::decode(¬e_secret[32..64]).unwrap(); + let secret = &raw[0..32]; + let nullifier = &raw[32..64]; let (leaf, _) = setup_leaf_with_privates_raw_x5_4::( curve, - secret.clone(), - nullifier.clone(), - src_chain_id, + secret.to_vec(), + nullifier.to_vec(), + chain_id, ) .unwrap(); @@ -130,14 +131,14 @@ pub fn setup_wasm_utils_zk_circuit( width: 4, curve: WasmCurve::Bn254, backend: Backend::Arkworks, - secrets: secret, - nullifier, + secrets: secret.to_vec(), + nullifier: nullifier.to_vec(), recipient: recipient_bytes, relayer: relayer_bytes, pk: pk_bytes, refund: refund_value, fee: fee_value, - chain_id: src_chain_id, + chain_id, leaves, leaf_index: index, roots: roots_raw.to_vec(), diff --git a/pallets/mixer/Cargo.toml b/pallets/mixer/Cargo.toml index 7bd42ecb0..3aa407358 100644 --- a/pallets/mixer/Cargo.toml +++ b/pallets/mixer/Cargo.toml @@ -12,7 +12,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = {package = "parity-scale-codec", version = "2.3.0", default-features = false, features = ["derive", "max-encoded-len"]} scale-info = {version = "1.0", default-features = false, features = ["derive"]} - +log = "0.4" webb-primitives = {path = "../../primitives", features = ["verifying"], default-features = false} frame-support = {default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master"} frame-system = {default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master"} diff --git a/pallets/mixer/src/lib.rs b/pallets/mixer/src/lib.rs index 1049be09a..6922b3145 100644 --- a/pallets/mixer/src/lib.rs +++ b/pallets/mixer/src/lib.rs @@ -156,7 +156,17 @@ pub mod pallet { #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event, I: 'static = ()> { /// New tree created - MixerCreation { tree_id: T::TreeId }, + MixerCreation { + tree_id: T::TreeId, + }, + Deposit { + tree_id: T::TreeId, + leaf: T::Element, + }, + Withdraw { + tree_id: T::TreeId, + recipient: T::AccountId, + }, } #[pallet::error] @@ -231,6 +241,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { let origin = ensure_signed(origin)?; >::deposit(origin, tree_id, leaf)?; + Self::deposit_event(Event::Deposit { tree_id, leaf }); Ok(().into()) } @@ -253,11 +264,12 @@ pub mod pallet { &proof_bytes, root, nullifier_hash, - recipient, + recipient.clone(), relayer, fee, refund, )?; + Self::deposit_event(Event::Withdraw { tree_id: id, recipient }); Ok(().into()) } } @@ -328,6 +340,12 @@ impl, I: 'static> let relayer_bytes = truncate_and_pad(&relayer.using_encoded(element_encoder)[..]); let fee_bytes = fee.using_encoded(element_encoder); let refund_bytes = refund.using_encoded(element_encoder); + log::info!("nullifier_hash: {:?}", nullifier_hash.encode()); + log::info!("root: {:?}", root.encode()); + log::info!("recipient_bytes: {:?}", recipient_bytes); + log::info!("relayer_bytes: {:?}", relayer_bytes); + log::info!("fee_bytes: {:?}", fee_bytes); + log::info!("refund_bytes: {:?}", refund_bytes); bytes.extend_from_slice(&nullifier_hash.encode()); bytes.extend_from_slice(&root.encode()); bytes.extend_from_slice(&recipient_bytes); @@ -339,6 +357,7 @@ impl, I: 'static> // arkworks_gadgets::setup::mixer::get_public_inputs bytes.extend_from_slice(& // fee.encode()); let result = T::Verifier::verify(&bytes, proof_bytes)?; + log::info!("verification result: {}", result); ensure!(result, Error::::InvalidWithdrawProof); >::Currency::transfer( diff --git a/pallets/mixer/src/test_utils.rs b/pallets/mixer/src/test_utils.rs index c9138b87b..b69409607 100644 --- a/pallets/mixer/src/test_utils.rs +++ b/pallets/mixer/src/test_utils.rs @@ -90,13 +90,14 @@ pub fn setup_wasm_utils_zk_circuit( match curve { Curve::Bn254 => { let note_secret = "7e0f4bfa263d8b93854772c94851c04b3a9aba38ab808a8d081f6f5be9758110b7147c395ee9bf495734e4703b1f622009c81712520de0bbd5e7a10237c7d829bf6bd6d0729cca778ed9b6fb172bbb12b01927258aca7e0a66fd5691548f8717"; + let raw = hex::decode(¬e_secret).unwrap(); - let secret = hex::decode(¬e_secret[0..32]).unwrap(); - let nullifier = hex::decode(¬e_secret[32..64]).unwrap(); + let secret = &raw[0..32]; + let nullifier = &raw[32..64]; let (leaf, _) = setup_leaf_with_privates_raw_x5_5::( curve, - secret.clone(), - nullifier.clone(), + secret.to_vec(), + nullifier.to_vec(), ) .unwrap(); @@ -107,8 +108,8 @@ pub fn setup_wasm_utils_zk_circuit( width: 5, curve: WasmCurve::Bn254, backend: Backend::Arkworks, - secrets: secret, - nullifier, + secrets: secret.to_vec(), + nullifier: nullifier.to_vec(), recipient: recipient_bytes, relayer: relayer_bytes, pk: pk_bytes, diff --git a/pallets/verifier/Cargo.toml b/pallets/verifier/Cargo.toml index ea2f06994..3dfca6358 100644 --- a/pallets/verifier/Cargo.toml +++ b/pallets/verifier/Cargo.toml @@ -14,7 +14,7 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false, features = ["derive", "max-encoded-len"] } scale-info = { version = "1.0", default-features = false, features = ["derive"] } - +log = "0.4" frame-support = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } frame-system = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "master" } diff --git a/pallets/verifier/src/lib.rs b/pallets/verifier/src/lib.rs index 6805002ef..0d2eac674 100644 --- a/pallets/verifier/src/lib.rs +++ b/pallets/verifier/src/lib.rs @@ -162,7 +162,8 @@ impl, I: 'static> VerifierModule for Pallet { ensure!(!params.is_empty(), Error::::ParametersNotInitialized); match T::Verifier::verify(public_inp_bytes, proof, ¶ms) { Ok(verified) => Ok(verified), - Err(_) => { + Err(e) => { + log::info!("{:?}", e); // TODO: Handle properly ensure!(false, Error::::VerifyError); Ok(false) diff --git a/primitives/Cargo.toml b/primitives/Cargo.toml index 62366ec84..6790e8a99 100644 --- a/primitives/Cargo.toml +++ b/primitives/Cargo.toml @@ -38,7 +38,6 @@ codec = { default-features = false, features = ["derive", "max-encoded-len"], pa ethabi = { version = "15.0.0", default-features = false } hex-literal = { version = "0.3.4", default-features = false } -tiny-keccak = { version = "2.0.2", default-features = false } [features] default = ["std", "hashing", "verifying", "field_ops"] diff --git a/primitives/src/hashing/ethereum.rs b/primitives/src/hashing/ethereum.rs index 39a1df1a0..bd953ffd9 100644 --- a/primitives/src/hashing/ethereum.rs +++ b/primitives/src/hashing/ethereum.rs @@ -1,23 +1,14 @@ use crate::hasher::InstanceHasher; use ark_crypto_primitives::Error; use ark_ff::{BigInteger, PrimeField}; +pub use sp_io::hashing::keccak_256; use sp_std::{marker::PhantomData, vec::Vec}; -use tiny_keccak::{Hasher, Keccak}; - -// TODO: Replace with arkworks-gadgets version -pub fn keccak256(input: &[u8]) -> Vec { - let mut hasher = Keccak::v256(); - hasher.update(input); - let mut res: [u8; 32] = [0; 32]; - hasher.finalize(&mut res); - res.to_vec() -} pub struct Keccak256Hasher(PhantomData); impl InstanceHasher for Keccak256Hasher { fn hash(data: &[u8], _: &[u8]) -> Result, Error> { - let res = keccak256(data); + let res = keccak_256(data); let field_res = F::from_le_bytes_mod_order(&res); let value = field_res.into_repr().to_bytes_le(); Ok(value) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index f302a7a08..9799c927d 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -774,6 +774,20 @@ impl pallet_verifier::Config for Runtime { type WeightInfo = pallet_verifier::weights::WebbWeight; } +impl pallet_verifier::Config for Runtime { + type Event = Event; + type ForceOrigin = frame_system::EnsureRoot; + type Verifier = ArkworksVerifierBn254; + type WeightInfo = pallet_verifier::weights::WebbWeight; +} + +impl pallet_verifier::Config for Runtime { + type Event = Event; + type ForceOrigin = frame_system::EnsureRoot; + type Verifier = ArkworksVerifierBls381; + type WeightInfo = pallet_verifier::weights::WebbWeight; +} + impl pallet_asset_registry::Config for Runtime { type AssetId = webb_primitives::AssetId; type AssetNativeLocation = (); @@ -817,7 +831,7 @@ impl pallet_mixer::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = MixerPalletId; type Tree = MerkleTreeBn254; - type Verifier = VerifierBn254; + type Verifier = MixerVerifierBn254; type WeightInfo = pallet_mixer::weights::WebbWeight; } @@ -827,7 +841,7 @@ impl pallet_mixer::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = MixerPalletId; type Tree = MerkleTreeBls381; - type Verifier = VerifierBls381; + type Verifier = MixerVerifierBls381; type WeightInfo = pallet_mixer::weights::WebbWeight; } @@ -866,7 +880,7 @@ impl pallet_anchor::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = AnchorPalletId; type PostDepositHook = (); - type Verifier = VerifierBn254; + type Verifier = AnchorVerifierBn254; type WeightInfo = pallet_anchor::weights::WebbWeight; } @@ -877,7 +891,7 @@ impl pallet_anchor::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = AnchorPalletId; type PostDepositHook = (); - type Verifier = VerifierBls381; + type Verifier = AnchorVerifierBls381; type WeightInfo = pallet_anchor::weights::WebbWeight; } @@ -1071,9 +1085,13 @@ construct_runtime!( Tokens: orml_tokens::{Pallet, Storage, Call, Event}, TokenWrapper: pallet_token_wrapper::{Pallet, Storage, Call, Event}, - // Verifier - VerifierBn254: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, - VerifierBls381: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + // Mixer Verifier + MixerVerifierBn254: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + MixerVerifierBls381: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + + // Anchor Verifier + AnchorVerifierBn254: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + AnchorVerifierBls381: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, // Merkle Tree MerkleTreeBn254: pallet_mt::::{Pallet, Call, Storage, Event, Config}, @@ -1279,8 +1297,10 @@ impl_runtime_apis! { list_benchmark!(list, extra, pallet_anchor, AnchorBls381); list_benchmark!(list, extra, pallet_mixer, MixerBn254); list_benchmark!(list, extra, pallet_mixer, MixerBls381); - list_benchmark!(list, extra, pallet_verifier, VerifierBn254); - list_benchmark!(list, extra, pallet_verifier, VerifierBls381); + list_benchmark!(list, extra, pallet_verifier, MixerVerifierBn254); + list_benchmark!(list, extra, pallet_verifier, MixerVerifierBls381); + list_benchmark!(list, extra, pallet_verifier, AnchorVerifierBn254); + list_benchmark!(list, extra, pallet_verifier, AnchorVerifierBls381); list_benchmark!(list, extra, pallet_token_wrapper, TokenWrapper); let storage_info = AllPalletsWithSystem::storage_info(); @@ -1322,8 +1342,10 @@ impl_runtime_apis! { add_benchmark!(params, batches, pallet_anchor, AnchorBls381); add_benchmark!(params, batches, pallet_mixer, MixerBn254); add_benchmark!(params, batches, pallet_mixer, MixerBls254); - add_benchmark!(params, batches, pallet_verifier, VerifierBn254); - add_benchmark!(params, batches, pallet_verifier, VerifierBls381); + add_benchmark!(params, batches, pallet_verifier, MixerVerifierBn254); + add_benchmark!(params, batches, pallet_verifier, MixerVerifierBls381); + add_benchmark!(params, batches, pallet_verifier, AnchorVerifierBn254); + add_benchmark!(params, batches, pallet_verifier, AnchorVerifierBls381); add_benchmark!(params, batches, pallet_token_wrapper, TokenWrapper); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) } diff --git a/scripts/run-integration.sh b/scripts/run-integration.sh new file mode 100755 index 000000000..9df6ee396 --- /dev/null +++ b/scripts/run-integration.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# get the path for this file +BASEDIR=$(dirname "$0") + +start_node() { + $BASEDIR/../scripts/run-standalone.sh > /dev/null 2>&1 +} + +run_tests() { + # release mode + # should find client/Cargo.toml no matter where its called from + # should run test in synchronous way to avoid race conditions + # output logs -- events from chain + sleep 2 + cargo test --release -p webb-client -- --test-threads 1 --nocapture +} + +start_node & run_tests \ No newline at end of file diff --git a/standalone/node/src/chain_spec.rs b/standalone/node/src/chain_spec.rs index 8f04f960c..f93dbb972 100644 --- a/standalone/node/src/chain_spec.rs +++ b/standalone/node/src/chain_spec.rs @@ -12,11 +12,12 @@ use sp_runtime::{ Perbill, }; use webb_runtime::{ - constants::currency::*, wasm_binary_unwrap, AssetRegistryConfig, AuthorityDiscoveryConfig, - BabeConfig, Block, CouncilConfig, DemocracyConfig, ElectionsConfig, GenesisConfig, - GrandpaConfig, HasherBls381Config, HasherBn254Config, ImOnlineConfig, IndicesConfig, - MerkleTreeBls381Config, MerkleTreeBn254Config, MixerBn254Config, SessionConfig, StakerStatus, - StakingConfig, SudoConfig, VerifierBls381Config, VerifierBn254Config, + constants::currency::*, wasm_binary_unwrap, AnchorBn254Config, AnchorVerifierBls381Config, + AnchorVerifierBn254Config, AssetRegistryConfig, AuthorityDiscoveryConfig, BabeConfig, Block, + CouncilConfig, DemocracyConfig, ElectionsConfig, GenesisConfig, GrandpaConfig, + HasherBls381Config, HasherBn254Config, ImOnlineConfig, IndicesConfig, MerkleTreeBls381Config, + MerkleTreeBn254Config, MixerBn254Config, MixerVerifierBls381Config, MixerVerifierBn254Config, + SessionConfig, StakerStatus, StakingConfig, SudoConfig, }; // ImOnline consensus authority. @@ -105,7 +106,14 @@ pub fn webb_development_config() -> Result { get_account_id_from_seed::("Eve//stash"), get_account_id_from_seed::("Ferdie//stash"), ], - vec![], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + ], get_account_id_from_seed::("Alice"), ) }, @@ -145,7 +153,14 @@ pub fn webb_local_testnet_config() -> Result { get_account_id_from_seed::("Eve//stash"), get_account_id_from_seed::("Ferdie//stash"), ], - vec![], + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + ], get_account_id_from_seed::("Alice"), ) }, @@ -186,13 +201,21 @@ fn testnet_genesis( log::info!("BLS381 x5 w3 params"); let bls381_x5_3_params = setup_params_x5_3::(curve_bls381); - log::info!("Verifier params"); - let verifier_params = { + log::info!("Verifier params for mixer"); + let mixer_verifier_bn254_params = { let vk_bytes = include_bytes!("../../../protocol-substrate-fixtures/mixer/bn254/x5/verifying_key.bin"); vk_bytes.to_vec() }; + log::info!("Verifier params for anchor"); + let anchor_verifier_bn254_params = { + let vk_bytes = include_bytes!( + "../../../protocol-substrate-fixtures/fixed-anchor/bn254/x5/verifying_key.bin" + ); + vk_bytes.to_vec() + }; + let mut endowed_accounts: Vec = endowed_accounts; // endow all authorities and nominators. initial_authorities @@ -281,11 +304,22 @@ fn testnet_genesis( parameters: Some(bls381_x5_3_params.to_bytes()), phantom: Default::default(), }, - verifier_bn_254: VerifierBn254Config { - parameters: Some(verifier_params), + mixer_verifier_bn_254: MixerVerifierBn254Config { + parameters: Some(mixer_verifier_bn254_params), + phantom: Default::default(), + }, + mixer_verifier_bls_381: MixerVerifierBls381Config { + parameters: None, + phantom: Default::default(), + }, + anchor_verifier_bn_254: AnchorVerifierBn254Config { + parameters: Some(anchor_verifier_bn254_params), + phantom: Default::default(), + }, + anchor_verifier_bls_381: AnchorVerifierBls381Config { + parameters: None, phantom: Default::default(), }, - verifier_bls_381: VerifierBls381Config { parameters: None, phantom: Default::default() }, merkle_tree_bn_254: MerkleTreeBn254Config { phantom: Default::default(), default_hashes: None, @@ -297,5 +331,8 @@ fn testnet_genesis( mixer_bn_254: MixerBn254Config { mixers: vec![(0, 10 * UNITS), (0, 100 * UNITS), (0, 1000 * UNITS)], }, + anchor_bn_254: AnchorBn254Config { + anchors: vec![(0, 10 * UNITS, 2), (0, 100 * UNITS, 2), (0, 1000 * UNITS, 2)], + }, } } diff --git a/standalone/runtime/src/lib.rs b/standalone/runtime/src/lib.rs index 3bc5122f3..47872bc35 100644 --- a/standalone/runtime/src/lib.rs +++ b/standalone/runtime/src/lib.rs @@ -1141,6 +1141,20 @@ impl pallet_verifier::Config for Runtime { type WeightInfo = pallet_verifier::weights::WebbWeight; } +impl pallet_verifier::Config for Runtime { + type Event = Event; + type ForceOrigin = frame_system::EnsureRoot; + type Verifier = ArkworksVerifierBn254; + type WeightInfo = pallet_verifier::weights::WebbWeight; +} + +impl pallet_verifier::Config for Runtime { + type Event = Event; + type ForceOrigin = frame_system::EnsureRoot; + type Verifier = ArkworksVerifierBls381; + type WeightInfo = pallet_verifier::weights::WebbWeight; +} + impl pallet_asset_registry::Config for Runtime { type AssetId = webb_primitives::AssetId; type AssetNativeLocation = (); @@ -1184,7 +1198,7 @@ impl pallet_mixer::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = MixerPalletId; type Tree = MerkleTreeBn254; - type Verifier = VerifierBn254; + type Verifier = MixerVerifierBn254; type WeightInfo = pallet_mixer::weights::WebbWeight; } @@ -1194,7 +1208,7 @@ impl pallet_mixer::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = MixerPalletId; type Tree = MerkleTreeBls381; - type Verifier = VerifierBls381; + type Verifier = MixerVerifierBls381; type WeightInfo = pallet_mixer::weights::WebbWeight; } @@ -1233,7 +1247,7 @@ impl pallet_anchor::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = AnchorPalletId; type PostDepositHook = (); - type Verifier = VerifierBn254; + type Verifier = AnchorVerifierBn254; type WeightInfo = pallet_anchor::weights::WebbWeight; } @@ -1244,7 +1258,7 @@ impl pallet_anchor::Config for Runtime { type NativeCurrencyId = NativeCurrencyId; type PalletId = AnchorPalletId; type PostDepositHook = (); - type Verifier = VerifierBls381; + type Verifier = AnchorVerifierBls381; type WeightInfo = pallet_anchor::weights::WebbWeight; } @@ -1346,9 +1360,13 @@ construct_runtime!( Tokens: orml_tokens::{Pallet, Storage, Call, Event}, TokenWrapper: pallet_token_wrapper::{Pallet, Storage, Call, Event}, - // Verifier - VerifierBn254: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, - VerifierBls381: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + // Mixer Verifier + MixerVerifierBn254: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + MixerVerifierBls381: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + + // Anchor Verifier + AnchorVerifierBn254: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, + AnchorVerifierBls381: pallet_verifier::::{Pallet, Call, Storage, Event, Config}, // Merkle Tree MerkleTreeBn254: pallet_mt::::{Pallet, Call, Storage, Event, Config}, @@ -1363,7 +1381,7 @@ construct_runtime!( MixerBls381: pallet_mixer::::{Pallet, Call, Storage, Event}, // Anchor - AnchorBn254: pallet_anchor::::{Pallet, Call, Storage, Event}, + AnchorBn254: pallet_anchor::::{Pallet, Call, Storage, Event, Config}, AnchorBls381: pallet_anchor::::{Pallet, Call, Storage, Event}, // Anchor Handler @@ -1639,8 +1657,10 @@ impl_runtime_apis! { list_benchmark!(list, extra, pallet_anchor, AnchorBls381); list_benchmark!(list, extra, pallet_mixer, MixerBn254); list_benchmark!(list, extra, pallet_mixer, MixerBls381); - list_benchmark!(list, extra, pallet_verifier, VerifierBn254); - list_benchmark!(list, extra, pallet_verifier, VerifierBls381); + list_benchmark!(list, extra, pallet_verifier, MixerVerifierBn254); + list_benchmark!(list, extra, pallet_verifier, MixerVerifierBls381); + list_benchmark!(list, extra, pallet_verifier, AnchorVerifierBn254); + list_benchmark!(list, extra, pallet_verifier, AnchorVerifierBls381); list_benchmark!(list, extra, pallet_token_wrapper, TokenWrapper); let storage_info = AllPalletsWithSystem::storage_info(); @@ -1681,8 +1701,10 @@ impl_runtime_apis! { add_benchmark!(params, batches, pallet_anchor, AnchorBls381); add_benchmark!(params, batches, pallet_mixer, MixerBn254); add_benchmark!(params, batches, pallet_mixer, MixerBls254); - add_benchmark!(params, batches, pallet_verifier, VerifierBn254); - add_benchmark!(params, batches, pallet_verifier, VerifierBls381); + add_benchmark!(params, batches, pallet_verifier, MixerVerifierBn254); + add_benchmark!(params, batches, pallet_verifier, MixerVerifierBls381); + add_benchmark!(params, batches, pallet_verifier, AnchorVerifierBls381); + add_benchmark!(params, batches, pallet_verifier, AnchorMixerVerifierBn254); add_benchmark!(params, batches, pallet_token_wrapper, TokenWrapper); if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }