--- a/.gitignore +++ b/.gitignore @@ -12,4 +12,8 @@ /.idea/ -tests/.vscode \ No newline at end of file +tests/.vscode +cumulus-parachain/ +*genesis +*wasm +tmp/ \ No newline at end of file --- a/Cargo.lock +++ b/Cargo.lock @@ -464,7 +464,7 @@ [[package]] name = "beefy-gadget" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=rococo-v1#b0e5f2da52cc9bc9804a23e111d003413b268faf" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459" dependencies = [ "beefy-primitives", "futures 0.3.14", @@ -478,6 +478,7 @@ "sc-network-gossip", "sp-api", "sp-application-crypto", + "sp-arithmetic", "sp-blockchain", "sp-consensus", "sp-core", @@ -491,7 +492,7 @@ [[package]] name = "beefy-gadget-rpc" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=rococo-v1#b0e5f2da52cc9bc9804a23e111d003413b268faf" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -512,7 +513,7 @@ [[package]] name = "beefy-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=rococo-v1#b0e5f2da52cc9bc9804a23e111d003413b268faf" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459" dependencies = [ "parity-scale-codec", "sp-api", @@ -692,6 +693,114 @@ ] [[package]] +name = "bp-header-chain" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "finality-grandpa", + "frame-support", + "parity-scale-codec", + "serde", + "sp-core", + "sp-finality-grandpa", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-messages" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "bp-runtime", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-std", +] + +[[package]] +name = "bp-polkadot-core" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "bp-messages", + "bp-runtime", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "bp-rococo" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-polkadot-core", + "bp-runtime", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] +name = "bp-runtime" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "frame-support", + "hash-db", + "num-traits", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", +] + +[[package]] +name = "bp-test-utils" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "bp-header-chain", + "ed25519-dalek", + "finality-grandpa", + "parity-scale-codec", + "sp-application-crypto", + "sp-finality-grandpa", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "bp-wococo" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "bp-header-chain", + "bp-messages", + "bp-polkadot-core", + "bp-runtime", + "parity-scale-codec", + "sp-api", + "sp-runtime", + "sp-std", + "sp-version", +] + +[[package]] name = "bs58" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1242,7 +1351,7 @@ [[package]] name = "cumulus-client-cli" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "sc-cli", "sc-service", @@ -1252,65 +1361,68 @@ [[package]] name = "cumulus-client-collator" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-primitives-core", "futures 0.3.14", "parity-scale-codec", - "parking_lot 0.9.0", + "parking_lot 0.10.2", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", "sc-client-api", + "sp-api", "sp-consensus", "sp-core", "sp-io", "sp-runtime", - "sp-state-machine", "tracing", ] [[package]] -name = "cumulus-client-consensus-common" +name = "cumulus-client-consensus-aura" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "async-trait", - "dyn-clone", + "cumulus-client-consensus-common", + "cumulus-primitives-core", "futures 0.3.14", "parity-scale-codec", - "polkadot-primitives", - "polkadot-runtime", + "parking_lot 0.10.2", + "polkadot-service", "sc-client-api", + "sc-consensus-aura", + "sc-consensus-slots", + "sc-telemetry", "sp-api", + "sp-application-crypto", "sp-block-builder", "sp-blockchain", "sp-consensus", + "sp-consensus-aura", "sp-core", "sp-inherents", + "sp-keystore", "sp-runtime", - "sp-trie", "substrate-prometheus-endpoint", - "tokio 0.1.22", "tracing", ] [[package]] -name = "cumulus-client-consensus-relay-chain" +name = "cumulus-client-consensus-common" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "async-trait", - "cumulus-client-consensus-common", - "cumulus-primitives-core", - "cumulus-primitives-parachain-inherent", + "dyn-clone", "futures 0.3.14", "parity-scale-codec", - "parking_lot 0.9.0", - "polkadot-service", + "polkadot-primitives", + "polkadot-runtime", "sc-client-api", "sp-api", "sp-block-builder", @@ -1319,6 +1431,7 @@ "sp-core", "sp-inherents", "sp-runtime", + "sp-trie", "substrate-prometheus-endpoint", "tracing", ] @@ -1326,7 +1439,7 @@ [[package]] name = "cumulus-client-network" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "derive_more", "futures 0.3.14", @@ -1348,19 +1461,48 @@ ] [[package]] +name = "cumulus-client-pov-recovery" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" +dependencies = [ + "cumulus-primitives-core", + "futures 0.3.14", + "futures-timer 3.0.2", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-service", + "polkadot-statement-table", + "rand 0.8.3", + "sc-client-api", + "sp-api", + "sp-consensus", + "sp-core", + "sp-maybe-compressed-blob", + "sp-runtime", + "tracing", +] + +[[package]] name = "cumulus-client-service" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-client-collator", "cumulus-client-consensus-common", + "cumulus-client-pov-recovery", "cumulus-primitives-core", - "futures 0.3.14", "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-overseer", "polkadot-primitives", "polkadot-service", "sc-chain-spec", "sc-client-api", + "sc-consensus-babe", "sc-service", "sc-telemetry", "sc-tracing", @@ -1373,9 +1515,45 @@ ] [[package]] +name = "cumulus-pallet-aura-ext" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" +dependencies = [ + "frame-executive", + "frame-support", + "frame-system", + "pallet-aura", + "parity-scale-codec", + "serde", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "cumulus-pallet-dmp-queue" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "rand 0.8.3", + "rand_chacha 0.3.0", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] name = "cumulus-pallet-parachain-system" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-parachain-inherent", @@ -1405,13 +1583,14 @@ [[package]] name = "cumulus-pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", "serde", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -1420,7 +1599,7 @@ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1438,7 +1617,7 @@ [[package]] name = "cumulus-primitives-core" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1446,6 +1625,7 @@ "polkadot-core-primitives", "polkadot-parachain", "polkadot-primitives", + "sp-api", "sp-runtime", "sp-std", "sp-trie", @@ -1455,10 +1635,12 @@ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ + "async-trait", "cumulus-primitives-core", "parity-scale-codec", + "polkadot-service", "sc-client-api", "sp-api", "sp-core", @@ -1473,7 +1655,7 @@ [[package]] name = "cumulus-primitives-utility" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -1759,9 +1941,9 @@ [[package]] name = "environmental" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6576a1755ddffd988788025e75bce9e74b018f7cc226198fe931d077911c6d7e" +checksum = "68b91989ae21441195d7d9b9993a2f9295c7e1a8c96255d8b729accddc124797" [[package]] name = "erased-serde" @@ -1968,7 +2150,7 @@ [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", ] @@ -1986,7 +2168,7 @@ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -2005,7 +2187,7 @@ [[package]] name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "Inflector", "chrono", @@ -2028,7 +2210,7 @@ [[package]] name = "frame-election-provider-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -2041,7 +2223,7 @@ [[package]] name = "frame-executive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -2056,7 +2238,7 @@ [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "serde", @@ -2067,7 +2249,7 @@ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "bitflags", "frame-metadata", @@ -2093,7 +2275,7 @@ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2105,7 +2287,7 @@ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -2117,7 +2299,7 @@ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro2", "quote", @@ -2127,7 +2309,7 @@ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -2144,7 +2326,7 @@ [[package]] name = "frame-system-benchmarking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -2158,7 +2340,7 @@ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-api", @@ -2167,7 +2349,7 @@ [[package]] name = "frame-try-runtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "parity-scale-codec", @@ -2545,14 +2727,14 @@ [[package]] name = "handlebars" -version = "3.5.4" +version = "3.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "580b6f551b29a3a02436318aed09ba1c58eea177dc49e39beac627ad356730a5" +checksum = "4498fc115fa7d34de968184e473529abb40eeb6be8bc5f7faba3d08c316cb3e3" dependencies = [ "log", "pest", "pest_derive", - "quick-error 2.0.0", + "quick-error 2.0.1", "serde", "serde_json", ] @@ -3143,9 +3325,9 @@ [[package]] name = "jsonrpsee-http-client" -version = "0.2.0-alpha.5" +version = "0.2.0-alpha.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e3a49473ea266be8e9f23e20a7bfa4349109b42319d72cc0b8a101e18fa6466" +checksum = "2737440f37efa10e5ef7beeec43d059d29dc92640978be21fcdcef481a2edb0d" dependencies = [ "async-trait", "fnv", @@ -3162,9 +3344,9 @@ [[package]] name = "jsonrpsee-proc-macros" -version = "0.2.0-alpha.5" +version = "0.2.0-alpha.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0cbaee9ca6440e191545a68c7bf28db0ff918359a904e37a6e7cf7edd132f5a" +checksum = "5784ee8bb31988fa2c7a755fe31b0e21aa51894a67e5c99b6d4470f0253bf31a" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -3218,8 +3400,8 @@ [[package]] name = "kusama-runtime" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-primitives", "bitvec", @@ -3238,6 +3420,7 @@ "pallet-democracy", "pallet-election-provider-multi-phase", "pallet-elections-phragmen", + "pallet-gilt", "pallet-grandpa", "pallet-identity", "pallet-im-online", @@ -3254,7 +3437,7 @@ "pallet-session", "pallet-society", "pallet-staking", - "pallet-staking-reward-curve", + "pallet-staking-reward-fn", "pallet-timestamp", "pallet-tips", "pallet-transaction-payment", @@ -3262,14 +3445,17 @@ "pallet-treasury", "pallet-utility", "pallet-vesting", + "pallet-xcm", "parity-scale-codec", "polkadot-primitives", "polkadot-runtime-common", + "polkadot-runtime-parachains", "rustc-hex", "serde", "serde_derive", "smallvec 1.6.1", "sp-api", + "sp-arithmetic", "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", @@ -3286,6 +3472,9 @@ "sp-version", "static_assertions", "substrate-wasm-builder 3.0.0", + "xcm", + "xcm-builder", + "xcm-executor", ] [[package]] @@ -4054,7 +4243,7 @@ [[package]] name = "metered-channel" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "derive_more", "futures 0.3.14", @@ -4316,10 +4505,12 @@ dependencies = [ "cumulus-client-cli", "cumulus-client-collator", - "cumulus-client-consensus-relay-chain", + "cumulus-client-consensus-aura", + "cumulus-client-consensus-common", "cumulus-client-network", "cumulus-client-service", "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", "flexi_logger", "frame-benchmarking", "frame-benchmarking-cli", @@ -4330,6 +4521,7 @@ "pallet-contracts", "pallet-contracts-rpc", "pallet-transaction-payment-rpc", + "parity-scale-codec", "parking_lot 0.10.2", "polkadot-cli", "polkadot-parachain", @@ -4362,19 +4554,25 @@ "sp-core", "sp-finality-grandpa", "sp-inherents", + "sp-keystore", + "sp-offchain", "sp-runtime", + "sp-session", "sp-timestamp", "sp-transaction-pool", "sp-trie", "structopt", "substrate-build-script-utils", "substrate-frame-rpc-system", + "substrate-prometheus-endpoint", ] [[package]] name = "nft-runtime" version = "3.0.0" dependencies = [ + "cumulus-pallet-aura-ext", + "cumulus-pallet-dmp-queue", "cumulus-pallet-parachain-system", "cumulus-pallet-xcm", "cumulus-pallet-xcmp-queue", @@ -4387,6 +4585,7 @@ "frame-system-benchmarking", "frame-system-rpc-runtime-api", "hex-literal", + "pallet-aura", "pallet-balances", "pallet-contracts", "pallet-contracts-primitives", @@ -4409,6 +4608,7 @@ "sp-api", "sp-arithmetic", "sp-block-builder", + "sp-consensus-aura", "sp-core", "sp-inherents", "sp-io", @@ -4585,9 +4785,25 @@ ] [[package]] +name = "pallet-aura" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" +dependencies = [ + "frame-support", + "frame-system", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "sp-application-crypto", + "sp-consensus-aura", + "sp-runtime", + "sp-std", +] + +[[package]] name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4602,14 +4818,13 @@ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "sp-authorship", - "sp-inherents", "sp-runtime", "sp-std", ] @@ -4617,7 +4832,7 @@ [[package]] name = "pallet-babe" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -4640,7 +4855,7 @@ [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -4654,7 +4869,7 @@ [[package]] name = "pallet-beefy" version = "0.1.0" -source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=rococo-v1#b0e5f2da52cc9bc9804a23e111d003413b268faf" +source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459" dependencies = [ "beefy-primitives", "frame-support", @@ -4669,7 +4884,7 @@ [[package]] name = "pallet-bounties" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4680,9 +4895,30 @@ ] [[package]] +name = "pallet-bridge-grandpa" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "bp-header-chain", + "bp-runtime", + "bp-test-utils", + "finality-grandpa", + "frame-support", + "frame-system", + "log", + "num-traits", + "parity-scale-codec", + "serde", + "sp-finality-grandpa", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] name = "pallet-collective" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4697,7 +4933,7 @@ [[package]] name = "pallet-contracts" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4708,6 +4944,7 @@ "parity-wasm 0.42.2", "pwasm-utils 0.17.1", "serde", + "smallvec 1.6.1", "sp-core", "sp-io", "sp-runtime", @@ -4719,7 +4956,7 @@ [[package]] name = "pallet-contracts-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "bitflags", "parity-scale-codec", @@ -4732,7 +4969,7 @@ [[package]] name = "pallet-contracts-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro2", "quote", @@ -4742,7 +4979,7 @@ [[package]] name = "pallet-contracts-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4761,7 +4998,7 @@ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -4773,7 +5010,7 @@ [[package]] name = "pallet-democracy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -4788,7 +5025,7 @@ [[package]] name = "pallet-election-provider-multi-phase" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-election-provider-support", "frame-support", @@ -4796,6 +5033,7 @@ "log", "parity-scale-codec", "sp-arithmetic", + "sp-core", "sp-io", "sp-npos-elections", "sp-runtime", @@ -4806,7 +5044,7 @@ [[package]] name = "pallet-elections-phragmen" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4820,9 +5058,23 @@ ] [[package]] +name = "pallet-gilt" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-arithmetic", + "sp-runtime", + "sp-std", +] + +[[package]] name = "pallet-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -4843,7 +5095,7 @@ [[package]] name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4858,7 +5110,7 @@ [[package]] name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4876,7 +5128,7 @@ [[package]] name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4909,7 +5161,7 @@ [[package]] name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -4924,7 +5176,7 @@ [[package]] name = "pallet-mmr" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "ckb-merkle-mountain-range", "frame-benchmarking", @@ -4941,7 +5193,7 @@ [[package]] name = "pallet-mmr-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -4957,7 +5209,7 @@ [[package]] name = "pallet-mmr-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -4975,7 +5227,7 @@ [[package]] name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5009,7 +5261,7 @@ [[package]] name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5022,7 +5274,7 @@ [[package]] name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5038,7 +5290,7 @@ [[package]] name = "pallet-proxy" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5052,7 +5304,7 @@ [[package]] name = "pallet-randomness-collective-flip" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5065,7 +5317,7 @@ [[package]] name = "pallet-recovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "enumflags2", "frame-support", @@ -5079,7 +5331,7 @@ [[package]] name = "pallet-scheduler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -5094,7 +5346,7 @@ [[package]] name = "pallet-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5113,7 +5365,7 @@ [[package]] name = "pallet-society" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5126,7 +5378,7 @@ [[package]] name = "pallet-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-election-provider-support", "frame-support", @@ -5148,7 +5400,7 @@ [[package]] name = "pallet-staking-reward-curve" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5157,9 +5409,18 @@ ] [[package]] +name = "pallet-staking-reward-fn" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" +dependencies = [ + "log", + "sp-arithmetic", +] + +[[package]] name = "pallet-sudo" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5172,7 +5433,7 @@ [[package]] name = "pallet-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-benchmarking", "frame-support", @@ -5190,7 +5451,7 @@ [[package]] name = "pallet-tips" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5204,7 +5465,7 @@ [[package]] name = "pallet-transaction-payment" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5220,7 +5481,7 @@ [[package]] name = "pallet-transaction-payment-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -5237,7 +5498,7 @@ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5248,7 +5509,7 @@ [[package]] name = "pallet-treasury" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5263,7 +5524,7 @@ [[package]] name = "pallet-utility" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-support", "frame-system", @@ -5277,7 +5538,7 @@ [[package]] name = "pallet-vesting" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "enumflags2", "frame-support", @@ -5290,7 +5551,7 @@ [[package]] name = "pallet-xcm" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "frame-support", "frame-system", @@ -5299,17 +5560,19 @@ "sp-runtime", "sp-std", "xcm", + "xcm-executor", ] [[package]] name = "parachain-info" version = "0.1.0" -source = "git+https://github.com/paritytech/cumulus.git?branch=rococo-v1#da4c3bac6e9584e65740ef5db4dbd2c31c1a91db" +source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917" dependencies = [ "cumulus-primitives-core", "frame-support", "frame-system", "parity-scale-codec", + "serde", ] [[package]] @@ -5721,7 +5984,7 @@ [[package]] name = "polkadot-approval-distribution" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "polkadot-node-network-protocol", @@ -5735,10 +5998,9 @@ [[package]] name = "polkadot-availability-bitfield-distribution" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", - "parity-scale-codec", "polkadot-node-network-protocol", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -5749,7 +6011,7 @@ [[package]] name = "polkadot-availability-distribution" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "lru", @@ -5772,7 +6034,7 @@ [[package]] name = "polkadot-availability-recovery" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "lru", @@ -5790,8 +6052,8 @@ [[package]] name = "polkadot-cli" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "frame-benchmarking-cli", "futures 0.3.14", @@ -5811,7 +6073,7 @@ [[package]] name = "polkadot-collator-protocol" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "always-assert", "futures 0.3.14", @@ -5830,8 +6092,8 @@ [[package]] name = "polkadot-core-primitives" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "parity-scale-codec", "parity-util-mem", @@ -5842,8 +6104,8 @@ [[package]] name = "polkadot-erasure-coding" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -5857,7 +6119,7 @@ [[package]] name = "polkadot-gossip-support" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "polkadot-node-network-protocol", @@ -5872,7 +6134,7 @@ [[package]] name = "polkadot-network-bridge" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "async-trait", "futures 0.3.14", @@ -5892,7 +6154,7 @@ [[package]] name = "polkadot-node-collation-generation" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "parity-scale-codec", @@ -5910,7 +6172,7 @@ [[package]] name = "polkadot-node-core-approval-voting" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "bitvec", "derive_more", @@ -5939,7 +6201,7 @@ [[package]] name = "polkadot-node-core-av-store" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "bitvec", "futures 0.3.14", @@ -5959,7 +6221,7 @@ [[package]] name = "polkadot-node-core-backing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "bitvec", "futures 0.3.14", @@ -5977,7 +6239,7 @@ [[package]] name = "polkadot-node-core-bitfield-signing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "polkadot-node-subsystem", @@ -5992,7 +6254,7 @@ [[package]] name = "polkadot-node-core-candidate-selection" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "polkadot-node-primitives", @@ -6007,7 +6269,7 @@ [[package]] name = "polkadot-node-core-candidate-validation" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "async-trait", "futures 0.3.14", @@ -6025,7 +6287,7 @@ [[package]] name = "polkadot-node-core-chain-api" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "polkadot-node-subsystem", @@ -6036,34 +6298,27 @@ ] [[package]] -name = "polkadot-node-core-proposer" +name = "polkadot-node-core-parachains-inherent" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ + "async-trait", "futures 0.3.14", "futures-timer 3.0.2", "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", - "sc-basic-authorship", - "sc-block-builder", - "sc-client-api", - "sc-telemetry", - "sp-api", "sp-blockchain", - "sp-consensus", - "sp-core", "sp-inherents", "sp-runtime", - "sp-transaction-pool", - "substrate-prometheus-endpoint", + "thiserror", "tracing", ] [[package]] name = "polkadot-node-core-provisioner" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "bitvec", "futures 0.3.14", @@ -6078,7 +6333,7 @@ [[package]] name = "polkadot-node-core-pvf" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "always-assert", "assert_matches", @@ -6106,7 +6361,7 @@ [[package]] name = "polkadot-node-core-runtime-api" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "memory-lru", @@ -6124,7 +6379,7 @@ [[package]] name = "polkadot-node-jaeger" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "async-std", "lazy_static", @@ -6142,7 +6397,7 @@ [[package]] name = "polkadot-node-network-protocol" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "parity-scale-codec", @@ -6157,7 +6412,7 @@ [[package]] name = "polkadot-node-primitives" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "futures 0.3.14", "parity-scale-codec", @@ -6179,7 +6434,7 @@ [[package]] name = "polkadot-node-subsystem" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "async-std", "async-trait", @@ -6209,7 +6464,7 @@ [[package]] name = "polkadot-node-subsystem-util" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "async-trait", "futures 0.3.14", @@ -6237,7 +6492,7 @@ [[package]] name = "polkadot-overseer" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "async-trait", "futures 0.3.14", @@ -6246,6 +6501,7 @@ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", + "polkadot-procmacro-overseer-subsystems-gen", "sc-client-api", "sp-api", "tracing", @@ -6253,8 +6509,8 @@ [[package]] name = "polkadot-parachain" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "derive_more", "parity-scale-codec", @@ -6268,8 +6524,8 @@ [[package]] name = "polkadot-primitives" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "bitvec", "frame-system", @@ -6296,9 +6552,20 @@ ] [[package]] +name = "polkadot-procmacro-overseer-subsystems-gen" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" +dependencies = [ + "assert_matches", + "proc-macro2", + "quote", + "syn", +] + +[[package]] name = "polkadot-procmacro-subsystem-dispatch-gen" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "assert_matches", "proc-macro2", @@ -6308,8 +6575,8 @@ [[package]] name = "polkadot-rpc" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -6341,8 +6608,8 @@ [[package]] name = "polkadot-runtime" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-primitives", "bitvec", @@ -6411,8 +6678,8 @@ [[package]] name = "polkadot-runtime-common" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-primitives", "bitvec", @@ -6453,8 +6720,8 @@ [[package]] name = "polkadot-runtime-parachains" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "bitvec", "derive_more", @@ -6490,8 +6757,8 @@ [[package]] name = "polkadot-service" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-gadget", "beefy-primitives", @@ -6522,7 +6789,7 @@ "polkadot-node-core-candidate-selection", "polkadot-node-core-candidate-validation", "polkadot-node-core-chain-api", - "polkadot-node-core-proposer", + "polkadot-node-core-parachains-inherent", "polkadot-node-core-provisioner", "polkadot-node-core-runtime-api", "polkadot-node-primitives", @@ -6537,6 +6804,7 @@ "polkadot-statement-distribution", "rococo-runtime", "sc-authority-discovery", + "sc-basic-authorship", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -6544,6 +6812,7 @@ "sc-consensus", "sc-consensus-babe", "sc-consensus-slots", + "sc-consensus-uncles", "sc-executor", "sc-finality-grandpa", "sc-finality-grandpa-warp-sync", @@ -6569,6 +6838,7 @@ "sp-session", "sp-state-machine", "sp-storage", + "sp-timestamp", "sp-transaction-pool", "sp-trie", "substrate-prometheus-endpoint", @@ -6580,7 +6850,7 @@ [[package]] name = "polkadot-statement-distribution" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "arrayvec 0.5.2", "futures 0.3.14", @@ -6592,14 +6862,16 @@ "polkadot-node-subsystem-util", "polkadot-primitives", "sc-network", + "sp-keystore", "sp-staking", + "thiserror", "tracing", ] [[package]] name = "polkadot-statement-table" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -6608,8 +6880,8 @@ [[package]] name = "polkadot-test-runtime" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-primitives", "bitvec", @@ -6665,8 +6937,8 @@ [[package]] name = "polkadot-test-service" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#943038a888bfaf736142642e2610b248f7af486c" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "frame-benchmarking", "frame-system", @@ -6936,9 +7208,9 @@ [[package]] name = "quick-error" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quicksink" @@ -7267,7 +7539,7 @@ [[package]] name = "remote-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "env_logger 0.8.3", "hex-literal", @@ -7342,10 +7614,12 @@ [[package]] name = "rococo-runtime" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-primitives", + "bp-rococo", + "bp-wococo", "frame-executive", "frame-support", "frame-system", @@ -7357,6 +7631,7 @@ "pallet-babe", "pallet-balances", "pallet-beefy", + "pallet-bridge-grandpa", "pallet-collective", "pallet-grandpa", "pallet-im-online", @@ -7547,7 +7822,7 @@ [[package]] name = "sc-authority-discovery" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "derive_more", @@ -7576,7 +7851,7 @@ [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "futures-timer 3.0.2", @@ -7599,7 +7874,7 @@ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7615,7 +7890,7 @@ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7636,7 +7911,7 @@ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -7647,7 +7922,7 @@ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "chrono", "fdlimit", @@ -7685,7 +7960,7 @@ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "fnv", @@ -7719,7 +7994,7 @@ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "blake2-rfc", "hash-db", @@ -7749,7 +8024,7 @@ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parking_lot 0.11.1", "sc-client-api", @@ -7761,7 +8036,7 @@ [[package]] name = "sc-consensus-aura" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "derive_more", @@ -7785,7 +8060,6 @@ "sp-io", "sp-keystore", "sp-runtime", - "sp-timestamp", "sp-version", "substrate-prometheus-endpoint", ] @@ -7793,7 +8067,7 @@ [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "derive_more", @@ -7831,7 +8105,6 @@ "sp-io", "sp-keystore", "sp-runtime", - "sp-timestamp", "sp-utils", "sp-version", "substrate-prometheus-endpoint", @@ -7840,7 +8113,7 @@ [[package]] name = "sc-consensus-babe-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "futures 0.3.14", @@ -7864,7 +8137,7 @@ [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7877,11 +8150,12 @@ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "futures 0.3.14", "futures-timer 3.0.2", + "impl-trait-for-tuples", "log", "parity-scale-codec", "sc-client-api", @@ -7904,21 +8178,18 @@ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ - "log", "sc-client-api", "sp-authorship", - "sp-consensus", - "sp-core", - "sp-inherents", "sp-runtime", + "thiserror", ] [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "lazy_static", @@ -7934,7 +8205,6 @@ "sp-core", "sp-externalities", "sp-io", - "sp-maybe-compressed-blob", "sp-panic-handler", "sp-runtime-interface", "sp-serializer", @@ -7948,7 +8218,7 @@ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "parity-scale-codec", @@ -7956,6 +8226,7 @@ "pwasm-utils 0.14.0", "sp-allocator", "sp-core", + "sp-maybe-compressed-blob", "sp-serializer", "sp-wasm-interface", "thiserror", @@ -7965,7 +8236,7 @@ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "log", "parity-scale-codec", @@ -7980,7 +8251,7 @@ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "log", "parity-scale-codec", @@ -7998,7 +8269,7 @@ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "derive_more", @@ -8038,7 +8309,7 @@ [[package]] name = "sc-finality-grandpa-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "finality-grandpa", @@ -8062,7 +8333,7 @@ [[package]] name = "sc-finality-grandpa-warp-sync" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "futures 0.3.14", @@ -8083,7 +8354,7 @@ [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "ansi_term 0.12.1", "futures 0.3.14", @@ -8101,7 +8372,7 @@ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "derive_more", @@ -8121,7 +8392,7 @@ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "hash-db", "lazy_static", @@ -8140,7 +8411,7 @@ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-std", "async-trait", @@ -8193,7 +8464,7 @@ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "futures-timer 3.0.2", @@ -8210,7 +8481,7 @@ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "bytes 0.5.6", "fnv", @@ -8238,7 +8509,7 @@ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "libp2p", @@ -8251,7 +8522,7 @@ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -8260,7 +8531,7 @@ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "hash-db", @@ -8286,6 +8557,7 @@ "sp-runtime", "sp-session", "sp-state-machine", + "sp-tracing", "sp-transaction-pool", "sp-utils", "sp-version", @@ -8294,7 +8566,7 @@ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "futures 0.3.14", @@ -8311,6 +8583,7 @@ "sp-core", "sp-rpc", "sp-runtime", + "sp-tracing", "sp-transaction-pool", "sp-version", ] @@ -8318,7 +8591,7 @@ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.1.31", "jsonrpc-core", @@ -8336,7 +8609,7 @@ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "directories", @@ -8400,7 +8673,7 @@ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "log", "parity-scale-codec", @@ -8415,7 +8688,7 @@ [[package]] name = "sc-sync-state-rpc" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -8435,7 +8708,7 @@ [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "chrono", "futures 0.3.14", @@ -8455,7 +8728,7 @@ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "ansi_term 0.12.1", "atty", @@ -8466,23 +8739,33 @@ "parking_lot 0.11.1", "regex", "rustc-hash", + "sc-client-api", + "sc-rpc-server", + "sc-telemetry", "sc-tracing-proc-macro", "serde", "serde_json", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-storage", "sp-tracing", "thiserror", "tracing", - "tracing-core", "tracing-log", "tracing-subscriber", "wasm-bindgen", + "wasm-timer", "web-sys", ] [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -8493,7 +8776,7 @@ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "futures 0.3.14", @@ -8515,7 +8798,7 @@ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "futures-diagnose", @@ -8836,9 +9119,18 @@ checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8" [[package]] +name = "slog" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" +dependencies = [ + "erased-serde", +] + +[[package]] name = "slot-range-helper" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "enumn", "parity-scale-codec", @@ -8929,7 +9221,7 @@ [[package]] name = "sp-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "log", "sp-core", @@ -8941,7 +9233,7 @@ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "hash-db", "log", @@ -8958,7 +9250,7 @@ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -8970,7 +9262,7 @@ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "serde", @@ -8982,7 +9274,7 @@ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "integer-sqrt", "num-traits", @@ -8996,7 +9288,7 @@ [[package]] name = "sp-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-api", @@ -9008,8 +9300,9 @@ [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "async-trait", "parity-scale-codec", "sp-inherents", "sp-runtime", @@ -9019,7 +9312,7 @@ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-api", @@ -9031,7 +9324,7 @@ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "log", @@ -9049,7 +9342,7 @@ [[package]] name = "sp-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "serde", "serde_json", @@ -9058,7 +9351,7 @@ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "futures 0.3.14", @@ -9085,8 +9378,9 @@ [[package]] name = "sp-consensus-aura" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "async-trait", "parity-scale-codec", "sp-api", "sp-application-crypto", @@ -9101,8 +9395,9 @@ [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "async-trait", "merlin", "parity-scale-codec", "serde", @@ -9122,7 +9417,7 @@ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -9132,7 +9427,7 @@ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -9144,7 +9439,7 @@ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "base58", "blake2-rfc", @@ -9188,7 +9483,7 @@ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -9197,7 +9492,7 @@ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro2", "quote", @@ -9207,7 +9502,7 @@ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "environmental", "parity-scale-codec", @@ -9218,7 +9513,7 @@ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "finality-grandpa", "log", @@ -9235,11 +9530,13 @@ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "async-trait", + "impl-trait-for-tuples", "parity-scale-codec", - "parking_lot 0.11.1", "sp-core", + "sp-runtime", "sp-std", "thiserror", ] @@ -9247,7 +9544,7 @@ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "hash-db", @@ -9258,6 +9555,7 @@ "sp-core", "sp-externalities", "sp-keystore", + "sp-maybe-compressed-blob", "sp-runtime-interface", "sp-state-machine", "sp-std", @@ -9271,7 +9569,7 @@ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "lazy_static", "sp-core", @@ -9282,7 +9580,7 @@ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "derive_more", @@ -9299,7 +9597,7 @@ [[package]] name = "sp-maybe-compressed-blob" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "ruzstd", "zstd", @@ -9308,7 +9606,7 @@ [[package]] name = "sp-npos-elections" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "serde", @@ -9321,7 +9619,7 @@ [[package]] name = "sp-npos-elections-compact" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -9332,7 +9630,7 @@ [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "sp-api", "sp-core", @@ -9342,7 +9640,7 @@ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "backtrace", ] @@ -9350,16 +9648,18 @@ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "rustc-hash", "serde", "sp-core", + "tracing-core", ] [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "either", "hash256-std-hasher", @@ -9380,7 +9680,7 @@ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9397,7 +9697,7 @@ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -9409,7 +9709,7 @@ [[package]] name = "sp-sandbox" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-core", @@ -9422,7 +9722,7 @@ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "serde", "serde_json", @@ -9431,7 +9731,7 @@ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-api", @@ -9444,7 +9744,7 @@ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -9454,7 +9754,7 @@ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "hash-db", "log", @@ -9469,6 +9769,7 @@ "sp-std", "sp-trie", "thiserror", + "tracing", "trie-db", "trie-root", ] @@ -9476,12 +9777,12 @@ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9494,7 +9795,7 @@ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "log", "sp-core", @@ -9507,23 +9808,32 @@ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "async-trait", + "futures-timer 3.0.2", + "log", "parity-scale-codec", "sp-api", "sp-inherents", "sp-runtime", "sp-std", + "thiserror", "wasm-timer", ] [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ + "erased-serde", "log", "parity-scale-codec", + "parking_lot 0.10.2", + "serde", + "serde_json", + "slog", "sp-std", "tracing", "tracing-core", @@ -9533,7 +9843,7 @@ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "derive_more", "futures 0.3.14", @@ -9549,7 +9859,7 @@ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "hash-db", "memory-db", @@ -9563,7 +9873,7 @@ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "futures 0.3.14", "futures-core", @@ -9575,19 +9885,32 @@ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "impl-serde", "parity-scale-codec", "serde", "sp-runtime", "sp-std", + "sp-version-proc-macro", +] + +[[package]] +name = "sp-version-proc-macro" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" +dependencies = [ + "parity-scale-codec", + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", ] [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -9746,7 +10069,7 @@ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "platforms", ] @@ -9754,7 +10077,7 @@ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.14", @@ -9777,7 +10100,7 @@ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-std", "derive_more", @@ -9791,7 +10114,7 @@ [[package]] name = "substrate-test-client" version = "2.0.1" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "async-trait", "futures 0.1.31", @@ -10476,7 +10799,7 @@ [[package]] name = "try-runtime-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate.git?branch=rococo-v1#2be8fcc4236d32786c62f6f27a98e7fe7e550807" +source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7" dependencies = [ "frame-try-runtime", "log", @@ -11122,8 +11445,8 @@ [[package]] name = "westend-runtime" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "beefy-primitives", "bitvec", @@ -11165,6 +11488,7 @@ "pallet-treasury", "pallet-utility", "pallet-vesting", + "pallet-xcm", "parity-scale-codec", "polkadot-parachain", "polkadot-primitives", @@ -11191,6 +11515,9 @@ "sp-version", "static_assertions", "substrate-wasm-builder 3.0.0", + "xcm", + "xcm-builder", + "xcm-executor", ] [[package]] @@ -11299,8 +11626,8 @@ [[package]] name = "xcm" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "derivative", "impl-trait-for-tuples", @@ -11309,12 +11636,13 @@ [[package]] name = "xcm-builder" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", + "pallet-transaction-payment", "parity-scale-codec", "polkadot-parachain", "sp-arithmetic", @@ -11327,8 +11655,8 @@ [[package]] name = "xcm-executor" -version = "0.8.30" -source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#127eb17a25bbe2a9f2731ff11a65d7f8170f2373" +version = "0.9.3" +source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2" dependencies = [ "frame-support", "impl-trait-for-tuples", --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -3,189 +3,214 @@ [build-dependencies.substrate-build-script-utils] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' ################################################################################ # Substrate Dependecies +[dependencies.codec] +default-features = false +features = ['derive'] +package = 'parity-scale-codec' +version = '2.0.0' + [dependencies.frame-benchmarking] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-benchmarking-cli] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-transaction-payment-rpc] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' +[dependencies.substrate-prometheus-endpoint] +git = 'https://github.com/paritytech/substrate.git' +branch = 'polkadot-v0.9.3' +version = '0.9.0' + [dependencies.sc-basic-authorship] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-chain-spec] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-cli] features = ['wasmtime'] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-client-api] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-consensus] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-consensus-aura] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-executor] features = ['wasmtime'] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-finality-grandpa] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-keystore] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-rpc] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-rpc-api] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-service] features = ['wasmtime'] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sc-telemetry] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-transaction-pool] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-tracing] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-block-builder] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-api] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-blockchain] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-consensus] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sp-consensus-aura] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.sp-core] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-finality-grandpa] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-inherents] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' +[dependencies.sp-keystore] +git = 'https://github.com/paritytech/substrate.git' +branch = 'polkadot-v0.9.3' +version = '0.9.0' + +[dependencies.sp-offchain] +git = 'https://github.com/paritytech/substrate.git' +branch = 'polkadot-v0.9.3' +version = '3.0.0' + [dependencies.sp-runtime] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' +version = '3.0.0' + +[dependencies.sp-session] +git = 'https://github.com/paritytech/substrate.git' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-timestamp] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-transaction-pool] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-trie] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.substrate-frame-rpc-system] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-contracts] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-contracts-rpc] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sc-network] git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.9.0' [dependencies.serde] features = ['derive'] -optional = true version = '1.0.119' [dependencies.serde_json] @@ -195,52 +220,60 @@ ################################################################################ # Cumulus dependencies -[dependencies.cumulus-client-consensus-relay-chain] +[dependencies.cumulus-client-consensus-aura] +git = 'https://github.com/paritytech/cumulus.git' +branch = 'polkadot-v0.9.3' + +[dependencies.cumulus-client-consensus-common] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' [dependencies.cumulus-client-collator] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' [dependencies.cumulus-client-cli] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' [dependencies.cumulus-client-network] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' [dependencies.cumulus-primitives-core] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' + +[dependencies.cumulus-primitives-parachain-inherent] +git = 'https://github.com/paritytech/cumulus.git' +branch = 'polkadot-v0.9.3' [dependencies.cumulus-client-service] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' ################################################################################ # Polkadot dependencies [dependencies.polkadot-primitives] git = "https://github.com/paritytech/polkadot" -branch = 'rococo-v1' +branch = 'release-v0.9.3' [dependencies.polkadot-service] git = "https://github.com/paritytech/polkadot" -branch = 'rococo-v1' +branch = 'release-v0.9.3' [dependencies.polkadot-cli] git = "https://github.com/paritytech/polkadot" -branch = 'rococo-v1' +branch = 'release-v0.9.3' [dependencies.polkadot-test-service] git = "https://github.com/paritytech/polkadot" -branch = 'rococo-v1' +branch = 'release-v0.9.3' [dependencies.polkadot-parachain] git = "https://github.com/paritytech/polkadot" -branch = 'rococo-v1' +branch = 'release-v0.9.3' ################################################################################ --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -3,21 +3,18 @@ // file 'LICENSE', which is part of this source code package. // +use cumulus_primitives_core::ParaId; use nft_runtime::*; - -use cumulus_primitives_core::ParaId; -use parachain_runtime::{AccountId, Signature}; use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; use sc_service::ChainType; use sp_core::{sr25519, Pair, Public}; -use sp_finality_grandpa::AuthorityId as GrandpaId; use sp_runtime::traits::{IdentifyAccount, Verify}; use serde::{Deserialize, Serialize}; use serde_json::map::Map; /// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. -pub type ChainSpec = sc_service::GenericChainSpec; +pub type ChainSpec = sc_service::GenericChainSpec; /// Helper function to generate a crypto pair from seed pub fn get_from_seed(seed: &str) -> ::Public { @@ -26,6 +23,23 @@ .public() } +/// The extensions for the [`ChainSpec`]. +#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)] +#[serde(deny_unknown_fields)] +pub struct Extensions { + /// The relay chain of the Parachain. + pub relay_chain: String, + /// The id of the Parachain. + pub para_id: u32, +} + +impl Extensions { + /// Try to get the extension from the given `ChainSpec`. + pub fn try_get(chain_spec: &dyn sc_service::ChainSpec) -> Option<&Self> { + sc_chain_spec::get_extension(chain_spec.extensions()) + } +} + type AccountPublic = ::Signer; /// Helper function to generate an account ID from seed @@ -34,18 +48,11 @@ AccountPublic: From<::Public>, { AccountPublic::from(get_from_seed::(seed)).into_account() -} - -/// Helper function to generate an authority key for Aura -pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) { - (get_from_seed::(s), get_from_seed::(s)) } pub fn development_config(id: ParaId) -> ChainSpec { - let wasm_binary = WASM_BINARY.ok_or("Development wasm binary not available".to_string())?; - let mut properties = Map::new(); - properties.insert("tokenSymbol".into(), "UniqueTest".into()); + properties.insert("tokenSymbol".into(), "testUNQ".into()); properties.insert("tokenDecimals".into(), 15.into()); properties.insert("ss58Format".into(), 42.into()); // Generic Substrate wildcard (SS58 checksum preimage) @@ -56,21 +63,18 @@ "dev", ChainType::Local, move || testnet_genesis( - wasm_binary, - // Initial PoA authorities - vec![ - authority_keys_from_seed("Alice"), - ], // Sudo account get_account_id_from_seed::("Alice"), + vec![ + get_from_seed::("Alice"), + get_from_seed::("Bob"), + ], // Pre-funded accounts vec![ get_account_id_from_seed::("Alice"), get_account_id_from_seed::("Bob"), - get_account_id_from_seed::("Alice//stash"), - get_account_id_from_seed::("Bob//stash"), ], - true, + id, ), // Bootnodes vec![], @@ -89,23 +93,19 @@ } pub fn local_testnet_config(id: ParaId) -> ChainSpec { - let wasm_binary = WASM_BINARY.ok_or("Development wasm binary not available".to_string())?; - - Ok(ChainSpec::from_genesis( + ChainSpec::from_genesis( // Name "Local Testnet", // ID "local_testnet", ChainType::Local, move || testnet_genesis( - wasm_binary, - // Initial PoA authorities - vec![ - authority_keys_from_seed("Alice"), - authority_keys_from_seed("Bob"), - ], // Sudo account get_account_id_from_seed::("Alice"), + vec![ + get_from_seed::("Alice"), + get_from_seed::("Bob"), + ], // Pre-funded accounts vec![ get_account_id_from_seed::("Alice"), @@ -121,7 +121,7 @@ get_account_id_from_seed::("Eve//stash"), get_account_id_from_seed::("Ferdie//stash"), ], - true, + id, ), // Bootnodes vec![], @@ -136,15 +136,14 @@ relay_chain: "rococo-local".into(), para_id: id.into(), }, - )) + ) } fn testnet_genesis( - wasm_binary: &[u8], - initial_authorities: Vec<(AuraId, GrandpaId)>, root_key: AccountId, + initial_authorities: Vec, endowed_accounts: Vec, - enable_println: bool, + id: ParaId, ) -> GenesisConfig { let vested_accounts = vec![ @@ -152,27 +151,29 @@ ]; GenesisConfig { - system: Some(SystemConfig { - code: wasm_binary.to_vec(), - changes_trie_config: Default::default(), - }), - pallet_balances: Some(BalancesConfig { + system: nft_runtime::SystemConfig { + code: nft_runtime::WASM_BINARY + .expect("WASM binary was not build, please build it!") + .to_vec(), + changes_trie_config: Default::default(), + }, + pallet_balances: BalancesConfig { balances: endowed_accounts .iter() .cloned() .map(|k| (k, 1 << 100)) .collect(), - }), - pallet_treasury: Some(Default::default()), - pallet_sudo: Some(SudoConfig { key: root_key }), - pallet_vesting: Some(VestingConfig { + }, + pallet_treasury: Default::default(), + pallet_sudo: SudoConfig { key: root_key }, + pallet_vesting: VestingConfig { vesting: vested_accounts .iter() .cloned() .map(|k| (k, 1000, 100, 1 << 98)) .collect(), - }), - pallet_nft: Some(NftConfig { + }, + pallet_nft: NftConfig { collection_id: vec![( 1, Collection { @@ -207,13 +208,11 @@ variable_on_chain_schema_limit: 1024, const_on_chain_schema_limit: 1024, }, - }), - pallet_contracts: Some(ContractsConfig { - current_schedule: ContractsSchedule { - enable_println, - ..Default::default() - }, - }), - parachain_info: parachain_runtime::ParachainInfoConfig { parachain_id: id }, + }, + parachain_info: nft_runtime::ParachainInfoConfig { parachain_id: id }, + pallet_aura: nft_runtime::AuraConfig { + authorities: initial_authorities, + }, + cumulus_pallet_aura_ext: Default::default(), } } --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -1,4 +1,5 @@ use crate::chain_spec; +use cumulus_client_cli; use sc_cli; use std::path::PathBuf; use structopt::StructOpt; @@ -34,6 +35,10 @@ /// Revert the chain to a previous state. Revert(sc_cli::RevertCmd), + + /// The custom benchmark subcommmand benchmarking runtime pallets. + #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")] + Benchmark(frame_benchmarking_cli::BenchmarkCmd), } /// Command for exporting the genesis state of the parachain @@ -75,24 +80,6 @@ } #[derive(Debug, StructOpt)] -pub struct RunCmd { - #[structopt(flatten)] - pub base: sc_cli::RunCmd, - - /// Id of the parachain this collator collates for. - #[structopt(long)] - pub parachain_id: Option, -} - -impl std::ops::Deref for RunCmd { - type Target = sc_cli::RunCmd; - - fn deref(&self) -> &Self::Target { - &self.base - } -} - -#[derive(Debug, StructOpt)] #[structopt(settings = &[ structopt::clap::AppSettings::GlobalVersion, structopt::clap::AppSettings::ArgsNegateSubcommands, @@ -103,14 +90,8 @@ pub subcommand: Option, #[structopt(flatten)] - pub run: RunCmd, + pub run: cumulus_client_cli::RunCmd, - /// Run node as collator. - /// - /// Note that this is the same as running with `--validator`. - #[structopt(long, conflicts_with = "validator")] - pub collator: bool, - /// Relaychain arguments #[structopt(raw = true)] pub relaychain_args: Vec, @@ -146,4 +127,4 @@ base: polkadot_cli::RunCmd::from_iter(relay_chain_args), } } -} \ No newline at end of file +} --- a/node/src/command.rs +++ b/node/src/command.rs @@ -18,20 +18,20 @@ use crate::{ chain_spec, cli::{Cli, RelayChainCli, Subcommand}, + service::{new_partial, ParachainRuntimeExecutor} }; use codec::Encode; use cumulus_primitives_core::ParaId; use cumulus_client_service::genesis::generate_genesis_block; use log::info; -use parachain_runtime::Block; +use nft_runtime::{RuntimeApi, Block}; use polkadot_parachain::primitives::AccountIdConversion; use sc_cli::{ ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams, NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli, }; use sc_service::{ - config::{BasePath, PrometheusConfig}, - PartialComponents, + config::{BasePath, PrometheusConfig} }; use sp_core::hexdisplay::HexDisplay; use sp_runtime::traits::Block as BlockT; @@ -52,7 +52,7 @@ impl SubstrateCli for Cli { fn impl_name() -> String { - "Unique Node".into() + "Parachain Collator Template".into() } fn impl_version() -> String { @@ -86,7 +86,7 @@ } fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { - ¶chain_runtime::VERSION + &nft_runtime::VERSION } } @@ -103,7 +103,7 @@ "Parachain Collator Template\n\nThe command-line arguments provided first will be \ passed to the parachain node, while the arguments provided after -- will be passed \ to the relaychain node.\n\n\ - rococo-collator [parachain-args] -- [relaychain-args]" + parachain-collator [parachain-args] -- [relaychain-args]" .into() } @@ -138,6 +138,24 @@ .ok_or_else(|| "Could not find wasm file in genesis state!".into()) } +macro_rules! construct_async_run { + (|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{ + let runner = $cli.create_runner($cmd)?; + runner.async_run(|$config| { + let $components = new_partial::< + RuntimeApi, + ParachainRuntimeExecutor, + _ + >( + &$config, + crate::service::parachain_build_import_queue, + )?; + let task_manager = $components.task_manager; + { $( $code )* }.map(|v| (v, task_manager)) + }) + }} +} + /// Parse command line arguments into service configuration. pub fn run() -> Result<()> { let cli = Cli::from_args(); @@ -148,49 +166,23 @@ runner.sync_run(|config| cmd.run(config.chain_spec, config.network)) } Some(Subcommand::CheckBlock(cmd)) => { - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - let PartialComponents { - client, - task_manager, - import_queue, - .. - } = crate::service::new_partial(&config)?; - Ok((cmd.run(client, import_queue), task_manager)) + construct_async_run!(|components, cli, cmd, config| { + Ok(cmd.run(components.client, components.import_queue)) }) } Some(Subcommand::ExportBlocks(cmd)) => { - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - let PartialComponents { - client, - task_manager, - .. - } = crate::service::new_partial(&config)?; - Ok((cmd.run(client, config.database), task_manager)) + construct_async_run!(|components, cli, cmd, config| { + Ok(cmd.run(components.client, config.database)) }) } Some(Subcommand::ExportState(cmd)) => { - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - let PartialComponents { - client, - task_manager, - .. - } = crate::service::new_partial(&config)?; - Ok((cmd.run(client, config.chain_spec), task_manager)) + construct_async_run!(|components, cli, cmd, config| { + Ok(cmd.run(components.client, config.chain_spec)) }) } Some(Subcommand::ImportBlocks(cmd)) => { - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - let PartialComponents { - client, - task_manager, - import_queue, - .. - } = crate::service::new_partial(&config)?; - Ok((cmd.run(client, import_queue), task_manager)) + construct_async_run!(|components, cli, cmd, config| { + Ok(cmd.run(components.client, components.import_queue)) }) } Some(Subcommand::PurgeChain(cmd)) => { @@ -214,18 +206,9 @@ cmd.run(config, polkadot_config) }) } - Some(Subcommand::Revert(cmd)) => { - let runner = cli.create_runner(cmd)?; - runner.async_run(|config| { - let PartialComponents { - client, - task_manager, - backend, - .. - } = crate::service::new_partial(&config)?; - Ok((cmd.run(client, backend), task_manager)) - }) - } + Some(Subcommand::Revert(cmd)) => construct_async_run!(|components, cli, cmd, config| { + Ok(cmd.run(components.client, components.backend)) + }), Some(Subcommand::ExportGenesisState(params)) => { let mut builder = sc_cli::LoggerBuilder::new(""); builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); @@ -270,9 +253,19 @@ } Ok(()) - } + }, + Some(Subcommand::Benchmark(cmd)) => { + if cfg!(feature = "runtime-benchmarks") { + let runner = cli.create_runner(cmd)?; + + runner.sync_run(|config| cmd.run::(config)) + } else { + Err("Benchmarking wasn't enabled when building the node. \ + You can enable it with `--features runtime-benchmarks`.".into()) + } + }, None => { - let runner = cli.create_runner(&*cli.run)?; + let runner = cli.create_runner(&cli.run.normalize())?; runner.run_node_until_exit(|config| async move { // TODO @@ -304,14 +297,20 @@ task_executor, ) .map_err(|err| format!("Relay chain argument error: {}", err))?; - let collator = cli.run.base.validator || cli.collator; info!("Parachain id: {:?}", id); info!("Parachain Account: {}", parachain_account); info!("Parachain genesis state: {}", genesis_state); - info!("Is collating: {}", if collator { "yes" } else { "no" }); + info!( + "Is collating: {}", + if config.role.is_authority() { + "yes" + } else { + "no" + } + ); - crate::service::start_node(config, key, polkadot_config, id, collator) + crate::service::start_node(config, key, polkadot_config, id) .await .map(|r| r.0) .map_err(Into::into) @@ -446,4 +445,4 @@ ) -> Result> { self.base.base.telemetry_endpoints(chain_spec) } -} +} \ No newline at end of file --- a/node/src/lib.rs +++ b/node/src/lib.rs @@ -1,3 +1,2 @@ pub mod chain_spec; pub mod service; -pub mod rpc; --- a/node/src/main.rs +++ b/node/src/main.rs @@ -8,7 +8,6 @@ mod service; mod cli; mod command; -mod rpc; fn main() -> sc_cli::Result<()> { command::run() --- a/node/src/rpc.rs +++ /dev/null @@ -1,65 +0,0 @@ -//! A collection of node-specific RPC methods. -//! Substrate provides the `sc-rpc` crate, which defines the core RPC layer -//! used by Substrate nodes. This file extends those RPC definitions with -//! capabilities that are specific to this project's runtime configuration. - -#![warn(missing_docs)] - -use std::sync::Arc; - -use nft_runtime::{opaque::Block, AccountId, Balance, Index, BlockNumber, Hash}; -use sp_api::ProvideRuntimeApi; -use sp_blockchain::{Error as BlockChainError, HeaderMetadata, HeaderBackend}; -use sp_block_builder::BlockBuilder; -pub use sc_rpc_api::DenyUnsafe; -use sp_transaction_pool::TransactionPool; -use pallet_contracts_rpc::{Contracts, ContractsApi}; - -/// Full client dependencies. -pub struct FullDeps { - /// The client instance to use. - pub client: Arc, - /// Transaction pool instance. - pub pool: Arc

, - /// Whether to deny unsafe calls - pub deny_unsafe: DenyUnsafe, -} - -/// Instantiate all full RPC extensions. -pub fn create_full( - deps: FullDeps, -) -> jsonrpc_core::IoHandler where - C: ProvideRuntimeApi, - C: HeaderBackend + HeaderMetadata + 'static, - C: Send + Sync + 'static, - C::Api: substrate_frame_rpc_system::AccountNonceApi, - C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi, - C::Api: BlockBuilder, - C::Api: pallet_contracts_rpc::ContractsRuntimeApi, - P: TransactionPool + 'static, -{ - use substrate_frame_rpc_system::{FullSystem, SystemApi}; - use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; - - let mut io = jsonrpc_core::IoHandler::default(); - let FullDeps { - client, - pool, - deny_unsafe, - } = deps; - - io.extend_with( - SystemApi::to_delegate(FullSystem::new(client.clone(), pool, deny_unsafe)) - ); - - io.extend_with( - TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone())) - ); - - // Contracts RPC API extension - io.extend_with( - ContractsApi::to_delegate(Contracts::new(client.clone())) - ); - - io -} --- a/node/src/service.rs +++ b/node/src/service.rs @@ -5,50 +5,96 @@ // file 'LICENSE', which is part of this source code package. // -use cumulus_client_consensus_relay_chain::{ - build_relay_chain_consensus, BuildRelayChainConsensusParams, +// std +use std::sync::Arc; + +// Local Runtime Types +use nft_runtime::RuntimeApi; + +// Cumulus Imports +use cumulus_client_consensus_aura::{ + build_aura_consensus, BuildAuraConsensusParams, SlotProportion, }; +use cumulus_client_consensus_common::ParachainConsensus; use cumulus_client_network::build_block_announce_validator; use cumulus_client_service::{ prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams, }; use cumulus_primitives_core::ParaId; -use polkadot_primitives::v0::CollatorPair; -use parachain_runtime::{RuntimeApi, opaque::Block}; + +// Polkadot Imports +use polkadot_primitives::v1::CollatorPair; + +// Substrate Imports +use sc_client_api::ExecutorProvider; +pub use sc_executor::NativeExecutor; use sc_executor::native_executor_instance; -pub use sc_executor::NativeExecutor; +use sc_network::NetworkService; use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager}; -use sc_telemetry::{Telemetry, TelemetryWorker, TelemetryWorkerHandle}; +use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle}; +use sp_api::ConstructRuntimeApi; +use sp_consensus::SlotData; +use sp_keystore::SyncCryptoStorePtr; use sp_runtime::traits::BlakeTwo256; -use sp_trie::PrefixedMemoryDB; -use std::sync::Arc; +use substrate_prometheus_endpoint::Registry; + +// Runtime type overrides +type BlockNumber = u32; +type Header = sp_runtime::generic::Header; +pub type Block = sp_runtime::generic::Block; +type Hash = sp_core::H256; // Native executor instance. native_executor_instance!( - pub Executor, - parachain_runtime::api::dispatch, - parachain_runtime::native_version, + pub ParachainRuntimeExecutor, + nft_runtime::api::dispatch, + nft_runtime::native_version, + frame_benchmarking::benchmarking::HostFunctions, ); /// Starts a `ServiceBuilder` for a full service. /// /// Use this macro if you don't actually need the full service, but just the builder in order to /// be able to perform chain operations. -pub fn new_partial( +pub fn new_partial( config: &Configuration, + build_import_queue: BIQ, ) -> Result< PartialComponents< TFullClient, TFullBackend, (), - sp_consensus::import_queue::BasicQueue>, + sp_consensus::DefaultImportQueue>, sc_transaction_pool::FullPool>, (Option, Option), >, sc_service::Error, -> { - let inherent_data_providers = sp_inherents::InherentDataProviders::new(); - +> +where + RuntimeApi: ConstructRuntimeApi> + + Send + + Sync + + 'static, + RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::Metadata + + sp_session::SessionKeys + + sp_api::ApiExt< + Block, + StateBackend = sc_client_api::StateBackendFor, Block>, + > + sp_offchain::OffchainWorkerApi + + sp_block_builder::BlockBuilder, + sc_client_api::StateBackendFor, Block>: sp_api::StateBackend, + Executor: sc_executor::NativeExecutionDispatch + 'static, + BIQ: FnOnce( + Arc>, + &Configuration, + Option, + &TaskManager, + ) -> Result< + sp_consensus::DefaultImportQueue>, + sc_service::Error, + >, +{ let telemetry = config .telemetry_endpoints .clone() @@ -66,18 +112,13 @@ telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), )?; let client = Arc::new(client); - - let telemetry_worker_handle = telemetry - .as_ref() - .map(|(worker, _)| worker.handle()); - let telemetry = telemetry - .map(|(worker, telemetry)| { - task_manager.spawn_handle().spawn("telemetry", worker.run()); - telemetry - }); + let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle()); - let registry = config.prometheus_registry(); + let telemetry = telemetry.map(|(worker, telemetry)| { + task_manager.spawn_handle().spawn("telemetry", worker.run()); + telemetry + }); let transaction_pool = sc_transaction_pool::BasicPool::new_full( config.transaction_pool.clone(), @@ -87,12 +128,11 @@ client.clone(), ); - let import_queue = cumulus_client_consensus_relay_chain::import_queue( + let import_queue = build_import_queue( client.clone(), - client.clone(), - inherent_data_providers.clone(), - &task_manager.spawn_essential_handle(), - registry.clone(), + config, + telemetry.as_ref().map(|telemetry| telemetry.handle()), + &task_manager, )?; let params = PartialComponents { @@ -102,7 +142,6 @@ keystore_container, task_manager, transaction_pool, - inherent_data_providers, select_chain: (), other: (telemetry, telemetry_worker_handle), }; @@ -114,20 +153,56 @@ /// /// This is the actual implementation that is abstract over the executor and the runtime api. #[sc_tracing::logging::prefix_logs_with("Parachain")] -async fn start_node_impl( +async fn start_node_impl( parachain_config: Configuration, collator_key: CollatorPair, polkadot_config: Configuration, id: ParaId, - validator: bool, rpc_ext_builder: RB, + build_import_queue: BIQ, + build_consensus: BIC, ) -> sc_service::error::Result<(TaskManager, Arc>)> where + RuntimeApi: ConstructRuntimeApi> + + Send + + Sync + + 'static, + RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue + + sp_api::Metadata + + sp_session::SessionKeys + + sp_api::ApiExt< + Block, + StateBackend = sc_client_api::StateBackendFor, Block>, + > + sp_offchain::OffchainWorkerApi + + sp_block_builder::BlockBuilder + + cumulus_primitives_core::CollectCollationInfo, + sc_client_api::StateBackendFor, Block>: sp_api::StateBackend, + Executor: sc_executor::NativeExecutionDispatch + 'static, RB: Fn( Arc>, ) -> jsonrpc_core::IoHandler + Send + 'static, + BIQ: FnOnce( + Arc>, + &Configuration, + Option, + &TaskManager, + ) -> Result< + sp_consensus::DefaultImportQueue>, + sc_service::Error, + >, + BIC: FnOnce( + Arc>, + Option<&Registry>, + Option, + &TaskManager, + &polkadot_service::NewFull, + Arc>>, + Arc>, + SyncCryptoStorePtr, + bool, + ) -> Result>, sc_service::Error>, { if matches!(parachain_config.role, Role::Light) { return Err("Light client not supported!".into()); @@ -135,56 +210,44 @@ let parachain_config = prepare_node_config(parachain_config); - let params = new_partial(¶chain_config)?; - params - .inherent_data_providers - .register_provider(sp_timestamp::InherentDataProvider) - .unwrap(); + let params = new_partial::(¶chain_config, build_import_queue)?; let (mut telemetry, telemetry_worker_handle) = params.other; - let polkadot_full_node = - cumulus_client_service::build_polkadot_full_node( - polkadot_config, - collator_key.clone(), - telemetry_worker_handle, - ) - .map_err(|e| match e { - polkadot_service::Error::Sub(x) => x, - s => format!("{}", s).into(), - })?; + let relay_chain_full_node = cumulus_client_service::build_polkadot_full_node( + polkadot_config, + collator_key.clone(), + telemetry_worker_handle, + ) + .map_err(|e| match e { + polkadot_service::Error::Sub(x) => x, + s => format!("{}", s).into(), + })?; let client = params.client.clone(); let backend = params.backend.clone(); let block_announce_validator = build_block_announce_validator( - polkadot_full_node.client.clone(), + relay_chain_full_node.client.clone(), id, - Box::new(polkadot_full_node.network.clone()), - polkadot_full_node.backend.clone(), + Box::new(relay_chain_full_node.network.clone()), + relay_chain_full_node.backend.clone(), ); + let force_authoring = parachain_config.force_authoring; + let validator = parachain_config.role.is_authority(); let prometheus_registry = parachain_config.prometheus_registry().cloned(); let transaction_pool = params.transaction_pool.clone(); let mut task_manager = params.task_manager; - let import_queue = params.import_queue; + let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue); let (network, network_status_sinks, system_rpc_tx, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { config: ¶chain_config, client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), - import_queue, + import_queue: import_queue.clone(), on_demand: None, block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), })?; - - if parachain_config.offchain_worker.enabled { - sc_service::build_offchain_workers( - ¶chain_config, - task_manager.spawn_handle(), - client.clone(), - network.clone(), - ); - } let rpc_client = client.clone(); let rpc_extensions_builder = Box::new(move |_, _| rpc_ext_builder(rpc_client.clone())); @@ -211,23 +274,19 @@ }; if validator { - let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( - task_manager.spawn_handle(), + let parachain_consensus = build_consensus( client.clone(), + prometheus_registry.as_ref(), + telemetry.as_ref().map(|t| t.handle()), + &task_manager, + &relay_chain_full_node, transaction_pool, - prometheus_registry.as_ref(), - telemetry.as_ref().map(|x| x.handle()), - ); - let spawner = task_manager.spawn_handle(); + network, + params.keystore_container.sync_keystore(), + force_authoring, + )?; - let parachain_consensus = build_relay_chain_consensus(BuildRelayChainConsensusParams { - para_id: id, - proposer_factory, - inherent_data_providers: params.inherent_data_providers, - block_import: client.clone(), - relay_chain_client: polkadot_full_node.client.clone(), - relay_chain_backend: polkadot_full_node.backend.clone(), - }); + let spawner = task_manager.spawn_handle(); let params = StartCollatorParams { para_id: id, @@ -236,10 +295,10 @@ client: client.clone(), task_manager: &mut task_manager, collator_key, - relay_chain_full_node: polkadot_full_node, + relay_chain_full_node, spawner, - backend, parachain_consensus, + import_queue, }; start_collator(params).await?; @@ -249,7 +308,7 @@ announce_block, task_manager: &mut task_manager, para_id: id, - polkadot_full_node, + relay_chain_full_node, }; start_full_node(params)?; @@ -260,21 +319,140 @@ Ok((task_manager, client)) } +/// Build the import queue for the the parachain runtime. +pub fn parachain_build_import_queue( + client: Arc>, + config: &Configuration, + telemetry: Option, + task_manager: &TaskManager, +) -> Result< + sp_consensus::DefaultImportQueue< + Block, + TFullClient, + >, + sc_service::Error, +> { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + + cumulus_client_consensus_aura::import_queue::< + sp_consensus_aura::sr25519::AuthorityPair, + _, + _, + _, + _, + _, + _, + >(cumulus_client_consensus_aura::ImportQueueParams { + block_import: client.clone(), + client: client.clone(), + create_inherent_data_providers: move |_, _| async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = + sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + Ok((time, slot)) + }, + registry: config.prometheus_registry().clone(), + can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), + spawner: &task_manager.spawn_essential_handle(), + telemetry, + }) + .map_err(Into::into) +} + /// Start a normal parachain node. pub async fn start_node( parachain_config: Configuration, collator_key: CollatorPair, polkadot_config: Configuration, id: ParaId, - validator: bool, -) -> sc_service::error::Result<(TaskManager, Arc>)> { - start_node_impl( +) -> sc_service::error::Result<(TaskManager, Arc>)> { + start_node_impl::( parachain_config, collator_key, polkadot_config, id, - validator, |_| Default::default(), + parachain_build_import_queue, + |client, + prometheus_registry, + telemetry, + task_manager, + relay_chain_node, + transaction_pool, + sync_oracle, + keystore, + force_authoring| { + let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; + + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( + task_manager.spawn_handle(), + client.clone(), + transaction_pool, + prometheus_registry.clone(), + telemetry.clone(), + ); + + let relay_chain_backend = relay_chain_node.backend.clone(); + let relay_chain_client = relay_chain_node.client.clone(); + Ok(build_aura_consensus::< + sp_consensus_aura::sr25519::AuthorityPair, + _, + _, + _, + _, + _, + _, + _, + _, + _, + >(BuildAuraConsensusParams { + proposer_factory, + create_inherent_data_providers: move |_, (relay_parent, validation_data)| { + let parachain_inherent = + cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client( + relay_parent, + &relay_chain_client, + &*relay_chain_backend, + &validation_data, + id, + ); + async move { + let time = sp_timestamp::InherentDataProvider::from_system_time(); + + let slot = + sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration( + *time, + slot_duration.slot_duration(), + ); + + let parachain_inherent = parachain_inherent.ok_or_else(|| { + Box::::from( + "Failed to create parachain inherent", + ) + })?; + Ok((time, slot, parachain_inherent)) + } + }, + block_import: client.clone(), + relay_chain_client: relay_chain_node.client.clone(), + relay_chain_backend: relay_chain_node.backend.clone(), + para_client: client.clone(), + backoff_authoring_blocks: Option::<()>::None, + sync_oracle, + keystore, + force_authoring, + slot_duration, + // We got around 500ms for proposing + block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32), + telemetry, + })) + }, ) .await } \ No newline at end of file --- a/pallets/inflation/Cargo.toml +++ b/pallets/inflation/Cargo.toml @@ -43,43 +43,43 @@ default-features = false optional = true git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-support] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-system] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-balances] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-timestamp] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-randomness-collective-flip] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-std] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.serde] @@ -89,18 +89,18 @@ [dependencies.sp-runtime] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-core] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-io] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' --- a/pallets/nft/Cargo.toml +++ b/pallets/nft/Cargo.toml @@ -45,55 +45,55 @@ default-features = false optional = true git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-support] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-system] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-balances] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-timestamp] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-randomness-collective-flip] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-std] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-contracts] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-transaction-payment] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.serde] @@ -103,18 +103,18 @@ [dependencies.sp-runtime] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-core] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-io] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' --- a/pallets/nft/src/lib.rs +++ b/pallets/nft/src/lib.rs @@ -2328,6 +2328,7 @@ Ok(()) } + #[allow(dead_code)] fn init_collection(item: &Collection) { // check params assert!( @@ -2355,6 +2356,7 @@ CreatedCollectionCount::put(next_id); } + #[allow(dead_code)] fn init_nft_token(collection_id: CollectionId, item: &NftItemType) { let current_index = ::get(collection_id) .checked_add(1) @@ -2372,6 +2374,7 @@ >::insert(collection_id, item_owner.clone(), new_balance); } + #[allow(dead_code)] fn init_fungible_token(collection_id: CollectionId, owner: &T::AccountId, item: &FungibleItemType) { let current_index = ::get(collection_id) .checked_add(1) @@ -2388,6 +2391,7 @@ >::insert(collection_id, (*owner).clone(), new_balance); } + #[allow(dead_code)] fn init_refungible_token(collection_id: CollectionId, item: &ReFungibleItemType) { let current_index = ::get(collection_id) .checked_add(1) --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -31,6 +31,7 @@ ] std = [ 'codec/std', + 'cumulus-pallet-aura-ext/std', 'cumulus-pallet-parachain-system/std', 'cumulus-pallet-xcm/std', 'cumulus-pallet-xcmp-queue/std', @@ -40,6 +41,7 @@ 'frame-support/std', 'frame-system/std', 'frame-system-rpc-runtime-api/std', + 'pallet-aura/std', 'pallet-balances/std', 'pallet-contracts/std', 'pallet-contracts-primitives/std', @@ -51,9 +53,11 @@ 'pallet-transaction-payment-rpc-runtime-api/std', 'pallet-treasury/std', 'pallet-vesting/std', + 'parachain-info/std', 'serde', 'sp-api/std', 'sp-block-builder/std', + "sp-consensus-aura/std", 'sp-core/std', 'sp-inherents/std', 'sp-io/std', @@ -84,38 +88,38 @@ default-features = false git = 'https://github.com/paritytech/substrate.git' optional = true -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-executive] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-support] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-system] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-system-benchmarking] default-features = false git = 'https://github.com/paritytech/substrate.git' optional = true -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.frame-system-rpc-runtime-api] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.hex-literal] @@ -127,143 +131,155 @@ optional = true version = '1.0.119' +[dependencies.pallet-aura] +default-features = false +git = 'https://github.com/paritytech/substrate.git' +branch = 'polkadot-v0.9.3' +version = '3.0.0' + [dependencies.pallet-balances] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' # Contracts specific packages [dependencies.pallet-contracts] git = 'https://github.com/paritytech/substrate.git' default-features = false -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-contracts-primitives] git = 'https://github.com/paritytech/substrate.git' default-features = false -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-contracts-rpc-runtime-api] git = 'https://github.com/paritytech/substrate.git' default-features = false -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-randomness-collective-flip] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-sudo] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-timestamp] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-transaction-payment] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-transaction-payment-rpc-runtime-api] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-treasury] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.pallet-vesting] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-arithmetic] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-api] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-block-builder] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-core] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' +[dependencies.sp-consensus-aura] +default-features = false +git = 'https://github.com/paritytech/substrate.git' +branch = 'polkadot-v0.9.3' +version = '0.9.0' + [dependencies.sp-inherents] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-io] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-offchain] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-runtime] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-session] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-std] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-transaction-pool] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.sp-version] default-features = false git = 'https://github.com/paritytech/substrate.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '3.0.0' [dependencies.smallvec] @@ -275,32 +291,42 @@ [dependencies.parachain-info] default-features = false git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' version = '0.1.0' +[dependencies.cumulus-pallet-aura-ext] +git = 'https://github.com/paritytech/cumulus.git' +branch = 'polkadot-v0.9.3' +default-features = false + [dependencies.cumulus-pallet-parachain-system] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' default-features = false [dependencies.cumulus-primitives-core] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' default-features = false [dependencies.cumulus-pallet-xcm] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' default-features = false +[dependencies.cumulus-pallet-dmp-queue] +git = 'https://github.com/paritytech/cumulus.git' +branch = 'polkadot-v0.9.3' +default-features = false + [dependencies.cumulus-pallet-xcmp-queue] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' default-features = false [dependencies.cumulus-primitives-utility] git = 'https://github.com/paritytech/cumulus.git' -branch = 'rococo-v1' +branch = 'polkadot-v0.9.3' default-features = false ################################################################################ @@ -308,40 +334,41 @@ [dependencies.polkadot-parachain] git = 'https://github.com/paritytech/polkadot' -branch = 'rococo-v1' +branch = 'release-v0.9.3' default-features = false [dependencies.xcm] git = 'https://github.com/paritytech/polkadot' -branch = 'rococo-v1' +branch = 'release-v0.9.3' default-features = false [dependencies.xcm-builder] git = 'https://github.com/paritytech/polkadot' -branch = 'rococo-v1' +branch = 'release-v0.9.3' default-features = false [dependencies.xcm-executor] git = 'https://github.com/paritytech/polkadot' -branch = 'rococo-v1' +branch = 'release-v0.9.3' default-features = false [dependencies.pallet-xcm] git = 'https://github.com/paritytech/polkadot' -branch = 'rococo-v1' +branch = 'release-v0.9.3' default-features = false - -################################################################################ -# Build Dependencies - -[build-dependencies] -substrate-wasm-builder = '4.0.0' ################################################################################ # local dependencies +[dependencies] pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' } pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' } +################################################################################ +# Build Dependencies + +[build-dependencies] +substrate-wasm-builder = '4.0.0' + --- a/runtime/src/chain_extension.rs +++ b/runtime/src/chain_extension.rs @@ -17,9 +17,6 @@ extern crate pallet_nft; pub use pallet_nft::*; -use crate::Runtime; -use sp_runtime::AccountId32; -use crate::Vec; /// Create item parameters #[derive(Debug, PartialEq, Encode, Decode)] --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -14,16 +14,15 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); use sp_api::impl_runtime_apis; -use sp_core::{ crypto::KeyTypeId, crypto::Public, OpaqueMetadata }; +use sp_core::{ crypto::KeyTypeId, OpaqueMetadata }; +// #[cfg(any(feature = "std", test))] +// pub use sp_runtime::BuildStorage; +use sp_runtime::traits::{ + AccountIdLookup, AccountIdConversion, BlakeTwo256, Block as BlockT, ConvertInto, IdentifyAccount, Verify, +}; use sp_runtime::{ - BuildStorage, Permill, Perbill, Percent, - ModuleId, create_runtime_str, generic, impl_opaque_keys, - traits::{ - AccountIdLookup, BlakeTwo256, Block as BlockT, Convert, ConvertInto, IdentifyAccount, - IdentityLookup, NumberFor, Verify, AccountIdConversion, - }, transaction_validity::{TransactionSource, TransactionValidity}, ApplyExtrinsicResult, MultiSignature, }; @@ -33,13 +32,14 @@ #[cfg(feature = "std")] use sp_version::NativeVersion; use sp_version::RuntimeVersion; -pub use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment, CurrencyAdapter, FeeDetails, RuntimeDispatchInfo}; +pub use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment, FeeDetails, RuntimeDispatchInfo}; // A few exports that help ease life for downstream crates. pub use pallet_balances::Call as BalancesCall; -pub use pallet_contracts::{Schedule as ContractsSchedule }; pub use frame_support::{ construct_runtime, + match_type, dispatch::DispatchResult, + PalletId, parameter_types, StorageValue, traits::{ @@ -58,50 +58,30 @@ EnsureRoot, limits::{BlockWeights, BlockLength}, }; -use sp_std::{prelude::*, marker::PhantomData}; use sp_arithmetic::{traits::{BaseArithmetic, Unsigned}}; use smallvec::smallvec; pub use pallet_timestamp::Call as TimestampCall; +pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; // Polkadot imports +use pallet_xcm::XcmPassthrough; use polkadot_parachain::primitives::Sibling; -use xcm::v0::{Junction, MultiLocation, NetworkId}; +use xcm::v0::Xcm; +use xcm::v0::{BodyId, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId}; use xcm_builder::{ - AccountId32Aliases, CurrencyAdapter, LocationInverter, ParentIsDefault, RelayChainAsNative, - SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, - SovereignSignedViaLocation, FixedRateOfConcreteFungible, EnsureXcmOrigin, - AllowTopLevelPaidExecutionFrom, TakeWeightCredit, FixedWeightBounds, IsConcrete, NativeAsset, - AllowUnpaidExecutionFrom, ParentAsSuperuser, + AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter, + EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset, + ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, + SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, + SovereignSignedViaLocation, TakeWeightCredit, UsingComponents, }; use xcm_executor::{Config, XcmExecutor}; mod chain_extension; use crate::chain_extension::{ NFTExtension, Imbalance }; - -/// Struct that handles the conversion of Balance -> `u64`. This is used for -/// staking's election calculation. -pub struct CurrencyToVoteHandler; - -impl CurrencyToVoteHandler { - fn factor() -> Balance { - (Balances::total_issuance() / u64::max_value() as Balance).max(1) - } -} - -impl Convert for CurrencyToVoteHandler { - fn convert(x: Balance) -> u64 { - (x / Self::factor()) as u64 - } -} -impl Convert for CurrencyToVoteHandler { - fn convert(x: u128) -> Balance { - x * Self::factor() - } -} - /// Re-export a nft pallet /// TODO: Check this re-export. Is this safe and good style? extern crate pallet_nft; @@ -144,14 +124,12 @@ pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic; - /// Opaque block header type. - pub type Header = generic::Header; /// Opaque block type. pub type Block = generic::Block; - /// Opaque block identifier type. - pub type BlockId = generic::BlockId; - impl_opaque_keys! { + pub type SessionHandlers = (); + + impl_opaque_keys! { pub struct SessionKeys {} } } @@ -167,7 +145,7 @@ transaction_version: 1, }; -pub const MILLISECS_PER_BLOCK: u64 = 6000; +pub const MILLISECS_PER_BLOCK: u64 = 12000; pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK; @@ -274,8 +252,7 @@ type BlockLength = RuntimeBlockLength; /// The index type for blocks. type BlockNumber = BlockNumber; - /// The weight of the overhead invoked on the block import process, independent of the - /// extrinsics included in that block. + /// The weight of the overhead invoked on the block import process, independent of the extrinsics included in that block. type BlockWeights = RuntimeBlockWeights; /// The aggregated dispatch type that is available for extrinsics. type Call = Call; @@ -292,7 +269,7 @@ /// The index type for storing how many extrinsics an account has signed. type Index = Index; /// The lookup mechanism to get account ID from whatever is passed in dispatchers. - type Lookup = IdentityLookup; + type Lookup = AccountIdLookup; /// What to do if an account is fully reaped from the system. type OnKilledAccount = (); /// What to do if a new account is created. @@ -317,7 +294,7 @@ impl pallet_timestamp::Config for Runtime { /// A timestamp: milliseconds since the unix epoch. type Moment = u64; - type OnTimestampSet = Aura; + type OnTimestampSet = (); type MinimumPeriod = MinimumPeriod; type WeightInfo = (); } @@ -350,14 +327,14 @@ } parameter_types! { - pub const TombstoneDeposit: Balance = deposit( - 0, - sp_std::mem::size_of::>() as u32 + pub TombstoneDeposit: Balance = deposit( + 1, + sp_std::mem::size_of::> as u32, ); - pub const DepositPerContract: Balance = TombstoneDeposit::get(); + pub DepositPerContract: Balance = TombstoneDeposit::get(); pub const DepositPerStorageByte: Balance = deposit(0, 1); pub const DepositPerStorageItem: Balance = deposit(1, 0); - pub RentFraction: Perbill = Perbill::from_rational_approximation(1u32, 30 * DAYS); + pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS); pub const SurchargeReward: Balance = 150 * MILLIUNIQUE; pub const SignedClaimHandicap: u32 = 2; pub const MaxDepth: u32 = 32; @@ -372,8 +349,8 @@ ::WeightInfo::on_initialize_per_queue_item(1) - ::WeightInfo::on_initialize_per_queue_item(0) )) / 5) as u32; + pub Schedule: pallet_contracts::Schedule = Default::default(); } - impl pallet_contracts::Config for Runtime { type Time = Timestamp; @@ -388,17 +365,19 @@ type DepositPerStorageItem = DepositPerStorageItem; type RentFraction = RentFraction; type SurchargeReward = SurchargeReward; - type MaxDepth = MaxDepth; - type MaxValueSize = MaxValueSize; + // type MaxDepth = MaxDepth; + // type MaxValueSize = MaxValueSize; type WeightPrice = pallet_transaction_payment::Module; type WeightInfo = pallet_contracts::weights::SubstrateWeight; type ChainExtension = NFTExtension; type DeletionQueueDepth = DeletionQueueDepth; type DeletionWeightLimit = DeletionWeightLimit; - type MaxCodeSize = MaxCodeSize; + // type MaxCodeSize = MaxCodeSize; + type Schedule = Schedule; + type CallStack = [pallet_contracts::Frame; 31]; } -parame ter_types! { +parameter_types! { pub const TransactionByteFee: Balance = 501 * MICROUNIQUE; // Targeting 0.1 Unique per NFT transfer } @@ -421,7 +400,7 @@ } impl pallet_transaction_payment::Config for Runtime { - type OnChargeTransaction = CurrencyAdapter; + type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; type TransactionByteFee = TransactionByteFee; type WeightToFee = LinearFee; type FeeMultiplierUpdate = (); @@ -438,15 +417,16 @@ pub const DataDepositPerByte: Balance = 1 * CENTIUNIQUE; pub const BountyDepositBase: Balance = 1 * UNIQUE; pub const BountyDepositPayoutDelay: BlockNumber = 1 * DAYS; - pub const TreasuryModuleId: ModuleId = ModuleId(*b"py/trsry"); + pub const TreasuryModuleId: PalletId = PalletId(*b"py/trsry"); pub const BountyUpdatePeriod: BlockNumber = 14 * DAYS; pub const MaximumReasonLength: u32 = 16384; pub const BountyCuratorDeposit: Permill = Permill::from_percent(50); pub const BountyValueMinimum: Balance = 5 * UNIQUE; + pub const MaxApprovals: u32 = 100; } impl pallet_treasury::Config for Runtime { - type ModuleId = TreasuryModuleId; + type PalletId = TreasuryModuleId; type Currency = Balances; type ApproveOrigin = EnsureRoot; type RejectOrigin = EnsureRoot; @@ -459,6 +439,7 @@ type BurnDestination = (); type SpendFunds = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; + type MaxApprovals = MaxApprovals; } impl pallet_sudo::Config for Runtime { @@ -479,32 +460,35 @@ } parameter_types! { + pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4; } impl cumulus_pallet_parachain_system::Config for Runtime { type Event = Event; type OnValidationData = (); - type SelfParaId = parachain_info::Module; - type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent< - MaxDownwardMessageWeight, - XcmExecutor, - Call, - >; + type SelfParaId = parachain_info::Pallet; + // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent< + // MaxDownwardMessageWeight, + // XcmExecutor, + // Call, + // >; type OutboundXcmpMessageSource = XcmpQueue; - type XcmpMessageHandler = XcmpQueue; + type DmpMessageHandler = DmpQueue; + type ReservedDmpWeight = ReservedDmpWeight; type ReservedXcmpWeight = ReservedXcmpWeight; + type XcmpMessageHandler = XcmpQueue; } impl parachain_info::Config for Runtime {} +impl cumulus_pallet_aura_ext::Config for Runtime {} + parameter_types! { - pub const RococoLocation: MultiLocation = MultiLocation::X1(Junction::Parent); - pub const RococoNetwork: NetworkId = NetworkId::Polkadot; - pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Junction::Parachain { - id: ParachainInfo::parachain_id().into() - }.into(); + pub const RelayLocation: MultiLocation = X1(Parent); + pub const RelayNetwork: NetworkId = NetworkId::Polkadot; + pub RelayOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); + pub Ancestry: MultiLocation = X1(Parachain(ParachainInfo::parachain_id().into())); } /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used @@ -516,7 +500,7 @@ // Sibling parachain origins convert to AccountId via the `ParaId::into`. SiblingParachainConvertsVia, // Straight up local `AccountId32` origins just alias directly to `AccountId`. - AccountId32Aliases, + AccountId32Aliases, ); /// Means for transacting assets on this chain. @@ -524,11 +508,13 @@ // Use this currency: Balances, // Use this currency when it is a fungible asset matching the given location or name: - IsConcrete, + IsConcrete, // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID: LocationToAccountId, // Our chain's account ID type (we can't get away without mentioning it explicitly): AccountId, + // We don't track any teleports. + (), >; /// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, @@ -541,7 +527,7 @@ SovereignSignedViaLocation, // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when // recognised. - RelayChainAsNative, + RelayChainAsNative, // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when // recognised. SiblingParachainAsNative, @@ -550,26 +536,30 @@ ParentAsSuperuser, // Native signed account converter; this just converts an `AccountId32` origin into a normal // `Origin::Signed` origin of the same 32-byte value. - SignedAccountId32AsNative, + SignedAccountId32AsNative, + // Xcm origins can be represented natively under the Xcm pallet's Xcm origin. + XcmPassthrough, ); parameter_types! { - pub UnitWeightCost: Weight = 1_000; + // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate. + pub UnitWeightCost: Weight = 1_000_000; + // 1200 UNIQUEs buy 1 second of weight. + pub const WeightPrice: (MultiLocation, u128) = (X1(Parent), 1_200 * UNIQUE); } -parameter_types! { - // 1_000_000_000_000 => 1 unit of asset for 1 unit of Weight. - // TODO: Should take the actual weight price. This is just 1_000 ROC per second of weight. - pub const WeightPrice: (MultiLocation, u128) = (MultiLocation::X1(Junction::Parent), 1_000); - pub AllowUnpaidFrom: Vec = vec![ MultiLocation::X1(Junction::Parent) ]; +match_type! { + pub type ParentOrParentsUnitPlurality: impl Contains = { + X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. }) + }; } pub type Barrier = ( TakeWeightCredit, AllowTopLevelPaidExecutionFrom>, - AllowUnpaidExecutionFrom>, // <- Parent gets free execution + AllowUnpaidExecutionFrom, + // ^^^ Parent & its unit plurality gets free execution ); - pub struct XcmConfig; impl Config for XcmConfig { @@ -583,16 +573,16 @@ type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; - type Trader = FixedRateOfConcreteFungible; + type Trader = UsingComponents, RelayLocation, AccountId, Balances, ()>; type ResponseHandler = (); // Don't handle responses for now. } -parameter_types! { - pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10; -} +// parameter_types! { +// pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10; +// } /// No local origins on this chain are allowed to dispatch XCM sends/executions. -pub type LocalOriginToLocation = (); +pub type LocalOriginToLocation = (SignedToAccountId32,); /// The means for routing XCM messages which are not for local execution into the right message /// queues. @@ -608,10 +598,17 @@ type SendXcmOrigin = EnsureXcmOrigin; type XcmRouter = XcmRouter; type ExecuteXcmOrigin = EnsureXcmOrigin; + type XcmExecuteFilter = All<(MultiLocation, Xcm)>; type XcmExecutor = XcmExecutor; + type XcmTeleportFilter = All<(MultiLocation, Vec)>; + type XcmReserveTransferFilter = (); + type Weigher = FixedWeightBounds; } -impl cumulus_pallet_xcm::Config for Runtime {} +impl cumulus_pallet_xcm::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; +} impl cumulus_pallet_xcmp_queue::Config for Runtime { type Event = Event; @@ -619,6 +616,16 @@ type ChannelInfo = ParachainSystem; } +impl cumulus_pallet_dmp_queue::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type ExecuteOverweightOrigin = frame_system::EnsureRoot; +} + +impl pallet_aura::Config for Runtime { + type AuthorityId = AuraId; +} + parameter_types! { pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account(); pub const CollectionCreationPrice: Balance = 100 * UNIQUE; @@ -654,28 +661,37 @@ NodeBlock = opaque::Block, UncheckedExtrinsic = UncheckedExtrinsic { - Balances: pallet_balances::{Module, Call, Storage, Config, Event}, - Contracts: pallet_contracts::{Module, Call, Config, Storage, Event}, - CumulusXcm: cumulus_pallet_xcm::{Pallet, Origin}, - ParachainInfo: parachain_info::{Pallet, Storage, Config}, - ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Event}, - PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin}, - RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage}, - Sudo: pallet_sudo::{Module, Call, Config, Storage, Event}, - System: system::{Module, Call, Config, Storage, Event}, - Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent}, - TransactionPayment: pallet_transaction_payment::{Module, Storage}, - Treasury: pallet_treasury::{Module, Call, Storage, Config, Event}, - Vesting: pallet_vesting::{Module, Call, Config, Storage, Event}, - XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event}, + Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 30, + Contracts: pallet_contracts::{Pallet, Call, Storage, Event}, + RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage}, + Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent}, + TransactionPayment: pallet_transaction_payment::{Pallet, Storage}, + Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event}, + Sudo: pallet_sudo::{Pallet, Call, Storage, Config, Event}, + System: system::{Pallet, Call, Storage, Config, Event}, + Vesting: pallet_vesting::{Pallet, Call, Config, Storage, Event}, + + ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Event, ValidateUnsigned} = 20, + ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21, + + Aura: pallet_aura::{Pallet, Config}, + AuraExt: cumulus_pallet_aura_ext::{Pallet, Config}, + + // XCM helpers. + XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 50, + PolkadotXcm: pallet_xcm::{Pallet, Call, Event, Origin} = 51, + CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event, Origin} = 52, + DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 53, + - Inflation: pallet_inflation::{Module, Call, Storage}, - Nft: pallet_nft::{Module, Call, Config, Storage, Event}, + // Unique Pallets + Inflation: pallet_inflation::{Pallet, Call, Storage}, + Nft: pallet_nft::{Pallet, Call, Config, Storage, Event}, } ); /// The address format for describing accounts. -pub type Address = AccountId; +pub type Address = sp_runtime::MultiAddress; /// Block header type as expected by this runtime. pub type Header = generic::Header; /// Block type as expected by this runtime. @@ -687,7 +703,7 @@ /// The SignedExtension to the basic transaction logic. pub type SignedExtra = ( system::CheckSpecVersion, - system::CheckTxVersion, + // system::CheckTxVersion, system::CheckGenesis, system::CheckEra, system::CheckNonce, @@ -699,8 +715,19 @@ /// Extrinsic type that has already been checked. pub type CheckedExtrinsic = generic::CheckedExtrinsic; /// Executive: handles dispatch to the various modules. -pub type Executive = - frame_executive::Executive, Runtime, AllModules>; +pub type Executive = frame_executive::Executive< + Runtime, + Block, + frame_system::ChainContext, + Runtime, + AllPallets, +>; + +impl_opaque_keys! { + pub struct SessionKeys { + pub aura: Aura, + } +} impl_runtime_apis! { impl sp_api::Core for Runtime { @@ -743,9 +770,9 @@ data.check_extrinsics(&block) } - fn random_seed() -> ::Hash { - RandomnessCollectiveFlip::random_seed() - } + // fn random_seed() -> ::Hash { + // RandomnessCollectiveFlip::random_seed().0 + // } } impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime { @@ -757,24 +784,40 @@ } } - impl sp_offchain::OffchainWorkerApi for Runtime { - fn offchain_worker(header: &::Header) { - Executive::offchain_worker(header) - } - } + impl sp_offchain::OffchainWorkerApi for Runtime { + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) + } + } - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - opaque::SessionKeys::generate(seed) - } + impl sp_session::SessionKeys for Runtime { + fn decode_session_keys( + encoded: Vec, + ) -> Option, KeyTypeId)>> { + SessionKeys::decode_into_raw_public_keys(&encoded) + } + + fn generate_session_keys(seed: Option>) -> Vec { + SessionKeys::generate(seed) + } + } + + impl sp_consensus_aura::AuraApi for Runtime { + fn slot_duration() -> sp_consensus_aura::SlotDuration { + sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) + } - fn decode_session_keys( - encoded: Vec, - ) -> Option, KeyTypeId)>> { - opaque::SessionKeys::decode_into_raw_public_keys(&encoded) - } - } + fn authorities() -> Vec { + Aura::authorities() + } + } + impl cumulus_primitives_core::CollectCollationInfo for Runtime { + fn collect_collation_info() -> cumulus_primitives_core::CollationInfo { + ParachainSystem::collect_collation_info() + } + } + impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime { fn account_nonce(account: AccountId) -> Index { System::account_nonce(account) @@ -790,7 +833,7 @@ } } - impl pallet_contracts_rpc_runtime_api::ContractsApi + impl pallet_contracts_rpc_runtime_api::ContractsApi for Runtime { fn call( @@ -800,7 +843,19 @@ gas_limit: u64, input_data: Vec, ) -> pallet_contracts_primitives::ContractExecResult { - Contracts::bare_call(origin, dest, value, gas_limit, input_data) + Contracts::bare_call(origin, dest, value, gas_limit, input_data, false) + } + + fn instantiate( + origin: AccountId, + endowment: Balance, + gas_limit: u64, + code: pallet_contracts_primitives::Code, + data: Vec, + salt: Vec, + ) -> pallet_contracts_primitives::ContractInstantiateResult + { + Contracts::bare_instantiate(origin, endowment, gas_limit, code, data, salt, true, false) } fn get_storage(