diff --git a/Cargo.lock b/Cargo.lock index b1813c2..2ffa719 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,9 +23,9 @@ dependencies = [ [[package]] name = "adler" -version = "0.2.3" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aead" @@ -96,6 +96,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "always-assert" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11" + [[package]] name = "ansi_term" version = "0.11.0" @@ -169,6 +175,12 @@ dependencies = [ "syn", ] +[[package]] +name = "assert_matches" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" + [[package]] name = "async-channel" version = "1.6.1" @@ -275,7 +287,7 @@ dependencies = [ "async-io", "async-lock", "async-process", - "crossbeam-utils 0.8.2", + "crossbeam-utils 0.8.3", "futures-channel", "futures-core", "futures-io", @@ -286,26 +298,12 @@ dependencies = [ "memchr", "num_cpus", "once_cell", - "pin-project-lite 0.2.4", + "pin-project-lite 0.2.6", "pin-utils", "slab", "wasm-bindgen-futures", ] -[[package]] -name = "async-std-resolver" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665c56111e244fe38e7708ee10948a4356ad6a548997c21f5a63a0f4e0edc4d" -dependencies = [ - "async-std", - "async-trait", - "futures-io", - "futures-util", - "pin-utils", - "trust-dns-resolver", -] - [[package]] name = "async-task" version = "4.0.3" @@ -314,9 +312,9 @@ checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" [[package]] name = "async-trait" -version = "0.1.42" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3a45e77e34375a7923b1e8febb049bb011f064714a8e17a1a616fef01da13d" +checksum = "36ea56748e10732c49404c153638a15ec3d6211ec5ff35d9bb20e13b93576adf" dependencies = [ "proc-macro2", "quote", @@ -333,7 +331,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.4", + "pin-project-lite 0.2.6", ] [[package]] @@ -346,7 +344,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.4", + "pin-project-lite 0.2.6", ] [[package]] @@ -421,9 +419,9 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "bincode" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d" +checksum = "d175dfa69e619905c4c3cdb7c3c203fa3bdd5d51184e3afdb2742c0280493772" dependencies = [ "byteorder", "serde", @@ -440,7 +438,7 @@ dependencies = [ "cfg-if 0.1.10", "clang-sys", "clap", - "env_logger", + "env_logger 0.7.1", "lazy_static", "lazycell", "log", @@ -461,9 +459,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "bitvec" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5011ffc90248764d7005b0e10c7294f5aa1bd87d9dd7248f4ad475b347c294d" +checksum = "1f682656975d3a682daff957be4ddeb65d6ad656737cd821f2d00685ae466af1" dependencies = [ "funty", "radium", @@ -538,7 +536,7 @@ dependencies = [ "block-padding 0.1.5", "byte-tools", "byteorder", - "generic-array 0.12.3", + "generic-array 0.12.4", ] [[package]] @@ -633,9 +631,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "byteorder" -version = "1.4.2" +version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" +checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de" [[package]] name = "bytes" @@ -671,33 +669,52 @@ name = "canvas-node" version = "0.1.0" dependencies = [ "canvas-runtime", - "hex-literal", + "cumulus-client-cli", + "cumulus-client-collator", + "cumulus-client-consensus-relay-chain", + "cumulus-client-network", + "cumulus-client-service", + "cumulus-primitives-core", + "hex-literal 0.2.1", "jsonrpc-core", + "log", "pallet-contracts", "pallet-contracts-rpc", "pallet-transaction-payment-rpc", + "parity-scale-codec", + "polkadot-cli", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-service", + "polkadot-test-service", "sc-basic-authorship", + "sc-chain-spec", "sc-cli", "sc-client-api", "sc-consensus", - "sc-consensus-aura", "sc-executor", "sc-finality-grandpa", + "sc-network", "sc-rpc", "sc-rpc-api", "sc-service", "sc-telemetry", + "sc-tracing", "sc-transaction-pool", + "serde", "sp-api", "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-aura", "sp-core", - "sp-finality-grandpa", "sp-inherents", + "sp-io", + "sp-offchain", "sp-runtime", + "sp-session", + "sp-timestamp", "sp-transaction-pool", + "sp-trie", "structopt", "substrate-build-script-utils", "substrate-frame-rpc-system", @@ -707,35 +724,41 @@ dependencies = [ name = "canvas-runtime" version = "0.1.0" dependencies = [ + "cumulus-pallet-parachain-system", + "cumulus-pallet-xcm-handler", + "cumulus-primitives-core", "frame-executive", "frame-support", "frame-system", "frame-system-rpc-runtime-api", - "pallet-aura", "pallet-balances", "pallet-contracts", "pallet-contracts-primitives", "pallet-contracts-rpc-runtime-api", - "pallet-grandpa", "pallet-randomness-collective-flip", "pallet-sudo", "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", + "parachain-info", "parity-scale-codec", + "polkadot-parachain", "serde", "sp-api", "sp-block-builder", - "sp-consensus-aura", "sp-core", "sp-inherents", + "sp-io", "sp-offchain", "sp-runtime", "sp-session", "sp-std", "sp-transaction-pool", "sp-version", - "substrate-wasm-builder", + "substrate-wasm-builder 4.0.0", + "xcm", + "xcm-builder", + "xcm-executor", ] [[package]] @@ -790,6 +813,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chacha20" version = "0.5.0" @@ -1020,7 +1049,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools", + "itertools 0.9.0", "log", "serde", "smallvec 1.6.1", @@ -1044,7 +1073,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.2", + "crossbeam-utils 0.8.3", ] [[package]] @@ -1065,8 +1094,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" dependencies = [ "cfg-if 1.0.0", - "crossbeam-epoch 0.9.2", - "crossbeam-utils 0.8.2", + "crossbeam-epoch 0.9.3", + "crossbeam-utils 0.8.3", ] [[package]] @@ -1086,14 +1115,13 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d60ab4a8dba064f2fbb5aa270c28da5cf4bbd0e72dae1140a6b0353a779dbe00" +checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.2", + "crossbeam-utils 0.8.3", "lazy_static", - "loom", "memoffset 0.6.1", "scopeguard", ] @@ -1122,14 +1150,13 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae8f328835f8f5a6ceb6a7842a7f2d0c03692adb5c889347235d59194731fe3" +checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49" dependencies = [ "autocfg", "cfg-if 1.0.0", "lazy_static", - "loom", ] [[package]] @@ -1144,7 +1171,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" dependencies = [ - "generic-array 0.12.3", + "generic-array 0.12.4", "subtle 1.0.0", ] @@ -1188,6 +1215,216 @@ dependencies = [ "rand 0.7.3", ] +[[package]] +name = "cumulus-client-cli" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "sc-cli", + "sc-service", + "structopt", +] + +[[package]] +name = "cumulus-client-collator" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "cumulus-client-consensus-common", + "cumulus-client-network", + "cumulus-primitives-core", + "futures 0.3.13", + "parity-scale-codec", + "parking_lot 0.9.0", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-primitives", + "sc-client-api", + "sp-consensus", + "sp-core", + "sp-io", + "sp-runtime", + "sp-state-machine", + "tracing", +] + +[[package]] +name = "cumulus-client-consensus-common" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "async-trait", + "dyn-clone", + "futures 0.3.13", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime", + "sc-client-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-trie", + "substrate-prometheus-endpoint", + "tokio 0.1.22", + "tracing", +] + +[[package]] +name = "cumulus-client-consensus-relay-chain" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "async-trait", + "cumulus-client-consensus-common", + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "futures 0.3.13", + "parity-scale-codec", + "parking_lot 0.9.0", + "polkadot-service", + "sc-client-api", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-inherents", + "sp-runtime", + "substrate-prometheus-endpoint", + "tracing", +] + +[[package]] +name = "cumulus-client-network" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "derive_more", + "futures 0.3.13", + "futures-timer 3.0.2", + "parity-scale-codec", + "parking_lot 0.10.2", + "polkadot-node-primitives", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-service", + "polkadot-statement-table", + "sc-client-api", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-client-service" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "cumulus-client-collator", + "cumulus-client-consensus-common", + "cumulus-primitives-core", + "futures 0.3.13", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-service", + "sc-chain-spec", + "sc-client-api", + "sc-service", + "sc-telemetry", + "sc-tracing", + "sp-api", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-runtime", + "tracing", +] + +[[package]] +name = "cumulus-pallet-parachain-system" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "cumulus-primitives-core", + "cumulus-primitives-parachain-inherent", + "environmental", + "frame-support", + "frame-system", + "hash-db", + "log", + "memory-db", + "pallet-balances", + "parity-scale-codec", + "polkadot-parachain", + "serde", + "sp-core", + "sp-externalities", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "sp-version", + "trie-db", +] + +[[package]] +name = "cumulus-pallet-xcm-handler" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "cumulus-primitives-core" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "polkadot-core-primitives", + "polkadot-parachain", + "polkadot-primitives", + "sp-runtime", + "sp-std", + "sp-trie", +] + +[[package]] +name = "cumulus-primitives-parachain-inherent" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "cumulus-primitives-core", + "parity-scale-codec", + "sc-client-api", + "sp-api", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", + "sp-std", + "sp-trie", + "tracing", +] + [[package]] name = "curve25519-dalek" version = "2.1.2" @@ -1257,7 +1494,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array 0.12.3", + "generic-array 0.12.4", ] [[package]] @@ -1317,7 +1554,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" dependencies = [ "byteorder", - "quick-error", + "quick-error 1.2.3", ] [[package]] @@ -1377,12 +1614,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] -name = "enum-as-inner" -version = "0.3.3" +name = "enumflags2" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" +checksum = "83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0" +dependencies = [ + "enumflags2_derive", +] + +[[package]] +name = "enumflags2_derive" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce" dependencies = [ - "heck", "proc-macro2", "quote", "syn", @@ -1395,7 +1640,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36" dependencies = [ "atty", - "humantime", + "humantime 1.3.0", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "env_logger" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f" +dependencies = [ + "atty", + "humantime 2.1.0", "log", "regex", "termcolor", @@ -1437,6 +1695,33 @@ dependencies = [ "libc", ] +[[package]] +name = "ethbloom" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-rlp", + "impl-serde", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-rlp", + "impl-serde", + "primitive-types", + "uint", +] + [[package]] name = "event-listener" version = "2.5.1" @@ -1510,7 +1795,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126" dependencies = [ - "env_logger", + "env_logger 0.7.1", "log", ] @@ -1569,7 +1854,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", ] @@ -1587,7 +1872,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "3.1.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "frame-system", @@ -1604,25 +1889,61 @@ dependencies = [ ] [[package]] -name = "frame-executive" +name = "frame-benchmarking-cli" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ - "frame-support", - "frame-system", + "Inflector", + "chrono", + "frame-benchmarking", + "handlebars", "parity-scale-codec", + "sc-cli", + "sc-client-db", + "sc-executor", + "sc-service", "serde", "sp-core", - "sp-io", + "sp-externalities", + "sp-keystore", "sp-runtime", - "sp-std", - "sp-tracing", -] + "sp-state-machine", + "structopt", +] + +[[package]] +name = "frame-election-provider-support" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "sp-arithmetic", + "sp-npos-elections", + "sp-std", +] + +[[package]] +name = "frame-executive" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "sp-tracing", +] [[package]] name = "frame-metadata" version = "13.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "serde", @@ -1633,7 +1954,7 @@ dependencies = [ [[package]] name = "frame-support" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "bitflags", "frame-metadata", @@ -1659,7 +1980,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -1671,7 +1992,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 1.0.0", @@ -1683,7 +2004,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "proc-macro2", "quote", @@ -1693,7 +2014,7 @@ dependencies = [ [[package]] name = "frame-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1710,12 +2031,30 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "parity-scale-codec", + "sp-api", +] + +[[package]] +name = "frame-try-runtime" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ + "frame-support", "parity-scale-codec", "sp-api", + "sp-runtime", + "sp-std", ] +[[package]] +name = "fs-err" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcd1163ae48bda72a20ae26d66a04d3094135cadab911cff418ae5e33f253431" + [[package]] name = "fs-swap" version = "0.2.5" @@ -1768,9 +2107,9 @@ checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" [[package]] name = "futures" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7e4c2612746b0df8fed4ce0c69156021b704c9aefa360311c04e6e9e002eed" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" @@ -1809,7 +2148,7 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "num_cpus", ] @@ -1819,7 +2158,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "futures 0.3.13", "lazy_static", "log", @@ -1858,7 +2197,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.4", + "pin-project-lite 0.2.6", "waker-fn", ] @@ -1915,7 +2254,7 @@ version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "futures-channel", "futures-core", "futures-io", @@ -1923,7 +2262,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.4", + "pin-project-lite 0.2.6", "pin-utils", "proc-macro-hack", "proc-macro-nested", @@ -1936,33 +2275,20 @@ version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" -[[package]] -name = "generator" -version = "0.6.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9fed24fd1e18827652b4d55652899a1e9da8e54d91624dc3437a5bc3a9f9a9c" -dependencies = [ - "cc", - "libc", - "log", - "rustversion", - "winapi 0.3.9", -] - [[package]] name = "generic-array" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" dependencies = [ "typenum", ] [[package]] name = "generic-array" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd" +checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309" dependencies = [ "typenum", ] @@ -2061,7 +2387,7 @@ dependencies = [ "byteorder", "bytes 0.4.12", "fnv", - "futures 0.1.30", + "futures 0.1.31", "http 0.1.21", "indexmap", "log", @@ -2090,6 +2416,20 @@ dependencies = [ "tracing-futures", ] +[[package]] +name = "handlebars" +version = "3.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb0867bbc5a3da37a753e78021d5fcf8a4db00e18dd2dd90fd36e24190e162d" +dependencies = [ + "log", + "pest", + "pest_derive", + "quick-error 2.0.0", + "serde", + "serde_json", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -2134,9 +2474,9 @@ dependencies = [ [[package]] name = "hex" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hex-literal" @@ -2148,6 +2488,12 @@ dependencies = [ "proc-macro-hack", ] +[[package]] +name = "hex-literal" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5af1f635ef1bc545d78392b136bfe1c9809e029023c84a3638a864a10b8819c8" + [[package]] name = "hex-literal-impl" version = "0.2.2" @@ -2190,21 +2536,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6e570451493f10f6581b48cdd530413b63ea9e780f544bfd3bdcaa0d89d1a7b" dependencies = [ "digest 0.8.1", - "generic-array 0.12.3", + "generic-array 0.12.4", "hmac 0.7.1", ] -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - [[package]] name = "http" version = "0.1.21" @@ -2234,7 +2569,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "http 0.1.21", "tokio-buf", ] @@ -2267,9 +2602,15 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f" dependencies = [ - "quick-error", + "quick-error 1.2.3", ] +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "hyper" version = "0.12.36" @@ -2277,7 +2618,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c843caf6296fc1f93444735205af9ed4e109a539005abb2564ae1d6fad34c52" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "futures-cpupool", "h2 0.1.26", "http 0.1.21", @@ -2317,7 +2658,7 @@ dependencies = [ "httpdate", "itoa", "pin-project 1.0.5", - "socket2 0.3.19", + "socket2", "tokio 0.2.25", "tower-service", "tracing", @@ -2387,9 +2728,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "0.2.0" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6d52908d4ea4ab2bc22474ba149bf1011c8e2c3ebc1ff593ae28ac44f494b6" +checksum = "97b8538953a3f0d0d3868f0a706eb4273535e10d72acb5c82c1c23ae48835c85" dependencies = [ "async-io", "futures 0.3.13", @@ -2410,6 +2751,15 @@ dependencies = [ "parity-scale-codec", ] +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + [[package]] name = "impl-serde" version = "0.3.1" @@ -2432,9 +2782,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.6.1" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b" +checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" dependencies = [ "autocfg", "hashbrown", @@ -2450,6 +2800,12 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "integer-encoding" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48dc51180a9b377fd75814d0cc02199c20f8e99433d6762f650d39cdbbd3b56f" + [[package]] name = "integer-sqrt" version = "0.1.5" @@ -2484,18 +2840,6 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f" -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2 0.3.19", - "widestring", - "winapi 0.3.9", - "winreg", -] - [[package]] name = "ipnet" version = "2.3.0" @@ -2511,6 +2855,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.7" @@ -2528,9 +2881,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.47" +version = "0.3.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cfb73131c35423a367daf8cbd24100af0d077668c8c2943f0e7dd775fef0f65" +checksum = "dc9f84f9b115ce7843d60706df1422a916680bfdfcbdb0447c5614ff9d7e4d78" dependencies = [ "wasm-bindgen", ] @@ -2542,7 +2895,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "489b9c612e60c766f751ab40fcb43cbb55a1e10bb44a9b4307ed510ca598cbd7" dependencies = [ "failure", - "futures 0.1.30", + "futures 0.1.31", "jsonrpc-core", "jsonrpc-pubsub", "log", @@ -2557,7 +2910,7 @@ version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0745a6379e3edc893c84ec203589790774e4247420033e71a76d3ab4687991fa" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "log", "serde", "serde_derive", @@ -2657,6 +3010,67 @@ dependencies = [ "slab", ] +[[package]] +name = "jsonrpsee-http-client" +version = "0.2.0-alpha.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f1d8440e2617bdebdf45114e90f65aed3f14bf73e23d874dde8e4b764676fe9" +dependencies = [ + "async-trait", + "futures 0.3.13", + "hyper 0.13.10", + "jsonrpsee-types", + "jsonrpsee-utils", + "log", + "serde", + "serde_json", + "thiserror", + "unicase", + "url 2.2.1", +] + +[[package]] +name = "jsonrpsee-proc-macros" +version = "0.2.0-alpha.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cb3f732ccbeafd15cefb59c7c7b5ac6c553c2653613b63e5e7feb7f06a219e9" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.2.0-alpha.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8cd20c190e75dc56f7543b9d5713c3186351b301b5507ea6b85d8c403aac78" +dependencies = [ + "async-trait", + "futures 0.3.13", + "log", + "serde", + "serde_json", + "smallvec 1.6.1", + "thiserror", +] + +[[package]] +name = "jsonrpsee-utils" +version = "0.2.0-alpha.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51670a3b56e5fb0d325920ce317c76184b8afabfd7bc5009831229cfef0732b" +dependencies = [ + "futures 0.3.13", + "globset", + "hyper 0.13.10", + "jsonrpsee-types", + "lazy_static", + "log", + "unicase", +] + [[package]] name = "keccak" version = "0.1.0" @@ -2673,6 +3087,75 @@ dependencies = [ "winapi-build", ] +[[package]] +name = "kusama-runtime" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-bounties", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-proxy", + "pallet-randomness-collective-flip", + "pallet-recovery", + "pallet-scheduler", + "pallet-session", + "pallet-society", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "pallet-tips", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder 3.0.0", +] + [[package]] name = "kv-log-macro" version = "1.0.7" @@ -2741,9 +3224,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" [[package]] name = "libc" -version = "0.2.86" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c" +checksum = "03b07a082330a35e43f63177cc01689da34fbffa0105e1246cf0311472cac73a" [[package]] name = "libloading" @@ -2763,9 +3246,9 @@ checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a" [[package]] name = "libp2p" -version = "0.36.0" +version = "0.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe5759b526f75102829c15e4d8566603b4bf502ed19b5f35920d98113873470d" +checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a" dependencies = [ "atomic", "bytes 1.0.1", @@ -2784,7 +3267,6 @@ dependencies = [ "libp2p-ping", "libp2p-plaintext", "libp2p-pnet", - "libp2p-relay", "libp2p-request-response", "libp2p-swarm", "libp2p-swarm-derive", @@ -2802,9 +3284,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.28.1" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e1797734bbd4c453664fefb029628f77c356ffc5bce98f06b18a7db3ebb0f7" +checksum = "8a2d56aadc2c2bf22cd7797f86e56a65b5b3994a0136b65be3106938acae7a26" dependencies = [ "asn1_der", "bs58", @@ -2836,9 +3318,9 @@ dependencies = [ [[package]] name = "libp2p-deflate" -version = "0.28.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08" +checksum = "6d42eed63305f0420736fa487f9acef720c4528bd7852a6a760f5ccde4813345" dependencies = [ "flate2", "futures 0.3.13", @@ -2847,23 +3329,20 @@ dependencies = [ [[package]] name = "libp2p-dns" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9712eb3e9f7dcc77cc5ca7d943b6a85ce4b1faaf91a67e003442412a26d6d6f8" +checksum = "5153b6db68fd4baa3b304e377db744dd8fea8ff4e4504509ee636abcde88d3e3" dependencies = [ - "async-std-resolver", "futures 0.3.13", "libp2p-core", "log", - "smallvec 1.6.1", - "trust-dns-resolver", ] [[package]] name = "libp2p-floodsub" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897645f99e9b396df256a6aa8ba8c4bc019ac6b7c62556f624b5feea9acc82bb" +checksum = "b3c63dfa06581b24b1d12bf9815b43689a784424be217d6545c800c7c75a207f" dependencies = [ "cuckoofilter", "fnv", @@ -2879,9 +3358,9 @@ dependencies = [ [[package]] name = "libp2p-gossipsub" -version = "0.29.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794b0c85f5df1acbc1fc38414d37272594811193b6325c76d3931c3e3f5df8c0" +checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1" dependencies = [ "asynchronous-codec 0.6.0", "base64 0.13.0", @@ -2905,9 +3384,9 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f88ebc841d744979176ab4b8b294a3e655a7ba4ef26a905d073a52b49ed4dff5" +checksum = "b40fb36a059b7a8cce1514bd8b546fa612e006c9937caa7f5950cb20021fe91e" dependencies = [ "futures 0.3.13", "libp2p-core", @@ -2921,9 +3400,9 @@ dependencies = [ [[package]] name = "libp2p-kad" -version = "0.29.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb5b90b6bda749023a85f60b49ea74b387c25f17d8df541ae72a3c75dd52e63" +checksum = "cf3da6c9acbcc05f93235d201d7d45ef4e8b88a45d8836f98becd8b4d443f066" dependencies = [ "arrayvec 0.5.2", "asynchronous-codec 0.6.0", @@ -2947,9 +3426,9 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.29.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be28ca13bb648d249a9baebd750ebc64ce7040ddd5f0ce1035ff1f4549fb596d" +checksum = "0e9e6374814d1b118d97ccabdfc975c8910bd16dc38a8bc058eeb08bf2080fe1" dependencies = [ "async-io", "data-encoding", @@ -2960,17 +3439,17 @@ dependencies = [ "libp2p-core", "libp2p-swarm", "log", - "rand 0.8.3", + "rand 0.7.3", "smallvec 1.6.1", - "socket2 0.4.0", + "socket2", "void", ] [[package]] name = "libp2p-mplex" -version = "0.28.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d" +checksum = "350ce8b3923594aedabd5d6e3f875d058435052a29c3f32df378bc70d10be464" dependencies = [ "asynchronous-codec 0.6.0", "bytes 1.0.1", @@ -2986,9 +3465,9 @@ dependencies = [ [[package]] name = "libp2p-noise" -version = "0.30.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd" +checksum = "4aca322b52a0c5136142a7c3971446fb1e9964923a526c9cc6ef3b7c94e57778" dependencies = [ "bytes 1.0.1", "curve25519-dalek 3.0.2", @@ -3008,9 +3487,9 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dea10fc5209260915ea65b78f612d7ff78a29ab288e7aa3250796866af861c45" +checksum = "6f3813276d0708c8db0f500d8beda1bda9ad955723b9cb272c41f4727256f73c" dependencies = [ "futures 0.3.13", "libp2p-core", @@ -3023,9 +3502,9 @@ dependencies = [ [[package]] name = "libp2p-plaintext" -version = "0.28.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11" +checksum = "9d58defcadb646ae4b033e130b48d87410bf76394dc3335496cae99dac803e61" dependencies = [ "asynchronous-codec 0.6.0", "bytes 1.0.1", @@ -3052,34 +3531,11 @@ dependencies = [ "sha3", ] -[[package]] -name = "libp2p-relay" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff268be6a9d6f3c6cca3b81bbab597b15217f9ad8787c6c40fc548c1af7cd24" -dependencies = [ - "asynchronous-codec 0.6.0", - "bytes 1.0.1", - "futures 0.3.13", - "futures-timer 3.0.2", - "libp2p-core", - "libp2p-swarm", - "log", - "pin-project 1.0.5", - "prost", - "prost-build", - "rand 0.7.3", - "smallvec 1.6.1", - "unsigned-varint 0.7.0", - "void", - "wasm-timer", -] - [[package]] name = "libp2p-request-response" -version = "0.10.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "725367dd2318c54c5ab1a6418592e5b01c63b0dedfbbfb8389220b2bcf691899" +checksum = "10e5552827c33d8326502682da73a0ba4bfa40c1b55b216af3c303f32169dd89" dependencies = [ "async-trait", "bytes 1.0.1", @@ -3097,9 +3553,9 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.28.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c26980cadd7c25d89071cb23e1f7f5df4863128cc91d83c6ddc72338cecafa" +checksum = "7955b973e1fd2bd61ffd43ce261c1223f61f4aacd5bae362a924993f9a25fd98" dependencies = [ "either", "futures 0.3.13", @@ -3123,9 +3579,9 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.28.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9" +checksum = "88a5aef80e519a6cb8e2663605142f97baaaea1a252eecbf8756184765f7471b" dependencies = [ "async-io", "futures 0.3.13", @@ -3135,14 +3591,14 @@ dependencies = [ "libc", "libp2p-core", "log", - "socket2 0.4.0", + "socket2", ] [[package]] name = "libp2p-uds" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5" +checksum = "80ac51ce419f60be966e02103c17f67ff5dc4422ba83ba54d251d6c62a4ed487" dependencies = [ "async-std", "futures 0.3.13", @@ -3152,9 +3608,9 @@ dependencies = [ [[package]] name = "libp2p-wasm-ext" -version = "0.28.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6df65fc13f6188edf7e6927b086330448b3ca27af86b49748c6d299d7c8d9040" +checksum = "6149c46cb76935c80bc8be6ec6e3ebd5f5e1679765a255fb34331d54610f15dd" dependencies = [ "futures 0.3.13", "js-sys", @@ -3166,9 +3622,9 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.29.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74" +checksum = "d3b1c6a3431045da8b925ed83384e4c5163e14b990572307fca9c507435d4d22" dependencies = [ "either", "futures 0.3.13", @@ -3184,9 +3640,9 @@ dependencies = [ [[package]] name = "libp2p-yamux" -version = "0.31.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d6144cc94143fb0a8dd1e7c2fbcc32a2808168bcd1d69920635424d5993b7b" +checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a" dependencies = [ "futures 0.3.13", "libp2p-core", @@ -3287,17 +3743,6 @@ dependencies = [ "value-bag", ] -[[package]] -name = "loom" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d44c73b4636e497b4917eb21c33539efa3816741a2d3ff26c6316f1b529481a4" -dependencies = [ - "cfg-if 1.0.0", - "generator", - "scoped-tls", -] - [[package]] name = "lru" version = "0.6.5" @@ -3307,15 +3752,6 @@ dependencies = [ "hashbrown", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "mach" version = "0.3.2" @@ -3326,10 +3762,10 @@ dependencies = [ ] [[package]] -name = "match_cfg" -version = "0.1.0" +name = "maplit" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "matchers" @@ -3405,6 +3841,15 @@ dependencies = [ "parity-util-mem", ] +[[package]] +name = "memory-lru" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beeb98b3d1ed2c0054bd81b5ba949a0243c3ccad751d45ea898fa8059fa2860a" +dependencies = [ + "lru", +] + [[package]] name = "memory_units" version = "0.3.0" @@ -3423,11 +3868,32 @@ dependencies = [ "zeroize", ] +[[package]] +name = "metered-channel" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "derive_more", + "futures 0.3.13", + "futures-timer 3.0.2", +] + +[[package]] +name = "mick-jaeger" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c023c3f16109e7f33aa451f773fd61070e265b4977d0b6e344a51049296dd7df" +dependencies = [ + "futures 0.3.13", + "rand 0.7.3", + "thrift", +] + [[package]] name = "minicbor" -version = "0.8.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea79ce4ab9f445ec6b71833a2290ac0a29c9dde0fa7cae4c481eecae021d9bd9" +checksum = "1c2b2c73f9640fccab53947e2b3474d5071fcbc8f82cac51ddf6c8041a30a9ea" dependencies = [ "minicbor-derive", ] @@ -3445,9 +3911,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" dependencies = [ "adler", "autocfg", @@ -3525,7 +3991,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897" dependencies = [ - "socket2 0.3.19", + "socket2", "winapi 0.3.9", ] @@ -3585,9 +4051,9 @@ checksum = "1255076139a83bb467426e7f8d0134968a8118844faa755985e077cf31850333" [[package]] name = "multistream-select" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5df70763c86c98487451f307e1b68b4100da9076f4c12146905fc2054277f4e8" +checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8" dependencies = [ "bytes 1.0.1", "futures 0.3.13", @@ -3604,7 +4070,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b6147c3d50b4f3cdabfe2ecc94a0191fd3d6ad58aefd9664cf396285883486" dependencies = [ "approx", - "generic-array 0.13.2", + "generic-array 0.13.3", "matrixmultiply", "num-complex", "num-rational", @@ -3631,7 +4097,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "670361df1bc2399ee1ff50406a0d422587dd3bb0da596e1978fe8e05dabddf4f" dependencies = [ "libc", - "socket2 0.3.19", + "socket2", ] [[package]] @@ -3645,6 +4111,18 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "nix" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +dependencies = [ + "bitflags", + "cc", + "cfg-if 1.0.0", + "libc", +] + [[package]] name = "nodrop" version = "0.1.14" @@ -3748,9 +4226,9 @@ checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" [[package]] name = "once_cell" -version = "1.6.0" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad167a2f54e832b82dbe003a046280dceffe5227b5f79e08e363a29638cfddd" +checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" dependencies = [ "parking_lot 0.11.1", ] @@ -3773,6 +4251,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" +[[package]] +name = "ordered-float" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7" +dependencies = [ + "num-traits", +] + [[package]] name = "owning_ref" version = "0.4.1" @@ -3783,18 +4270,17 @@ dependencies = [ ] [[package]] -name = "pallet-aura" +name = "pallet-authority-discovery" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "frame-system", "pallet-session", - "pallet-timestamp", "parity-scale-codec", "serde", "sp-application-crypto", - "sp-consensus-aura", + "sp-authority-discovery", "sp-runtime", "sp-std", ] @@ -3802,7 +4288,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "frame-system", @@ -3814,10 +4300,34 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-babe" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "pallet-timestamp", + "parity-scale-codec", + "serde", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-vrf", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", +] + [[package]] name = "pallet-balances" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-benchmarking", "frame-support", @@ -3829,10 +4339,40 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-bounties" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-support", + "frame-system", + "pallet-treasury", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-collective" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-contracts" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "frame-support", "frame-system", @@ -3854,7 +4394,7 @@ dependencies = [ [[package]] name = "pallet-contracts-primitives" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "bitflags", "parity-scale-codec", @@ -3865,7 +4405,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "proc-macro2", "quote", @@ -3875,7 +4415,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3894,7 +4434,7 @@ dependencies = [ [[package]] name = "pallet-contracts-rpc-runtime-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "pallet-contracts-primitives", "parity-scale-codec", @@ -3903,10 +4443,59 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-democracy" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-election-provider-multi-phase" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-arithmetic", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-std", + "static_assertions", +] + +[[package]] +name = "pallet-elections-phragmen" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-support", + "frame-system", + "log", + "parity-scale-codec", + "serde", + "sp-npos-elections", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-benchmarking", "frame-support", @@ -3926,80 +4515,79 @@ dependencies = [ ] [[package]] -name = "pallet-randomness-collective-flip" +name = "pallet-identity" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ + "enumflags2", + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", - "safe-mix", + "serde", + "sp-io", "sp-runtime", "sp-std", ] [[package]] -name = "pallet-session" +name = "pallet-im-online" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "frame-system", - "impl-trait-for-tuples", - "pallet-timestamp", + "log", + "pallet-authorship", "parity-scale-codec", "serde", + "sp-application-crypto", "sp-core", "sp-io", "sp-runtime", - "sp-session", "sp-staking", "sp-std", - "sp-trie", ] [[package]] -name = "pallet-sudo" +name = "pallet-indices" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", + "sp-core", "sp-io", + "sp-keyring", "sp-runtime", "sp-std", ] [[package]] -name = "pallet-timestamp" +name = "pallet-membership" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "frame-benchmarking", "frame-support", "frame-system", - "impl-trait-for-tuples", - "log", "parity-scale-codec", "serde", - "sp-inherents", + "sp-io", "sp-runtime", "sp-std", - "sp-timestamp", ] [[package]] -name = "pallet-transaction-payment" +name = "pallet-multisig" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-support", "frame-system", "parity-scale-codec", "serde", - "smallvec 1.6.1", "sp-core", "sp-io", "sp-runtime", @@ -4007,415 +4595,1668 @@ dependencies = [ ] [[package]] -name = "pallet-transaction-payment-rpc" +name = "pallet-nicks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "jsonrpc-core", - "jsonrpc-core-client", - "jsonrpc-derive", - "pallet-transaction-payment-rpc-runtime-api", + "frame-support", + "frame-system", "parity-scale-codec", - "sp-api", - "sp-blockchain", - "sp-core", - "sp-rpc", + "serde", + "sp-io", "sp-runtime", + "sp-std", ] [[package]] -name = "pallet-transaction-payment-rpc-runtime-api" +name = "pallet-offences" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "pallet-transaction-payment", + "frame-support", + "frame-system", + "log", + "pallet-balances", "parity-scale-codec", - "sp-api", + "serde", "sp-runtime", + "sp-staking", + "sp-std", ] [[package]] -name = "parity-db" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495197c078e54b8735181aa35c00a327f7f3a3cc00a1ee8c95926dd010f0ec6b" +name = "pallet-proxy" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "blake2-rfc", - "crc32fast", - "fs2", - "hex", - "libc", - "log", - "memmap2", - "parking_lot 0.11.1", - "rand 0.8.3", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "parity-multiaddr" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4" +name = "pallet-randomness-collective-flip" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "arrayref", - "bs58", - "byteorder", - "data-encoding", - "multihash", - "percent-encoding 2.1.0", - "serde", - "static_assertions", - "unsigned-varint 0.7.0", - "url 2.2.1", + "frame-support", + "frame-system", + "parity-scale-codec", + "safe-mix", + "sp-runtime", + "sp-std", ] [[package]] -name = "parity-scale-codec" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75c823fdae1bb5ff5708ee61a62697e6296175dc671710876871c853f48592b3" +name = "pallet-recovery" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "arrayvec 0.5.2", - "bitvec", - "byte-slice-cast", - "parity-scale-codec-derive", + "enumflags2", + "frame-support", + "frame-system", + "parity-scale-codec", "serde", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "parity-scale-codec-derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9029e65297c7fd6d7013f0579e193ec2b34ae78eabca854c9417504ad8a2d214" +name = "pallet-scheduler" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "proc-macro-crate 0.1.5", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - -[[package]] -name = "parity-tokio-ipc" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" -dependencies = [ - "bytes 0.4.12", - "futures 0.1.30", - "libc", + "frame-benchmarking", + "frame-support", + "frame-system", "log", - "mio-named-pipes", - "miow 0.3.6", - "rand 0.7.3", - "tokio 0.1.22", - "tokio-named-pipes", - "tokio-uds", - "winapi 0.3.9", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "parity-util-mem" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42" +name = "pallet-session" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "cfg-if 1.0.0", - "hashbrown", + "frame-support", + "frame-system", "impl-trait-for-tuples", - "parity-util-mem-derive", - "parking_lot 0.11.1", - "primitive-types", - "smallvec 1.6.1", - "winapi 0.3.9", + "pallet-timestamp", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-trie", ] [[package]] -name = "parity-util-mem-derive" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" +name = "pallet-society" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "proc-macro2", - "syn", - "synstructure", + "frame-support", + "frame-system", + "parity-scale-codec", + "rand_chacha 0.2.2", + "serde", + "sp-runtime", + "sp-std", ] [[package]] -name = "parity-wasm" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" +name = "pallet-staking" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "byteorder", + "frame-election-provider-support", + "frame-support", + "frame-system", + "log", + "pallet-authorship", + "pallet-session", + "parity-scale-codec", + "paste 1.0.4", + "serde", + "sp-application-crypto", + "sp-io", + "sp-npos-elections", + "sp-runtime", + "sp-staking", + "sp-std", + "static_assertions", ] [[package]] -name = "parity-wasm" -version = "0.41.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" +name = "pallet-staking-reward-curve" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] [[package]] -name = "parity-ws" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61" +name = "pallet-sudo" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "byteorder", - "bytes 0.4.12", - "httparse", - "log", - "mio", - "mio-extras", - "rand 0.7.3", - "sha-1 0.8.2", - "slab", - "url 2.2.1", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "parking" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +name = "pallet-timestamp" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "serde", + "sp-inherents", + "sp-runtime", + "sp-std", + "sp-timestamp", +] [[package]] -name = "parking_lot" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" +name = "pallet-tips" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.6.2", - "rustc_version", + "frame-support", + "frame-system", + "pallet-treasury", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", ] [[package]] -name = "parking_lot" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" +name = "pallet-transaction-payment" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "lock_api 0.3.4", - "parking_lot_core 0.7.2", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "smallvec 1.6.1", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "parking_lot" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +name = "pallet-transaction-payment-rpc" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "instant", - "lock_api 0.4.2", - "parking_lot_core 0.8.3", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", ] [[package]] -name = "parking_lot_core" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" +name = "pallet-transaction-payment-rpc-runtime-api" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "rustc_version", - "smallvec 0.6.14", - "winapi 0.3.9", + "pallet-transaction-payment", + "parity-scale-codec", + "sp-api", + "sp-runtime", ] [[package]] -name = "parking_lot_core" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" +name = "pallet-treasury" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "cfg-if 0.1.10", - "cloudabi", - "libc", - "redox_syscall 0.1.57", - "smallvec 1.6.1", - "winapi 0.3.9", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-balances", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", ] [[package]] -name = "parking_lot_core" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +name = "pallet-utility" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "cfg-if 1.0.0", - "instant", - "libc", - "redox_syscall 0.2.5", - "smallvec 1.6.1", - "winapi 0.3.9", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", ] [[package]] -name = "paste" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" +name = "pallet-vesting" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "paste-impl", - "proc-macro-hack", + "enumflags2", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-runtime", + "sp-std", ] [[package]] -name = "paste" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5d65c4d95931acda4498f675e332fcbdc9a06705cd07086c510e9b6009cd1c1" +name = "parachain-info" +version = "0.1.0" +source = "git+https://github.com/paritytech/cumulus?branch=rococo-v1#9d89ed653217203810822483ae86fd8867f59620" +dependencies = [ + "cumulus-primitives-core", + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", +] [[package]] -name = "paste-impl" -version = "0.1.18" +name = "parity-db" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" +checksum = "495197c078e54b8735181aa35c00a327f7f3a3cc00a1ee8c95926dd010f0ec6b" dependencies = [ - "proc-macro-hack", + "blake2-rfc", + "crc32fast", + "fs2", + "hex", + "libc", + "log", + "memmap2", + "parking_lot 0.11.1", + "rand 0.8.3", ] [[package]] -name = "pbkdf2" -version = "0.3.0" +name = "parity-multiaddr" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" +checksum = "d2c6805f98667a3828afb2ec2c396a8d610497e8d546f5447188aae47c5a79ec" dependencies = [ + "arrayref", + "bs58", "byteorder", - "crypto-mac 0.7.0", + "data-encoding", + "multihash", + "percent-encoding 2.1.0", + "serde", + "static_assertions", + "unsigned-varint 0.7.0", + "url 2.2.1", ] [[package]] -name = "pbkdf2" -version = "0.4.0" +name = "parity-scale-codec" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +checksum = "0cd3dab59b5cf4bc81069ade0fc470341a1ef3ad5fa73e5a8943bed2ec12b2e8" dependencies = [ - "crypto-mac 0.8.0", + "arrayvec 0.5.2", + "bitvec", + "byte-slice-cast", + "parity-scale-codec-derive", + "serde", ] [[package]] -name = "pdqselect" +name = "parity-scale-codec-derive" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa04976a81fde04924b40cc4036c4d12841e8bb04325a5cf2ada75731a150a7d" +dependencies = [ + "proc-macro-crate 0.1.5", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-send-wrapper" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" +checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" [[package]] -name = "peeking_take_while" -version = "0.1.2" +name = "parity-tokio-ipc" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" +checksum = "1e57fea504fea33f9fbb5f49f378359030e7e026a6ab849bb9e8f0787376f1bf" +dependencies = [ + "bytes 0.4.12", + "futures 0.1.31", + "libc", + "log", + "mio-named-pipes", + "miow 0.3.6", + "rand 0.7.3", + "tokio 0.1.22", + "tokio-named-pipes", + "tokio-uds", + "winapi 0.3.9", +] [[package]] -name = "percent-encoding" -version = "1.0.1" +name = "parity-util-mem" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42" +dependencies = [ + "cfg-if 1.0.0", + "ethereum-types", + "hashbrown", + "impl-trait-for-tuples", + "lru", + "parity-util-mem-derive", + "parking_lot 0.11.1", + "primitive-types", + "smallvec 1.6.1", + "winapi 0.3.9", +] [[package]] -name = "percent-encoding" -version = "2.1.0" +name = "parity-util-mem-derive" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "f557c32c6d268a07c921471619c0295f5efad3a0e76d4f97a05c091a51d110b2" +dependencies = [ + "proc-macro2", + "syn", + "synstructure", +] [[package]] -name = "pest" -version = "2.1.3" +name = "parity-wasm" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +checksum = "16ad52817c4d343339b3bc2e26861bd21478eda0b7509acf83505727000512ac" dependencies = [ - "ucd-trie", + "byteorder", ] [[package]] -name = "petgraph" -version = "0.5.1" +name = "parity-wasm" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" + +[[package]] +name = "parity-ws" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61" dependencies = [ - "fixedbitset", - "indexmap", + "byteorder", + "bytes 0.4.12", + "httparse", + "log", + "mio", + "mio-extras", + "rand 0.7.3", + "sha-1 0.8.2", + "slab", + "url 2.2.1", ] [[package]] -name = "pin-project" -version = "0.4.27" +name = "parking" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffbc8e94b38ea3d2d8ba92aea2983b503cd75d0888d75b86bb37970b5698e15" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252" dependencies = [ - "pin-project-internal 0.4.27", + "lock_api 0.3.4", + "parking_lot_core 0.6.2", + "rustc_version", ] [[package]] -name = "pin-project" -version = "1.0.5" +name = "parking_lot" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96fa8ebb90271c4477f144354485b8068bd8f6b78b428b01ba892ca26caf0b63" +checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e" dependencies = [ - "pin-project-internal 1.0.5", + "lock_api 0.3.4", + "parking_lot_core 0.7.2", ] [[package]] -name = "pin-project-internal" -version = "0.4.27" +name = "parking_lot" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65ad2ae56b6abe3a1ee25f15ee605bacadb9a764edaba9c2bf4103800d4a1895" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" dependencies = [ - "proc-macro2", - "quote", - "syn", + "instant", + "lock_api 0.4.2", + "parking_lot_core 0.8.3", ] [[package]] -name = "pin-project-internal" -version = "1.0.5" +name = "parking_lot_core" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "758669ae3558c6f74bd2a18b41f7ac0b5a195aea6639d6a9b5e5d1ad5ba24c0b" +checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b" dependencies = [ - "proc-macro2", - "quote", - "syn", + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "rustc_version", + "smallvec 0.6.14", + "winapi 0.3.9", ] [[package]] -name = "pin-project-lite" -version = "0.1.11" +name = "parking_lot_core" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b" +checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3" +dependencies = [ + "cfg-if 0.1.10", + "cloudabi", + "libc", + "redox_syscall 0.1.57", + "smallvec 1.6.1", + "winapi 0.3.9", +] [[package]] -name = "pin-project-lite" -version = "0.2.4" +name = "parking_lot_core" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +dependencies = [ + "cfg-if 1.0.0", + "instant", + "libc", + "redox_syscall 0.2.5", + "smallvec 1.6.1", + "winapi 0.3.9", +] [[package]] -name = "pin-utils" -version = "0.1.0" +name = "paste" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" +dependencies = [ + "paste-impl", + "proc-macro-hack", +] [[package]] -name = "pkg-config" -version = "0.3.19" +name = "paste" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" +checksum = "c5d65c4d95931acda4498f675e332fcbdc9a06705cd07086c510e9b6009cd1c1" [[package]] -name = "platforms" -version = "1.1.0" +name = "paste-impl" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325" +checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" +dependencies = [ + "proc-macro-hack", +] + +[[package]] +name = "pbkdf2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9" +dependencies = [ + "byteorder", + "crypto-mac 0.7.0", +] + +[[package]] +name = "pbkdf2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" +dependencies = [ + "crypto-mac 0.8.0", +] + +[[package]] +name = "pdqselect" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" + +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "percent-encoding" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +dependencies = [ + "maplit", + "pest", + "sha-1 0.8.2", +] + +[[package]] +name = "petgraph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pin-project" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffbc8e94b38ea3d2d8ba92aea2983b503cd75d0888d75b86bb37970b5698e15" +dependencies = [ + "pin-project-internal 0.4.27", +] + +[[package]] +name = "pin-project" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96fa8ebb90271c4477f144354485b8068bd8f6b78b428b01ba892ca26caf0b63" +dependencies = [ + "pin-project-internal 1.0.5", +] + +[[package]] +name = "pin-project-internal" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65ad2ae56b6abe3a1ee25f15ee605bacadb9a764edaba9c2bf4103800d4a1895" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "758669ae3558c6f74bd2a18b41f7ac0b5a195aea6639d6a9b5e5d1ad5ba24c0b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" + +[[package]] +name = "pin-project-lite" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "platforms" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325" + +[[package]] +name = "polkadot-approval-distribution" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "tracing", +] + +[[package]] +name = "polkadot-availability-bitfield-distribution" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "parity-scale-codec", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "tracing", +] + +[[package]] +name = "polkadot-availability-distribution" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "lru", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-core-runtime-api", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.3", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-availability-recovery" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "lru", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.3", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-cli" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#e87da3de1a5c32d62fc45b86cac777095615d75d" +dependencies = [ + "frame-benchmarking-cli", + "futures 0.3.13", + "log", + "polkadot-parachain", + "polkadot-service", + "sc-cli", + "sc-service", + "sp-core", + "sp-trie", + "structopt", + "substrate-build-script-utils", + "thiserror", + "try-runtime-cli", +] + +[[package]] +name = "polkadot-collator-protocol" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "always-assert", + "futures 0.3.13", + "futures-timer 3.0.2", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-core", + "sp-runtime", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-core-primitives" +version = "0.7.30" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "parity-scale-codec", + "parity-util-mem", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "polkadot-erasure-coding" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "parity-scale-codec", + "polkadot-primitives", + "reed-solomon-novelpoly", + "sp-core", + "sp-trie", + "thiserror", +] + +[[package]] +name = "polkadot-gossip-support" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "rand 0.8.3", + "tracing", +] + +[[package]] +name = "polkadot-network-bridge" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "async-trait", + "futures 0.3.13", + "parity-scale-codec", + "parking_lot 0.11.1", + "polkadot-node-network-protocol", + "polkadot-node-subsystem", + "polkadot-primitives", + "sc-authority-discovery", + "sc-network", + "strum", + "tracing", +] + +[[package]] +name = "polkadot-node-collation-generation" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-core", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-approval-voting" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "derive_more", + "futures 0.3.13", + "futures-timer 3.0.2", + "kvdb", + "kvdb-rocksdb", + "merlin", + "parity-scale-codec", + "polkadot-node-jaeger", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "sc-client-api", + "sc-keystore", + "schnorrkel", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus-slots", + "sp-runtime", + "tracing", +] + +[[package]] +name = "polkadot-node-core-av-store" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "futures 0.3.13", + "futures-timer 3.0.2", + "kvdb", + "kvdb-rocksdb", + "parity-scale-codec", + "polkadot-erasure-coding", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-primitives", + "sc-service", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-backing" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "futures 0.3.13", + "polkadot-erasure-coding", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "polkadot-statement-table", + "sp-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-bitfield-signing" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-keystore", + "thiserror", + "tracing", + "wasm-timer", +] + +[[package]] +name = "polkadot-node-core-candidate-selection" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-keystore", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-candidate-validation" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "parity-scale-codec", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-parachain", + "polkadot-primitives", + "sp-core", + "tracing", +] + +[[package]] +name = "polkadot-node-core-chain-api" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-blockchain", + "tracing", +] + +[[package]] +name = "polkadot-node-core-proposer" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "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", + "tracing", +] + +[[package]] +name = "polkadot-node-core-provisioner" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "futures 0.3.13", + "futures-timer 3.0.2", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-core-runtime-api" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "memory-lru", + "parity-util-mem", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-api", + "sp-consensus-babe", + "sp-core", + "tracing", +] + +[[package]] +name = "polkadot-node-jaeger" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "async-std", + "lazy_static", + "log", + "mick-jaeger", + "parity-scale-codec", + "parking_lot 0.11.1", + "polkadot-primitives", + "sc-network", + "sp-core", + "thiserror", +] + +[[package]] +name = "polkadot-node-network-protocol" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "parity-scale-codec", + "polkadot-node-jaeger", + "polkadot-node-primitives", + "polkadot-primitives", + "sc-network", + "strum", + "thiserror", +] + +[[package]] +name = "polkadot-node-primitives" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "futures 0.3.13", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-statement-table", + "schnorrkel", + "sp-application-crypto", + "sp-consensus-babe", + "sp-consensus-vrf", + "sp-core", + "sp-runtime", + "thiserror", +] + +[[package]] +name = "polkadot-node-subsystem" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "async-std", + "async-trait", + "derive_more", + "futures 0.3.13", + "futures-timer 3.0.2", + "lazy_static", + "log", + "mick-jaeger", + "parity-scale-codec", + "parking_lot 0.11.1", + "pin-project 1.0.5", + "polkadot-node-jaeger", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-primitives", + "polkadot-procmacro-subsystem-dispatch-gen", + "polkadot-statement-table", + "sc-network", + "smallvec 1.6.1", + "sp-core", + "substrate-prometheus-endpoint", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-node-subsystem-util" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "async-trait", + "futures 0.3.13", + "futures-timer 3.0.2", + "metered-channel", + "parity-scale-codec", + "pin-project 1.0.5", + "polkadot-node-jaeger", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-primitives", + "sc-network", + "sp-application-crypto", + "sp-core", + "sp-keystore", + "streamunordered", + "substrate-prometheus-endpoint", + "thiserror", + "tracing", +] + +[[package]] +name = "polkadot-overseer" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "async-trait", + "futures 0.3.13", + "futures-timer 3.0.2", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sc-client-api", + "tracing", +] + +[[package]] +name = "polkadot-parachain" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "derive_more", + "futures 0.3.13", + "libc", + "log", + "parity-scale-codec", + "parity-util-mem", + "parking_lot 0.11.1", + "polkadot-core-primitives", + "raw_sync", + "sc-executor", + "serde", + "shared_memory", + "sp-core", + "sp-externalities", + "sp-io", + "sp-runtime", + "sp-std", + "sp-wasm-interface", + "static_assertions", + "thiserror", +] + +[[package]] +name = "polkadot-primitives" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "frame-system", + "hex-literal 0.3.1", + "parity-scale-codec", + "parity-util-mem", + "polkadot-core-primitives", + "polkadot-parachain", + "serde", + "sp-api", + "sp-application-crypto", + "sp-arithmetic", + "sp-authority-discovery", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-staking", + "sp-std", + "sp-trie", + "sp-version", + "thiserror", + "zstd", +] + +[[package]] +name = "polkadot-procmacro-subsystem-dispatch-gen" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "assert_matches", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "polkadot-rpc" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "jsonrpc-core", + "pallet-transaction-payment-rpc", + "parity-scale-codec", + "polkadot-primitives", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-babe-rpc", + "sc-consensus-epochs", + "sc-finality-grandpa", + "sc-finality-grandpa-rpc", + "sc-keystore", + "sc-rpc", + "sc-sync-state-rpc", + "sp-api", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-keystore", + "sp-runtime", + "sp-transaction-pool", + "substrate-frame-rpc-system", +] + +[[package]] +name = "polkadot-runtime" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-bounties", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-proxy", + "pallet-randomness-collective-flip", + "pallet-scheduler", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-timestamp", + "pallet-tips", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-common", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder 3.0.0", +] + +[[package]] +name = "polkadot-runtime-common" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "log", + "pallet-authorship", + "pallet-balances", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-treasury", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "static_assertions", + "xcm", +] + +[[package]] +name = "polkadot-runtime-parachains" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "derive_more", + "frame-support", + "frame-system", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-balances", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-timestamp", + "pallet-vesting", + "parity-scale-codec", + "polkadot-primitives", + "rand 0.8.3", + "rand_chacha 0.3.0", + "rustc-hex", + "serde", + "sp-api", + "sp-core", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "polkadot-service" +version = "0.8.3" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "frame-benchmarking", + "frame-system-rpc-runtime-api", + "futures 0.3.13", + "hex-literal 0.3.1", + "kusama-runtime", + "pallet-babe", + "pallet-im-online", + "pallet-staking", + "pallet-transaction-payment-rpc-runtime-api", + "polkadot-approval-distribution", + "polkadot-availability-bitfield-distribution", + "polkadot-availability-distribution", + "polkadot-availability-recovery", + "polkadot-collator-protocol", + "polkadot-gossip-support", + "polkadot-network-bridge", + "polkadot-node-collation-generation", + "polkadot-node-core-approval-voting", + "polkadot-node-core-av-store", + "polkadot-node-core-backing", + "polkadot-node-core-bitfield-signing", + "polkadot-node-core-candidate-selection", + "polkadot-node-core-candidate-validation", + "polkadot-node-core-chain-api", + "polkadot-node-core-proposer", + "polkadot-node-core-provisioner", + "polkadot-node-core-runtime-api", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-overseer", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-rpc", + "polkadot-runtime", + "polkadot-runtime-parachains", + "polkadot-statement-distribution", + "rococo-runtime", + "sc-authority-discovery", + "sc-block-builder", + "sc-chain-spec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-consensus-babe", + "sc-consensus-slots", + "sc-executor", + "sc-finality-grandpa", + "sc-finality-grandpa-warp-sync", + "sc-keystore", + "sc-network", + "sc-service", + "sc-telemetry", + "sc-transaction-pool", + "serde", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-io", + "sp-keystore", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-state-machine", + "sp-storage", + "sp-transaction-pool", + "sp-trie", + "substrate-prometheus-endpoint", + "thiserror", + "tracing", + "westend-runtime", +] + +[[package]] +name = "polkadot-statement-distribution" +version = "0.1.0" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "arrayvec 0.5.2", + "futures 0.3.13", + "indexmap", + "polkadot-node-network-protocol", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-node-subsystem-util", + "polkadot-primitives", + "sp-staking", + "tracing", +] + +[[package]] +name = "polkadot-statement-table" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "parity-scale-codec", + "polkadot-primitives", + "sp-core", +] + +[[package]] +name = "polkadot-test-runtime" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#e87da3de1a5c32d62fc45b86cac777095615d75d" +dependencies = [ + "bitvec", + "frame-election-provider-support", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-grandpa", + "pallet-indices", + "pallet-nicks", + "pallet-offences", + "pallet-randomness-collective-flip", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-vesting", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder 3.0.0", +] + +[[package]] +name = "polkadot-test-service" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#e87da3de1a5c32d62fc45b86cac777095615d75d" +dependencies = [ + "frame-benchmarking", + "frame-system", + "futures 0.1.31", + "futures 0.3.13", + "hex", + "pallet-balances", + "pallet-staking", + "pallet-transaction-payment", + "polkadot-node-primitives", + "polkadot-node-subsystem", + "polkadot-overseer", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-rpc", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "polkadot-service", + "polkadot-test-runtime", + "rand 0.8.3", + "sc-authority-discovery", + "sc-chain-spec", + "sc-cli", + "sc-client-api", + "sc-consensus", + "sc-consensus-babe", + "sc-executor", + "sc-finality-grandpa", + "sc-network", + "sc-service", + "sc-tracing", + "sc-transaction-pool", + "sp-arithmetic", + "sp-authority-discovery", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-finality-grandpa", + "sp-inherents", + "sp-keyring", + "sp-runtime", + "sp-state-machine", + "substrate-test-client", + "tempfile", + "tracing", +] [[package]] name = "polling" @@ -4465,6 +6306,7 @@ checksum = "2415937401cb030a2a0a4d922483f945fa068f52a7dbb22ce0fe5f2b6f6adace" dependencies = [ "fixed-hash", "impl-codec", + "impl-rlp", "impl-serde", "uint", ] @@ -4565,7 +6407,7 @@ checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3" dependencies = [ "bytes 1.0.1", "heck", - "itertools", + "itertools 0.9.0", "log", "multimap", "petgraph", @@ -4582,7 +6424,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4" dependencies = [ "anyhow", - "itertools", + "itertools 0.9.0", "proc-macro2", "quote", "syn", @@ -4635,6 +6477,12 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-error" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda" + [[package]] name = "quicksink" version = "0.1.2" @@ -4643,7 +6491,7 @@ checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" dependencies = [ "futures-core", "futures-sink", - "pin-project-lite 0.1.11", + "pin-project-lite 0.1.12", ] [[package]] @@ -4810,6 +6658,19 @@ dependencies = [ "rustc_version", ] +[[package]] +name = "raw_sync" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a34bde3561f980a51c70495164200569a11662644fe5af017f0b5d7015688cc" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "nix", + "rand 0.8.3", + "winapi 0.3.9", +] + [[package]] name = "rawpointer" version = "0.2.1" @@ -4836,7 +6697,7 @@ checksum = "9ab346ac5921dc62ffa9f89b7a773907511cdfa5490c572ae9be1be33e8afa4a" dependencies = [ "crossbeam-channel", "crossbeam-deque 0.8.0", - "crossbeam-utils 0.8.2", + "crossbeam-utils 0.8.3", "lazy_static", "num_cpus", ] @@ -4886,6 +6747,19 @@ dependencies = [ "redox_syscall 0.2.5", ] +[[package]] +name = "reed-solomon-novelpoly" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f11e01a8ef53ec033daf53a9385a1d0bb266155797919096e4134118f45efe82" +dependencies = [ + "derive_more", + "fs-err", + "itertools 0.10.0", + "static_init", + "thiserror", +] + [[package]] name = "ref-cast" version = "1.0.6" @@ -4919,14 +6793,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.4.3" +version = "1.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a" +checksum = "54fd1046a3107eb58f42de31d656fee6853e5d276c455fd943742dce89fc3dd3" dependencies = [ "aho-corasick", "memchr", "regex-syntax", - "thread_local", ] [[package]] @@ -4941,9 +6814,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.22" +version = "0.6.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" +checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548" [[package]] name = "region" @@ -4958,22 +6831,29 @@ dependencies = [ ] [[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +name = "remote-externalities" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ - "winapi 0.3.9", + "env_logger 0.8.3", + "hex-literal 0.3.1", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-types", + "log", + "parity-scale-codec", + "sp-core", + "sp-io", + "sp-runtime", ] [[package]] -name = "resolv-conf" -version = "0.7.0" +name = "remove_dir_all" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" dependencies = [ - "hostname", - "quick-error", + "winapi 0.3.9", ] [[package]] @@ -4997,6 +6877,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "rlp" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8" +dependencies = [ + "bytes 1.0.1", + "rustc-hex", +] + [[package]] name = "rocksdb" version = "0.15.0" @@ -5007,6 +6897,60 @@ dependencies = [ "librocksdb-sys", ] +[[package]] +name = "rococo-runtime" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "hex-literal 0.3.1", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-grandpa", + "pallet-im-online", + "pallet-indices", + "pallet-offences", + "pallet-session", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "substrate-wasm-builder 3.0.0", + "xcm", + "xcm-builder", + "xcm-executor", +] + [[package]] name = "rpassword" version = "5.0.1" @@ -5026,7 +6970,7 @@ dependencies = [ "base64 0.13.0", "blake2b_simd", "constant_time_eq", - "crossbeam-utils 0.8.2", + "crossbeam-utils 0.8.3", ] [[package]] @@ -5094,12 +7038,6 @@ dependencies = [ "security-framework", ] -[[package]] -name = "rustversion" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd" - [[package]] name = "rw-stream-sink" version = "0.2.1" @@ -5144,10 +7082,38 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sc-authority-discovery" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "async-trait", + "derive_more", + "either", + "futures 0.3.13", + "futures-timer 3.0.2", + "libp2p", + "log", + "parity-scale-codec", + "prost", + "prost-build", + "rand 0.7.3", + "sc-client-api", + "sc-network", + "serde_json", + "sp-api", + "sp-authority-discovery", + "sp-blockchain", + "sp-core", + "sp-keystore", + "sp-runtime", + "substrate-prometheus-endpoint", +] + [[package]] name = "sc-basic-authorship" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "futures-timer 3.0.2", @@ -5170,7 +7136,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5186,7 +7152,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -5207,7 +7173,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5218,7 +7184,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "chrono", "fdlimit", @@ -5256,7 +7222,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "fnv", @@ -5290,7 +7256,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "blake2-rfc", "hash-db", @@ -5320,50 +7286,18 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" -dependencies = [ - "sc-client-api", - "sp-blockchain", - "sp-consensus", - "sp-runtime", -] - -[[package]] -name = "sc-consensus-aura" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "derive_more", - "futures 0.3.13", - "futures-timer 3.0.2", - "log", - "parity-scale-codec", - "parking_lot 0.11.1", - "sc-block-builder", "sc-client-api", - "sc-consensus-slots", - "sc-telemetry", - "sp-api", - "sp-application-crypto", - "sp-block-builder", "sp-blockchain", "sp-consensus", - "sp-consensus-aura", - "sp-consensus-slots", - "sp-core", - "sp-inherents", - "sp-io", - "sp-keystore", "sp-runtime", - "sp-timestamp", - "sp-version", - "substrate-prometheus-endpoint", ] [[package]] name = "sc-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "fork-tree", @@ -5406,10 +7340,34 @@ dependencies = [ "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-consensus-babe-rpc" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "derive_more", + "futures 0.3.13", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-rpc-api", + "serde", + "sp-api", + "sp-application-crypto", + "sp-blockchain", + "sp-consensus", + "sp-consensus-babe", + "sp-core", + "sp-keystore", + "sp-runtime", +] + [[package]] name = "sc-consensus-epochs" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "fork-tree", "parity-scale-codec", @@ -5422,13 +7380,13 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "async-trait", "futures 0.3.13", "futures-timer 3.0.2", "log", "parity-scale-codec", + "parking_lot 0.11.1", "sc-client-api", "sc-telemetry", "sp-api", @@ -5449,7 +7407,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "sc-client-api", @@ -5463,7 +7421,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "lazy_static", @@ -5492,7 +7450,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "parity-scale-codec", @@ -5508,7 +7466,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "parity-scale-codec", @@ -5523,7 +7481,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "parity-scale-codec", @@ -5541,7 +7499,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "dyn-clone", @@ -5577,10 +7535,55 @@ dependencies = [ "substrate-prometheus-endpoint", ] +[[package]] +name = "sc-finality-grandpa-rpc" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "derive_more", + "finality-grandpa", + "futures 0.3.13", + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "jsonrpc-pubsub", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-finality-grandpa", + "sc-rpc", + "serde", + "serde_json", + "sp-blockchain", + "sp-core", + "sp-runtime", +] + +[[package]] +name = "sc-finality-grandpa-warp-sync" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "derive_more", + "futures 0.3.13", + "log", + "num-traits", + "parity-scale-codec", + "parking_lot 0.11.1", + "prost", + "sc-client-api", + "sc-finality-grandpa", + "sc-network", + "sc-service", + "sp-blockchain", + "sp-finality-grandpa", + "sp-runtime", +] + [[package]] name = "sc-informant" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "ansi_term 0.12.1", "futures 0.3.13", @@ -5598,7 +7601,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "async-trait", "derive_more", @@ -5618,7 +7621,7 @@ dependencies = [ [[package]] name = "sc-light" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "hash-db", "lazy_static", @@ -5637,7 +7640,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "async-std", "async-trait", @@ -5690,7 +7693,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "futures-timer 3.0.2", @@ -5707,7 +7710,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "bytes 0.5.6", "fnv", @@ -5735,7 +7738,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "libp2p", @@ -5748,7 +7751,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -5757,7 +7760,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "hash-db", @@ -5791,7 +7794,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "futures 0.3.13", @@ -5815,9 +7818,9 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "jsonrpc-core", "jsonrpc-http-server", "jsonrpc-ipc-server", @@ -5833,11 +7836,11 @@ dependencies = [ [[package]] name = "sc-service" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "directories", "exit-future", - "futures 0.1.30", + "futures 0.1.31", "futures 0.3.13", "futures-timer 3.0.2", "hash-db", @@ -5896,7 +7899,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "parity-scale-codec", @@ -5908,10 +7911,30 @@ dependencies = [ "thiserror", ] +[[package]] +name = "sc-sync-state-rpc" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "jsonrpc-core", + "jsonrpc-core-client", + "jsonrpc-derive", + "sc-chain-spec", + "sc-client-api", + "sc-consensus-babe", + "sc-consensus-epochs", + "sc-finality-grandpa", + "sc-rpc-api", + "serde_json", + "sp-blockchain", + "sp-runtime", + "thiserror", +] + [[package]] name = "sc-telemetry" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "chrono", "futures 0.3.13", @@ -5931,7 +7954,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "ansi_term 0.12.1", "atty", @@ -5958,7 +7981,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "proc-macro-crate 1.0.0", "proc-macro2", @@ -5969,7 +7992,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "futures 0.3.13", @@ -5991,7 +8014,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "futures-diagnose", @@ -6162,18 +8185,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.123" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae" +checksum = "bd761ff957cb2a45fbb9ab3da6512de9de55872866160b23c25f1a841e99d29f" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.123" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31" +checksum = "1800f7693e94e186f5e25a28291ae1570da908aff7d97a095dec1e56ff99069b" dependencies = [ "proc-macro2", "quote", @@ -6182,9 +8205,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.62" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea1c6153794552ea7cf7cf63b1231a25de00ec90db326ba6264440fa08e31486" +checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" dependencies = [ "itoa", "ryu", @@ -6262,6 +8285,20 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shared_memory" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b854a362375dfe8ab12ea8a98228040d37293c988f85fbac9fa0f83336387966" +dependencies = [ + "cfg-if 0.1.10", + "libc", + "nix", + "quick-error 2.0.0", + "rand 0.8.3", + "winapi 0.3.9", +] + [[package]] name = "shlex" version = "0.1.1" @@ -6270,9 +8307,9 @@ checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" [[package]] name = "signal-hook" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7f3f92a1da3d6b1d32245d0cbcbbab0cfc45996d8df619c42bccfa6d2bbb5f" +checksum = "6aa894ef3fade0ee7243422f4fbbd6c2b48e6de767e621d37ef65f2310f53cea" dependencies = [ "libc", "signal-hook-registry", @@ -6355,16 +8392,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "socket2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" -dependencies = [ - "libc", - "winapi 0.3.9", -] - [[package]] name = "soketto" version = "0.4.2" @@ -6384,7 +8411,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "sp-core", @@ -6396,7 +8423,7 @@ dependencies = [ [[package]] name = "sp-api" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "hash-db", "log", @@ -6413,7 +8440,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "blake2-rfc", "proc-macro-crate 1.0.0", @@ -6425,7 +8452,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "serde", @@ -6437,7 +8464,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "integer-sqrt", "num-traits", @@ -6447,10 +8474,22 @@ dependencies = [ "sp-std", ] +[[package]] +name = "sp-authority-discovery" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "parity-scale-codec", + "sp-api", + "sp-application-crypto", + "sp-runtime", + "sp-std", +] + [[package]] name = "sp-authorship" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6461,7 +8500,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sp-api", @@ -6473,7 +8512,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "log", @@ -6491,7 +8530,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "serde", "serde_json", @@ -6500,7 +8539,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "futures-timer 3.0.2", @@ -6523,26 +8562,10 @@ dependencies = [ "wasm-timer", ] -[[package]] -name = "sp-consensus-aura" -version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" -dependencies = [ - "parity-scale-codec", - "sp-api", - "sp-application-crypto", - "sp-consensus", - "sp-consensus-slots", - "sp-inherents", - "sp-runtime", - "sp-std", - "sp-timestamp", -] - [[package]] name = "sp-consensus-babe" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "merlin", "parity-scale-codec", @@ -6563,7 +8586,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sp-arithmetic", @@ -6573,7 +8596,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -6585,7 +8608,7 @@ dependencies = [ [[package]] name = "sp-core" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "base58", "blake2-rfc", @@ -6629,7 +8652,7 @@ dependencies = [ [[package]] name = "sp-database" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "kvdb", "parking_lot 0.11.1", @@ -6638,7 +8661,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "proc-macro2", "quote", @@ -6648,7 +8671,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "environmental", "parity-scale-codec", @@ -6659,7 +8682,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "finality-grandpa", "log", @@ -6676,7 +8699,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "parking_lot 0.11.1", @@ -6688,7 +8711,7 @@ dependencies = [ [[package]] name = "sp-io" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "hash-db", @@ -6712,7 +8735,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "lazy_static", "sp-core", @@ -6723,7 +8746,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "async-trait", "derive_more", @@ -6737,10 +8760,34 @@ dependencies = [ "sp-externalities", ] +[[package]] +name = "sp-npos-elections" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "parity-scale-codec", + "serde", + "sp-arithmetic", + "sp-core", + "sp-npos-elections-compact", + "sp-std", +] + +[[package]] +name = "sp-npos-elections-compact" +version = "3.0.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" +dependencies = [ + "proc-macro-crate 1.0.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "sp-offchain" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "sp-api", "sp-core", @@ -6750,7 +8797,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "backtrace", ] @@ -6758,7 +8805,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "serde", "sp-core", @@ -6767,7 +8814,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "either", "hash256-std-hasher", @@ -6788,7 +8835,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -6805,7 +8852,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "Inflector", "proc-macro-crate 1.0.0", @@ -6817,7 +8864,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "parity-scale-codec", "sp-core", @@ -6830,7 +8877,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "serde", "serde_json", @@ -6839,7 +8886,7 @@ dependencies = [ [[package]] name = "sp-session" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sp-api", @@ -6852,7 +8899,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -6862,7 +8909,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "hash-db", "log", @@ -6884,12 +8931,12 @@ dependencies = [ [[package]] name = "sp-std" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" [[package]] name = "sp-storage" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "impl-serde", "parity-scale-codec", @@ -6902,7 +8949,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "sp-core", @@ -6915,7 +8962,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "parity-scale-codec", "sp-api", @@ -6928,7 +8975,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "log", "parity-scale-codec", @@ -6941,7 +8988,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "derive_more", "futures 0.3.13", @@ -6957,7 +9004,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "hash-db", "memory-db", @@ -6971,7 +9018,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "futures 0.3.13", "futures-core", @@ -6983,7 +9030,7 @@ dependencies = [ [[package]] name = "sp-version" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "impl-serde", "parity-scale-codec", @@ -6995,7 +9042,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7021,6 +9068,31 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "static_init" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11b73400442027c4adedda20a9f9b7945234a5bd8d5f7e86da22bd5d0622369c" +dependencies = [ + "cfg_aliases", + "libc", + "parking_lot 0.11.1", + "static_init_macro", +] + +[[package]] +name = "static_init_macro" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2261c91034a1edc3fc4d1b80e89d82714faede0515c14a75da10cb941546bbf" +dependencies = [ + "cfg_aliases", + "memchr", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "statrs" version = "0.12.0" @@ -7040,6 +9112,18 @@ dependencies = [ "generic-array 0.14.4", ] +[[package]] +name = "streamunordered" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e68576e37c8a37f5372796df15202190349dd80e7ed6a79544c0232213e90e35" +dependencies = [ + "futures-core", + "futures-sink", + "futures-util", + "slab", +] + [[package]] name = "string" version = "0.2.1" @@ -7116,7 +9200,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ "platforms", ] @@ -7124,7 +9208,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.13", @@ -7147,7 +9231,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.9.0" -source = "git+https://github.com/paritytech/substrate#c6ba7933c840cd262cca4b95cfdfa93452e83f84" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#401c24e8a62cdf058882b0e92815faef966d9fa1" dependencies = [ "async-std", "derive_more", @@ -7158,6 +9242,50 @@ dependencies = [ "tokio 0.2.25", ] +[[package]] +name = "substrate-test-client" +version = "2.0.1" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" +dependencies = [ + "futures 0.1.31", + "futures 0.3.13", + "hash-db", + "hex", + "parity-scale-codec", + "sc-client-api", + "sc-client-db", + "sc-consensus", + "sc-executor", + "sc-light", + "sc-offchain", + "sc-service", + "serde", + "serde_json", + "sp-blockchain", + "sp-consensus", + "sp-core", + "sp-keyring", + "sp-keystore", + "sp-runtime", + "sp-state-machine", +] + +[[package]] +name = "substrate-wasm-builder" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79091baab813855ddf65b191de9fe53e656b6b67c1e9bd23fdcbff8788164684" +dependencies = [ + "ansi_term 0.12.1", + "atty", + "build-helper", + "cargo_metadata", + "tempfile", + "toml", + "walkdir", + "wasm-gc-api", +] + [[package]] name = "substrate-wasm-builder" version = "4.0.0" @@ -7188,9 +9316,9 @@ checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" [[package]] name = "syn" -version = "1.0.60" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081" +checksum = "8fd9bc7ccc2688b3344c2f48b9b546648b25ce0b20fc717ee7fa7981a8ca9717" dependencies = [ "proc-macro2", "quote", @@ -7297,6 +9425,19 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "thrift" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6d965454947cc7266d22716ebfd07b18d84ebaf35eec558586bbb2a8cb6b5b" +dependencies = [ + "byteorder", + "integer-encoding", + "log", + "ordered-float", + "threadpool", +] + [[package]] name = "time" version = "0.1.44" @@ -7357,7 +9498,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "mio", "num_cpus", "tokio-codec", @@ -7390,7 +9531,7 @@ dependencies = [ "mio", "mio-uds", "num_cpus", - "pin-project-lite 0.1.11", + "pin-project-lite 0.1.12", "signal-hook-registry", "slab", "winapi 0.3.9", @@ -7404,7 +9545,7 @@ checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" dependencies = [ "bytes 0.4.12", "either", - "futures 0.1.30", + "futures 0.1.31", ] [[package]] @@ -7414,7 +9555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "tokio-io", ] @@ -7424,7 +9565,7 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "tokio-executor", ] @@ -7435,7 +9576,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" dependencies = [ "crossbeam-utils 0.7.2", - "futures 0.1.30", + "futures 0.1.31", ] [[package]] @@ -7444,7 +9585,7 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "tokio-io", "tokio-threadpool", ] @@ -7456,7 +9597,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "log", ] @@ -7467,7 +9608,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d282d483052288b2308ba5ee795f5673b159c9bdf63c385a05609da782a5eae" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "mio", "mio-named-pipes", "tokio 0.1.22", @@ -7480,7 +9621,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" dependencies = [ "crossbeam-utils 0.7.2", - "futures 0.1.30", + "futures 0.1.31", "lazy_static", "log", "mio", @@ -7510,7 +9651,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24da22d077e0f15f55162bdbdc661228c1581892f52074fb242678d015b45162" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", ] [[package]] @@ -7520,7 +9661,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" dependencies = [ "fnv", - "futures 0.1.30", + "futures 0.1.31", ] [[package]] @@ -7530,7 +9671,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "iovec", "mio", "tokio-io", @@ -7546,7 +9687,7 @@ dependencies = [ "crossbeam-deque 0.7.3", "crossbeam-queue", "crossbeam-utils 0.7.2", - "futures 0.1.30", + "futures 0.1.31", "lazy_static", "log", "num_cpus", @@ -7561,7 +9702,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" dependencies = [ "crossbeam-utils 0.7.2", - "futures 0.1.30", + "futures 0.1.31", "slab", "tokio-executor", ] @@ -7573,7 +9714,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "log", "mio", "tokio-codec", @@ -7588,7 +9729,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab57a4ac4111c8c9dbcf70779f6fc8bc35ae4b2454809febac840ad19bd7e4e0" dependencies = [ "bytes 0.4.12", - "futures 0.1.30", + "futures 0.1.31", "iovec", "libc", "log", @@ -7609,7 +9750,7 @@ dependencies = [ "futures-core", "futures-sink", "log", - "pin-project-lite 0.1.11", + "pin-project-lite 0.1.12", "tokio 0.2.25", ] @@ -7636,16 +9777,16 @@ checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.4", + "pin-project-lite 0.2.6", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a9bd1db7706f2373a190b0d067146caa39350c486f3d455b0e33b431f94c07" +checksum = "41768be5b9f3489491825f56f01f25290aa1d3e7cc97e182d4d34360493ba6fa" dependencies = [ "proc-macro2", "quote", @@ -7737,54 +9878,33 @@ dependencies = [ ] [[package]] -name = "trust-dns-proto" -version = "0.20.1" +name = "try-lock" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d57e219ba600dd96c2f6d82eb79645068e14edbc5c7e27514af40436b88150c" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.2.2", - "ipnet", - "lazy_static", - "log", - "rand 0.8.3", - "smallvec 1.6.1", - "thiserror", - "tinyvec", - "url 2.2.1", -] +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] -name = "trust-dns-resolver" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0437eea3a6da51acc1e946545ff53d5b8fb2611ff1c3bed58522dde100536ae" +name = "try-runtime-cli" +version = "0.9.0" +source = "git+https://github.com/paritytech/substrate?branch=rococo-v1#1404f2af4cbe90d35b4c8a1405a9452feb789adc" dependencies = [ - "cfg-if 1.0.0", - "futures-util", - "ipconfig", - "lazy_static", + "frame-try-runtime", "log", - "lru-cache", - "parking_lot 0.11.1", - "resolv-conf", - "smallvec 1.6.1", - "thiserror", - "trust-dns-proto", + "parity-scale-codec", + "remote-externalities", + "sc-cli", + "sc-client-api", + "sc-executor", + "sc-service", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-state-machine", + "structopt", ] -[[package]] -name = "try-lock" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" - [[package]] name = "twox-hash" version = "1.6.0" @@ -7996,7 +10116,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" dependencies = [ - "futures 0.1.30", + "futures 0.1.31", "log", "try-lock", ] @@ -8025,9 +10145,9 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasm-bindgen" -version = "0.2.70" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55c0f7123de74f0dab9b7d00fd614e7b19349cd1e2f5252bbe9b1754b59433be" +checksum = "7ee1280240b7c461d6a0071313e08f34a60b0365f14260362e5a2b17d1d31aa7" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -8035,9 +10155,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.70" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc45447f0d4573f3d65720f636bbcc3dd6ce920ed704670118650bcd47764c7" +checksum = "5b7d8b6942b8bb3a9b0e73fc79b98095a27de6fa247615e59d096754a3bc2aa8" dependencies = [ "bumpalo", "lazy_static", @@ -8050,9 +10170,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de431a2910c86679c34283a33f66f4e4abd7e0aec27b6669060148872aadf94" +checksum = "8e67a5806118af01f0d9045915676b22aaebecf4178ae7021bc171dab0b897ab" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -8062,9 +10182,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.70" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b8853882eef39593ad4174dd26fc9865a64e84026d223f63bb2c42affcbba2c" +checksum = "e5ac38da8ef716661f0f36c0d8320b89028efe10c7c0afde65baffb496ce0d3b" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -8072,9 +10192,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.70" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4133b5e7f2a531fa413b3a1695e925038a05a71cf67e87dafa295cb645a01385" +checksum = "cc053ec74d454df287b9374ee8abb36ffd5acb95ba87da3ba5b7d3fe20eb401e" dependencies = [ "proc-macro2", "quote", @@ -8085,9 +10205,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.70" +version = "0.2.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd4945e4943ae02d15c13962b38a5b1e81eadd4b71214eee75af64a4d6a4fd64" +checksum = "7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1" [[package]] name = "wasm-gc-api" @@ -8333,27 +10453,27 @@ dependencies = [ [[package]] name = "wast" -version = "34.0.0" +version = "35.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de71ea922e46a60d0bde4b27ebf24ab7c4991006fd5de23ce9c58e129b3ab3c" +checksum = "db5ae96da18bb5926341516fd409b5a8ce4e4714da7f0a1063d3b20ac9f9a1e1" dependencies = [ "leb128", ] [[package]] name = "wat" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "474403335b9a90b21120ab8131dd888f0a8d041c2d365ab960feddfe5a73c4b6" +checksum = "0b0fa059022c5dabe129f02b429d67086400deb8277f89c975555dacc1dadbcc" dependencies = [ "wast", ] [[package]] name = "web-sys" -version = "0.3.47" +version = "0.3.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c40dc691fc48003eba817c38da7113c15698142da971298003cac3ef175680b3" +checksum = "ec600b26223b2948cedfde2a0aa6756dcf1fef616f43d7b3097aaf53a6c4d92b" dependencies = [ "js-sys", "wasm-bindgen", @@ -8387,6 +10507,76 @@ dependencies = [ "cc", ] +[[package]] +name = "westend-runtime" +version = "0.8.29" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "bitvec", + "frame-executive", + "frame-support", + "frame-system", + "frame-system-rpc-runtime-api", + "frame-try-runtime", + "log", + "pallet-authority-discovery", + "pallet-authorship", + "pallet-babe", + "pallet-balances", + "pallet-collective", + "pallet-democracy", + "pallet-election-provider-multi-phase", + "pallet-elections-phragmen", + "pallet-grandpa", + "pallet-identity", + "pallet-im-online", + "pallet-indices", + "pallet-membership", + "pallet-multisig", + "pallet-nicks", + "pallet-offences", + "pallet-proxy", + "pallet-randomness-collective-flip", + "pallet-recovery", + "pallet-scheduler", + "pallet-session", + "pallet-society", + "pallet-staking", + "pallet-staking-reward-curve", + "pallet-sudo", + "pallet-timestamp", + "pallet-transaction-payment", + "pallet-transaction-payment-rpc-runtime-api", + "pallet-treasury", + "pallet-utility", + "pallet-vesting", + "parity-scale-codec", + "polkadot-parachain", + "polkadot-primitives", + "polkadot-runtime-common", + "polkadot-runtime-parachains", + "rustc-hex", + "serde", + "serde_derive", + "smallvec 1.6.1", + "sp-api", + "sp-authority-discovery", + "sp-block-builder", + "sp-consensus-babe", + "sp-core", + "sp-inherents", + "sp-io", + "sp-offchain", + "sp-runtime", + "sp-session", + "sp-staking", + "sp-std", + "sp-transaction-pool", + "sp-version", + "static_assertions", + "substrate-wasm-builder 3.0.0", +] + [[package]] name = "which" version = "3.1.1" @@ -8406,12 +10596,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - [[package]] name = "winapi" version = "0.2.8" @@ -8455,15 +10639,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "ws2_32-sys" version = "0.2.1" @@ -8491,6 +10666,47 @@ dependencies = [ "zeroize", ] +[[package]] +name = "xcm" +version = "0.8.22" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "xcm-builder" +version = "0.8.22" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "frame-support", + "parity-scale-codec", + "polkadot-parachain", + "sp-arithmetic", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", + "xcm-executor", +] + +[[package]] +name = "xcm-executor" +version = "0.8.22" +source = "git+https://github.com/paritytech/polkadot?branch=rococo-v1#2e07b871f138c7e3d6e11188b5ee6725b4aa0b53" +dependencies = [ + "frame-support", + "impl-trait-for-tuples", + "log", + "parity-scale-codec", + "sp-arithmetic", + "sp-core", + "sp-io", + "sp-runtime", + "sp-std", + "xcm", +] + [[package]] name = "yamux" version = "0.8.1" @@ -8553,6 +10769,6 @@ checksum = "a1e6e8778706838f43f771d80d37787cb2fe06dafe89dd3aebaf6721b9eaec81" dependencies = [ "cc", "glob", - "itertools", + "itertools 0.9.0", "libc", ] diff --git a/node/Cargo.toml b/node/Cargo.toml index 2207dd9..1fefad7 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -9,43 +9,67 @@ edition = "2018" targets = ["x86_64-unknown-linux-gnu"] [dependencies] +log = "0.4.8" +serde = { version = "1.0.101", features = ["derive"] } structopt = "0.3.8" +codec = { package = "parity-scale-codec", version = "2.0.0" } hex-literal = "0.2.1" -sc-cli = { version = "0.9.0", git = "https://github.com/paritytech/substrate", package = "sc-cli", features = ["wasmtime"] } -sp-core = { git = "https://github.com/paritytech/substrate", package = "sp-core" } -sc-executor = { version = "0.9.0", git = "https://github.com/paritytech/substrate", package = "sc-executor", features = ["wasmtime"] } -sc-service = { version = "0.9.0", git = "https://github.com/paritytech/substrate", package = "sc-service", features = ["wasmtime"] } -sc-telemetry = { git = "https://github.com/paritytech/substrate", package = "sc-telemetry" } -sp-inherents = { git = "https://github.com/paritytech/substrate", package = "sp-inherents" } -sc-transaction-pool = { git = "https://github.com/paritytech/substrate", package = "sc-transaction-pool" } -sp-transaction-pool = { git = "https://github.com/paritytech/substrate", package = "sp-transaction-pool" } -sc-consensus-aura = { git = "https://github.com/paritytech/substrate", package = "sc-consensus-aura" } -sp-consensus-aura = { git = "https://github.com/paritytech/substrate", package = "sp-consensus-aura" } -sp-consensus = { git = "https://github.com/paritytech/substrate", package = "sp-consensus" } -sc-consensus = { git = "https://github.com/paritytech/substrate", package = "sc-consensus" } -sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", package = "sc-finality-grandpa" } -sp-finality-grandpa = { git = "https://github.com/paritytech/substrate", package = "sp-finality-grandpa" } -sc-client-api = { git = "https://github.com/paritytech/substrate", package = "sc-client-api" } -sp-runtime = { git = "https://github.com/paritytech/substrate", package = "sp-runtime" } -pallet-contracts = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts" } +# Substrate dependencies +sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-io = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-inherents = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-session = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-cli = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-executor = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-service = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-network = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-trie = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +pallet-contracts = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts" , branch = "rococo-v1" } # These dependencies are used for the node's RPCs -jsonrpc-core = "15.0.0" -sc-rpc = { git = "https://github.com/paritytech/substrate", package = "sc-rpc" } -sp-api = { git = "https://github.com/paritytech/substrate", package = "sp-api" } -sc-rpc-api = { git = "https://github.com/paritytech/substrate", package = "sc-rpc-api" } -sp-blockchain = { git = "https://github.com/paritytech/substrate", package = "sp-blockchain" } -sp-block-builder = { git = "https://github.com/paritytech/substrate", package = "sp-block-builder" } -sc-basic-authorship = { git = "https://github.com/paritytech/substrate", package = "sc-basic-authorship" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", package = "substrate-frame-rpc-system" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", package = "pallet-transaction-payment-rpc" } -pallet-contracts-rpc = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-rpc" } +jsonrpc-core = "15.1.0" +sp-api = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "rococo-v1" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", package = "substrate-frame-rpc-system" , branch = "rococo-v1" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", package = "pallet-transaction-payment-rpc" , branch = "rococo-v1" } +pallet-contracts-rpc = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-rpc" , branch = "rococo-v1" } + +# Cumulus dependencies +cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "rococo-v1" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech/cumulus", branch = "rococo-v1" } +cumulus-client-collator = { git = "https://github.com/paritytech/cumulus", branch = "rococo-v1" } +cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "rococo-v1" } +cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "rococo-v1" } +cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", branch = "rococo-v1" } + +# Polkadot dependencies +polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "rococo-v1" } +polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "rococo-v1" } +polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "rococo-v1" } +polkadot-test-service = { git = "https://github.com/paritytech/polkadot", branch = "rococo-v1" } +polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "rococo-v1" } canvas-runtime = { version = "0.1.0", path = "../runtime" } [build-dependencies] -substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", package = "substrate-build-script-utils" } +substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", package = "substrate-build-script-utils" , branch = "rococo-v1" } [[bin]] name = "canvas" diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 2a51177..c175f1b 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -1,20 +1,18 @@ -use sp_core::{Pair, Public, sr25519}; +use cumulus_primitives_core::ParaId; +use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup}; +use sc_service::ChainType; +use serde::{Deserialize, Serialize}; +use sp_core::{sr25519, Pair, Public}; +use sp_runtime::traits::{IdentifyAccount, Verify}; + use canvas_runtime::{ - AccountId, AuraConfig, BalancesConfig, GenesisConfig, GrandpaConfig, - SudoConfig, SystemConfig, WASM_BINARY, Signature, + AccountId, BalancesConfig, GenesisConfig, + SudoConfig, SystemConfig, Signature, ContractsConfig, }; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use sp_finality_grandpa::AuthorityId as GrandpaId; -use sp_runtime::traits::{Verify, IdentifyAccount}; -use sc_service::ChainType; -use hex_literal::hex; -// Note this is the URL for the telemetry server -//const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/"; - -/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. -pub type ChainSpec = sc_service::GenericChainSpec; +/// Specialized `ChainSpec` for the normal parachain runtime. +pub type ChainSpec = sc_service::GenericChainSpec; /// Helper function to generate a crypto pair from seed pub fn get_from_seed(seed: &str) -> ::Public { @@ -23,54 +21,39 @@ pub fn get_from_seed(seed: &str) -> ::Pu .public() } -type AccountPublic = ::Signer; - -/// Helper function to generate an account ID from seed -pub fn get_account_id_from_seed(seed: &str) -> AccountId where - AccountPublic: From<::Public> -{ - AccountPublic::from(get_from_seed::(seed)).into_account() +/// 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, } -/// 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), - ) +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; -pub fn testnet_authorities() -> Vec<(AuraId, GrandpaId)> { - use sp_core::crypto::UncheckedInto; - vec![ - ( - hex!("74608217b1709e1d3a4fe65b132db5c3f321e625026080833189661aa5e20712").unchecked_into(), - hex!("a5abc21ac95ae63dd6e61e5bec263ab46d1efe16d3dcc085d0de297318cb662d").unchecked_into(), - ), - ( - hex!("44f3876fe4f653533c65e79461a476b8d6a107fb71b6ec0f3485bb53b4e7b842").unchecked_into(), - hex!("281be34a71b661b257153e1145522fd0820cfff6a3601b40e7f85d3bc155240d").unchecked_into(), - ), - ] -} - -pub fn testnet_root() -> AccountId { - hex!("baa78c7154c7f82d6d377177e20bcab65d327eca0086513f9964f5a0f6bdad56").into() +/// Helper function to generate an account ID from seed +pub fn get_account_id_from_seed(seed: &str) -> AccountId + where + AccountPublic: From<::Public>, +{ + AccountPublic::from(get_from_seed::(seed)).into_account() } -pub fn development_config() -> Result { - let wasm_binary = WASM_BINARY.ok_or("Development wasm binary not available".to_string())?; - +pub fn development_config(id: ParaId) -> Result { Ok(ChainSpec::from_genesis( "Development", "dev", ChainType::Development, move || testnet_genesis( - wasm_binary, - vec![ - authority_keys_from_seed("Alice"), - ], get_account_id_from_seed::("Alice"), vec![ get_account_id_from_seed::("Alice"), @@ -78,75 +61,92 @@ pub fn development_config() -> Result { get_account_id_from_seed::("Alice//stash"), get_account_id_from_seed::("Bob//stash"), ], + id, true, ), vec![], None, None, None, - None, + Extensions { + relay_chain: "rococo-dev".into(), + para_id: id.into(), + }, )) } -pub fn testnet_config() -> Result { - let wasm_binary = WASM_BINARY.ok_or("Development wasm binary not available".to_string())?; - - Ok(ChainSpec::from_genesis( - "Canvas Testnet 1", - "canvas_testnet1", - ChainType::Live, - move || testnet_genesis( - wasm_binary, - testnet_authorities(), - testnet_root(), - vec![testnet_root()], - true, - ), - vec![ - "/ip4/35.233.19.96/tcp/30333/p2p/QmNvYhAZSBtahCqCXznYiq8e24Yes1GraPFYCc3DyA5f3z".parse() - .expect("MultiaddrWithPeerId"), - "/ip4/35.205.110.21/tcp/30333/p2p/QmPKFc9B2oeQFc5oxbNsRENwSYibzzafKmcHs9wBZCJH4U".parse() - .expect("MultiaddrWithPeerId"), - ], +pub fn local_testnet_config(id: ParaId) -> ChainSpec { + ChainSpec::from_genesis( + // Name + "Local Testnet", + // ID + "local_testnet", + ChainType::Local, + move || { + testnet_genesis( + get_account_id_from_seed::("Alice"), + vec![ + get_account_id_from_seed::("Alice"), + get_account_id_from_seed::("Bob"), + get_account_id_from_seed::("Charlie"), + get_account_id_from_seed::("Dave"), + get_account_id_from_seed::("Eve"), + get_account_id_from_seed::("Ferdie"), + get_account_id_from_seed::("Alice//stash"), + get_account_id_from_seed::("Bob//stash"), + get_account_id_from_seed::("Charlie//stash"), + get_account_id_from_seed::("Dave//stash"), + get_account_id_from_seed::("Eve//stash"), + get_account_id_from_seed::("Ferdie//stash"), + ], + id, + true, + ) + }, + vec![], None, - Some("prc"), None, - None - )) + None, + Extensions { + relay_chain: "rococo-local".into(), + para_id: id.into(), + }, + ) } fn testnet_genesis( - wasm_binary: &[u8], - initial_authorities: Vec<(AuraId, GrandpaId)>, root_key: AccountId, endowed_accounts: Vec, + parachain_id: ParaId, enable_println: bool ) -> GenesisConfig { GenesisConfig { frame_system: SystemConfig { // Add Wasm runtime to storage. - code: wasm_binary.to_vec(), + code: canvas_runtime::WASM_BINARY + .expect("WASM binary was not build, please build it!") + .to_vec(), changes_trie_config: Default::default(), }, pallet_balances: BalancesConfig { // Configure endowed accounts with initial balance of 1 << 60. - balances: endowed_accounts.iter().cloned().map(|k|(k, 1 << 60)).collect(), - }, - pallet_aura: AuraConfig { - authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(), - }, - pallet_grandpa: GrandpaConfig { - authorities: initial_authorities.iter().map(|x| (x.1.clone(), 1)).collect(), + balances: endowed_accounts + .iter() + .cloned() + .map(|k|(k, 1 << 60)) + .collect(), }, + parachain_info: canvas_runtime::ParachainInfoConfig { parachain_id }, pallet_sudo: SudoConfig { // Assign network admin rights. key: root_key, }, pallet_contracts: ContractsConfig { - // println should only be enabled on development chains - current_schedule: pallet_contracts::Schedule::default() - .enable_println(enable_println), + current_schedule: pallet_contracts::Schedule { + enable_println, + ..Default::default() + }, }, } } diff --git a/node/src/cli.rs b/node/src/cli.rs index 62effaf..5b7c1a2 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -1,19 +1,18 @@ +use crate::chain_spec; +use sc_cli; +use std::path::PathBuf; use structopt::StructOpt; -use sc_cli::RunCmd; - -#[derive(Debug, StructOpt)] -pub struct Cli { - #[structopt(subcommand)] - pub subcommand: Option, - - #[structopt(flatten)] - pub run: RunCmd, -} +/// Sub-commands supported by the collator. #[derive(Debug, StructOpt)] pub enum Subcommand { - /// Key management cli utilities - Key(sc_cli::KeySubcommand), + /// Export the genesis state of the parachain. + #[structopt(name = "export-genesis-state")] + ExportGenesisState(ExportGenesisStateCommand), + + /// Export the genesis wasm of the parachain. + #[structopt(name = "export-genesis-wasm")] + ExportGenesisWasm(ExportGenesisWasmCommand), /// Build a chain specification. BuildSpec(sc_cli::BuildSpecCmd), @@ -31,8 +30,118 @@ pub enum Subcommand { ImportBlocks(sc_cli::ImportBlocksCmd), /// Remove the whole chain. - PurgeChain(sc_cli::PurgeChainCmd), + PurgeChain(cumulus_client_cli::PurgeChainCmd), /// Revert the chain to a previous state. Revert(sc_cli::RevertCmd), } + +/// Command for exporting the genesis state of the parachain +#[derive(Debug, StructOpt)] +pub struct ExportGenesisStateCommand { + /// Output file name or stdout if unspecified. + #[structopt(parse(from_os_str))] + pub output: Option, + + /// Id of the parachain this state is for. + #[structopt(long, default_value = "100")] + pub parachain_id: u32, + + /// Write output in binary. Default is to write in hex. + #[structopt(short, long)] + pub raw: bool, + + /// The name of the chain for that the genesis state should be exported. + #[structopt(long)] + pub chain: Option, +} + +/// Command for exporting the genesis wasm file. +#[derive(Debug, StructOpt)] +pub struct ExportGenesisWasmCommand { + /// Output file name or stdout if unspecified. + #[structopt(parse(from_os_str))] + pub output: Option, + + /// Write output in binary. Default is to write in hex. + #[structopt(short, long)] + pub raw: bool, + + /// The name of the chain for that the genesis wasm file should be exported. + #[structopt(long)] + pub chain: Option, +} + +#[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, + structopt::clap::AppSettings::SubcommandsNegateReqs, +])] +pub struct Cli { + #[structopt(subcommand)] + pub subcommand: Option, + + #[structopt(flatten)] + pub run: 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, +} + +#[derive(Debug)] +pub struct RelayChainCli { + /// The actual relay chain cli object. + pub base: polkadot_cli::RunCmd, + + /// Optional chain id that should be passed to the relay chain. + pub chain_id: Option, + + /// The base path that should be used by the relay chain. + pub base_path: Option, +} + +impl RelayChainCli { + /// Parse the relay chain CLI parameters using the para chain `Configuration`. + pub fn new<'a>( + para_config: &sc_service::Configuration, + relay_chain_args: impl Iterator, + ) -> Self { + let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec); + let chain_id = extension.map(|e| e.relay_chain.clone()); + let base_path = para_config + .base_path + .as_ref() + .map(|x| x.path().join("polkadot")); + Self { + base_path, + chain_id, + base: polkadot_cli::RunCmd::from_iter(relay_chain_args), + } + } +} diff --git a/node/src/command.rs b/node/src/command.rs index 75f850f..bdda8af 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -15,10 +15,40 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::{chain_spec, service}; -use crate::cli::{Cli, Subcommand}; -use sc_cli::{SubstrateCli, RuntimeVersion, Role, ChainSpec}; -use sc_service::PartialComponents; +use crate::{ + chain_spec, + cli::{Cli, RelayChainCli, Subcommand}, +}; +use codec::Encode; +use cumulus_primitives_core::ParaId; +use cumulus_client_service::genesis::generate_genesis_block; +use log::info; +use canvas_runtime::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, +}; +use sp_core::hexdisplay::HexDisplay; +use sp_runtime::traits::Block as BlockT; +use std::{io::Write, net::SocketAddr}; + +fn load_spec( + id: &str, + para_id: ParaId, +) -> std::result::Result, String> { + Ok(match id { + "dev" => Box::new(chain_spec::development_config(para_id)?), + "" | "testnet" => Box::new(chain_spec::local_testnet_config(para_id)), // todo: from solo: default to running on testnet + path => Box::new(chain_spec::ChainSpec::from_json_file( + std::path::PathBuf::from(path), + )?), + }) +} impl SubstrateCli for Cli { fn impl_name() -> String { @@ -45,15 +75,8 @@ impl SubstrateCli for Cli { 2020 } - - fn load_spec(&self, id: &str) -> Result, String> { - Ok(match id { - "dev" => Box::new(chain_spec::development_config()?), - "" => Box::new(chain_spec::testnet_config()?), // default to running on testnet - path => Box::new(chain_spec::ChainSpec::from_json_file( - std::path::PathBuf::from(path), - )?), - }) + fn load_spec(&self, id: &str) -> std::result::Result, String> { + load_spec(id, self.run.parachain_id.unwrap_or(300).into()) } fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { @@ -61,68 +84,356 @@ impl SubstrateCli for Cli { } } -/// Parse and run command line arguments -pub fn run() -> sc_cli::Result<()> { +impl SubstrateCli for RelayChainCli { + fn impl_name() -> String { + "Canvas Node".into() + } + + fn impl_version() -> String { + env!("SUBSTRATE_CLI_IMPL_VERSION").into() + } + + fn description() -> String { + env!("CARGO_PKG_DESCRIPTION").into() + } + + fn author() -> String { + env!("CARGO_PKG_AUTHORS").into() + } + + fn support_url() -> String { + "https://github.com/paritytech/canvas-node/issues/new".into() + } + + fn copyright_start_year() -> i32 { + 2020 + } + + fn load_spec(&self, id: &str) -> std::result::Result, String> { + polkadot_cli::Cli::from_iter([RelayChainCli::executable_name().to_string()].iter()) + .load_spec(id) + } + + fn native_runtime_version(chain_spec: &Box) -> &'static RuntimeVersion { + polkadot_cli::Cli::native_runtime_version(chain_spec) + } +} + +fn extract_genesis_wasm(chain_spec: &Box) -> Result> { + let mut storage = chain_spec.build_storage()?; + + storage + .top + .remove(sp_core::storage::well_known_keys::CODE) + .ok_or_else(|| "Could not find wasm file in genesis state!".into()) +} + +/// Parse command line arguments into service configuration. +pub fn run() -> Result<()> { let cli = Cli::from_args(); match &cli.subcommand { - Some(Subcommand::Key(cmd)) => cmd.run(&cli), Some(Subcommand::BuildSpec(cmd)) => { let runner = cli.create_runner(cmd)?; 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, ..} - = service::new_partial(&config)?; + let PartialComponents { + client, + task_manager, + import_queue, + .. + } = crate::service::new_partial(&config)?; Ok((cmd.run(client, import_queue), task_manager)) }) - }, + } Some(Subcommand::ExportBlocks(cmd)) => { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { - let PartialComponents { client, task_manager, ..} - = service::new_partial(&config)?; + let PartialComponents { + client, + task_manager, + .. + } = crate::service::new_partial(&config)?; Ok((cmd.run(client, config.database), task_manager)) }) - }, + } Some(Subcommand::ExportState(cmd)) => { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { - let PartialComponents { client, task_manager, ..} - = service::new_partial(&config)?; + let PartialComponents { + client, + task_manager, + .. + } = crate::service::new_partial(&config)?; Ok((cmd.run(client, config.chain_spec), task_manager)) }) - }, + } Some(Subcommand::ImportBlocks(cmd)) => { let runner = cli.create_runner(cmd)?; runner.async_run(|config| { - let PartialComponents { client, task_manager, import_queue, ..} - = service::new_partial(&config)?; + let PartialComponents { + client, + task_manager, + import_queue, + .. + } = crate::service::new_partial(&config)?; Ok((cmd.run(client, import_queue), task_manager)) }) - }, + } Some(Subcommand::PurgeChain(cmd)) => { let runner = cli.create_runner(cmd)?; - runner.sync_run(|config| cmd.run(config.database)) - }, + + runner.sync_run(|config| { + let polkadot_cli = RelayChainCli::new( + &config, + [RelayChainCli::executable_name().to_string()] + .iter() + .chain(cli.relaychain_args.iter()), + ); + + let polkadot_config = SubstrateCli::create_configuration( + &polkadot_cli, + &polkadot_cli, + config.task_executor.clone(), + ) + .map_err(|err| format!("Relay chain argument error: {}", err))?; + + 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, ..} - = service::new_partial(&config)?; + let PartialComponents { + client, + task_manager, + backend, + .. + } = crate::service::new_partial(&config)?; Ok((cmd.run(client, backend), task_manager)) }) - }, + } + Some(Subcommand::ExportGenesisState(params)) => { + let mut builder = sc_cli::LoggerBuilder::new(""); + builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); + let _ = builder.init(); + + let block: Block = generate_genesis_block(&load_spec( + ¶ms.chain.clone().unwrap_or_default(), + params.parachain_id.into(), + )?)?; + let raw_header = block.header().encode(); + let output_buf = if params.raw { + raw_header + } else { + format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes() + }; + + if let Some(output) = ¶ms.output { + std::fs::write(output, output_buf)?; + } else { + std::io::stdout().write_all(&output_buf)?; + } + + Ok(()) + } + Some(Subcommand::ExportGenesisWasm(params)) => { + let mut builder = sc_cli::LoggerBuilder::new(""); + builder.with_profiling(sc_tracing::TracingReceiver::Log, ""); + let _ = builder.init(); + + let raw_wasm_blob = + extract_genesis_wasm(&cli.load_spec(¶ms.chain.clone().unwrap_or_default())?)?; + let output_buf = if params.raw { + raw_wasm_blob + } else { + format!("0x{:?}", HexDisplay::from(&raw_wasm_blob)).into_bytes() + }; + + if let Some(output) = ¶ms.output { + std::fs::write(output, output_buf)?; + } else { + std::io::stdout().write_all(&output_buf)?; + } + + Ok(()) + } None => { - let runner = cli.create_runner(&cli.run)?; + let runner = cli.create_runner(&*cli.run)?; + runner.run_node_until_exit(|config| async move { - match config.role { - Role::Light => service::new_light(config), - _ => service::new_full(config), - }.map_err(sc_cli::Error::Service) + // TODO + let key = sp_core::Pair::generate().0; + + let para_id = + chain_spec::Extensions::try_get(&*config.chain_spec).map(|e| e.para_id); + + let polkadot_cli = RelayChainCli::new( + &config, + [RelayChainCli::executable_name().to_string()] + .iter() + .chain(cli.relaychain_args.iter()), + ); + + let id = ParaId::from(cli.run.parachain_id.or(para_id).unwrap_or(100)); + + let parachain_account = + AccountIdConversion::::into_account(&id); + + let block: Block = + generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?; + let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode())); + + let task_executor = config.task_executor.clone(); + let polkadot_config = SubstrateCli::create_configuration( + &polkadot_cli, + &polkadot_cli, + 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" }); + + crate::service::start_node(config, key, polkadot_config, id, collator) + .await + .map(|r| r.0) + .map_err(Into::into) }) } } } + +impl DefaultConfigurationValues for RelayChainCli { + fn p2p_listen_port() -> u16 { + 30334 + } + + fn rpc_ws_listen_port() -> u16 { + 9945 + } + + fn rpc_http_listen_port() -> u16 { + 9934 + } + + fn prometheus_listen_port() -> u16 { + 9616 + } +} + +impl CliConfiguration for RelayChainCli { + fn shared_params(&self) -> &SharedParams { + self.base.base.shared_params() + } + + fn import_params(&self) -> Option<&ImportParams> { + self.base.base.import_params() + } + + fn network_params(&self) -> Option<&NetworkParams> { + self.base.base.network_params() + } + + fn keystore_params(&self) -> Option<&KeystoreParams> { + self.base.base.keystore_params() + } + + fn base_path(&self) -> Result> { + Ok(self + .shared_params() + .base_path() + .or_else(|| self.base_path.clone().map(Into::into))) + } + + fn rpc_http(&self, default_listen_port: u16) -> Result> { + self.base.base.rpc_http(default_listen_port) + } + + fn rpc_ipc(&self) -> Result> { + self.base.base.rpc_ipc() + } + + fn rpc_ws(&self, default_listen_port: u16) -> Result> { + self.base.base.rpc_ws(default_listen_port) + } + + fn prometheus_config(&self, default_listen_port: u16) -> Result> { + self.base.base.prometheus_config(default_listen_port) + } + + fn init(&self) -> Result<()> { + unreachable!("PolkadotCli is never initialized; qed"); + } + + fn chain_id(&self, is_dev: bool) -> Result { + let chain_id = self.base.base.chain_id(is_dev)?; + + Ok(if chain_id.is_empty() { + self.chain_id.clone().unwrap_or_default() + } else { + chain_id + }) + } + + fn role(&self, is_dev: bool) -> Result { + self.base.base.role(is_dev) + } + + fn transaction_pool(&self) -> Result { + self.base.base.transaction_pool() + } + + fn state_cache_child_ratio(&self) -> Result> { + self.base.base.state_cache_child_ratio() + } + + fn rpc_methods(&self) -> Result { + self.base.base.rpc_methods() + } + + fn rpc_ws_max_connections(&self) -> Result> { + self.base.base.rpc_ws_max_connections() + } + + fn rpc_cors(&self, is_dev: bool) -> Result>> { + self.base.base.rpc_cors(is_dev) + } + + fn telemetry_external_transport(&self) -> Result> { + self.base.base.telemetry_external_transport() + } + + fn default_heap_pages(&self) -> Result> { + self.base.base.default_heap_pages() + } + + fn force_authoring(&self) -> Result { + self.base.base.force_authoring() + } + + fn disable_grandpa(&self) -> Result { + self.base.base.disable_grandpa() + } + + fn max_runtime_instances(&self) -> Result> { + self.base.base.max_runtime_instances() + } + + fn announce_block(&self) -> Result { + self.base.base.announce_block() + } + + fn telemetry_endpoints( + &self, + chain_spec: &Box, + ) -> Result> { + self.base.base.telemetry_endpoints(chain_spec) + } +} diff --git a/node/src/service.rs b/node/src/service.rs index 81d89f7..bce5975 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -1,49 +1,62 @@ -//! Service and ServiceFactory implementation. Specialized wrapper over substrate service. - -use std::sync::Arc; -use std::time::Duration; -use sc_client_api::{ExecutorProvider, RemoteBackend}; -use canvas_runtime::{self, opaque::Block, RuntimeApi}; -use sc_service::{error::Error as ServiceError, Configuration, TaskManager}; -use sp_inherents::InherentDataProviders; +// Copyright 2019 Parity Technologies (UK) Ltd. +// This file is part of Cumulus. + +// Cumulus is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Cumulus is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Cumulus. If not, see . + +use cumulus_client_consensus_relay_chain::{ + build_relay_chain_consensus, BuildRelayChainConsensusParams, +}; +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 canvas_runtime::{opaque::Block, RuntimeApi}; +use polkadot_primitives::v0::CollatorPair; use sc_executor::native_executor_instance; pub use sc_executor::NativeExecutor; -use sp_consensus_aura::sr25519::AuthorityPair as AuraPair; -use sc_consensus_aura::{ImportQueueParams, StartAuraParams, SlotProportion}; -use sc_finality_grandpa::SharedVoterState; -use sc_telemetry::{Telemetry, TelemetryWorker}; +use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager}; +use sc_telemetry::{Telemetry, TelemetryWorker, TelemetryWorkerHandle}; +use sp_runtime::traits::BlakeTwo256; +use sp_trie::PrefixedMemoryDB; +use std::sync::Arc; -// Our native executor instance. +// Native executor instance. native_executor_instance!( pub Executor, canvas_runtime::api::dispatch, canvas_runtime::native_version, ); -type FullClient = sc_service::TFullClient; -type FullBackend = sc_service::TFullBackend; -type FullSelectChain = sc_consensus::LongestChain; - -pub fn new_partial(config: &Configuration) -> Result, - sc_transaction_pool::FullPool, - ( - sc_consensus_aura::AuraBlockImport< - Block, - FullClient, - sc_finality_grandpa::GrandpaBlockImport, - AuraPair - >, - sc_finality_grandpa::LinkHalf, - Option, - ) ->, ServiceError> { - if config.keystore_remote.is_some() { - return Err(ServiceError::Other( - format!("Remote Keystores are not supported."))) - } - let inherent_data_providers = InherentDataProviders::new(); +/// 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( + config: &Configuration, +) -> Result< + PartialComponents< + TFullClient, + TFullBackend, + (), + sp_consensus::import_queue::BasicQueue>, + sc_transaction_pool::FullPool>, + (Option, Option), + >, + sc_service::Error, +> { + let inherent_data_providers = sp_inherents::InherentDataProviders::new(); let telemetry = config.telemetry_endpoints.clone() .filter(|x| !x.is_empty()) @@ -61,13 +74,17 @@ pub fn new_partial(config: &Configuration) -> Result Result), - select_chain.clone(), - telemetry.as_ref().map(|x| x.handle()), - )?; - - let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new( - grandpa_block_import.clone(), client.clone(), - ); - - let import_queue = sc_consensus_aura::import_queue::( - ImportQueueParams { - block_import: aura_block_import.clone(), - justification_import: Some(Box::new(grandpa_block_import.clone())), - client: client.clone(), - inherent_data_providers: inherent_data_providers.clone(), - spawner: &task_manager.spawn_essential_handle(), - can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()), - slot_duration: sc_consensus_aura::slot_duration(&*client)?, - registry: config.prometheus_registry(), - check_for_equivocation: Default::default(), - telemetry: telemetry.as_ref().map(|x| x.handle()), - }, + client.clone(), + inherent_data_providers.clone(), + &task_manager.spawn_essential_handle(), + registry.clone(), )?; - Ok(sc_service::PartialComponents { - client, + let params = PartialComponents { backend, - task_manager, + client, import_queue, keystore_container, - select_chain, + task_manager, transaction_pool, inherent_data_providers, - other: (aura_block_import, grandpa_link, telemetry), - }) + select_chain: (), + other: (telemetry, telemetry_worker_handle), + }; + + Ok(params) } -/// Builds a new service for a full client. -pub fn new_full(mut config: Configuration) -> Result { - let sc_service::PartialComponents { - client, - backend, - mut task_manager, - import_queue, - keystore_container, - select_chain, - transaction_pool, - inherent_data_providers, - other: (block_import, grandpa_link, mut telemetry), - } = new_partial(&config)?; +/// Start a node with the given parachain `Configuration` and relay chain `Configuration`. +/// +/// 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( + parachain_config: Configuration, + collator_key: CollatorPair, + polkadot_config: Configuration, + id: ParaId, + validator: bool, +) -> sc_service::error::Result<(TaskManager, Arc>)> { + if matches!(parachain_config.role, Role::Light) { + return Err("Light client not supported!".into()); + } - config.network.extra_sets.push(sc_finality_grandpa::grandpa_peers_set_config()); + 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 (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 client = params.client.clone(); + let backend = params.backend.clone(); + let block_announce_validator = build_block_announce_validator( + polkadot_full_node.client.clone(), + id, + Box::new(polkadot_full_node.network.clone()), + polkadot_full_node.backend.clone(), + ); - let (network, network_status_sinks, system_rpc_tx, network_starter) = + 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 (network, network_status_sinks, system_rpc_tx, start_network) = sc_service::build_network(sc_service::BuildNetworkParams { - config: &config, + config: ¶chain_config, client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), import_queue, on_demand: None, - block_announce_validator_builder: None, + block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)), })?; - if config.offchain_worker.enabled { - sc_service::build_offchain_workers( - &config, task_manager.spawn_handle(), client.clone(), network.clone(), - ); - } - - let role = config.role.clone(); - let force_authoring = config.force_authoring; - let backoff_authoring_blocks: Option<()> = None; - let name = config.network.node_name.clone(); - let enable_grandpa = !config.disable_grandpa; - let prometheus_registry = config.prometheus_registry().cloned(); - let rpc_extensions_builder = { let client = client.clone(); let pool = transaction_pool.clone(); @@ -171,203 +191,92 @@ pub fn new_full(mut config: Configuration) -> Result }) }; - let _rpc_handlers = sc_service::spawn_tasks( - sc_service::SpawnTasksParams { - network: network.clone(), - client: client.clone(), - keystore: keystore_container.sync_keystore(), - task_manager: &mut task_manager, - transaction_pool: transaction_pool.clone(), - rpc_extensions_builder, - on_demand: None, - remote_blockchain: None, - backend, - network_status_sinks, - system_rpc_tx, - config, - telemetry: telemetry.as_mut(), - }, - )?; + sc_service::spawn_tasks(sc_service::SpawnTasksParams { + on_demand: None, + remote_blockchain: None, + rpc_extensions_builder, + client: client.clone(), + transaction_pool: transaction_pool.clone(), + task_manager: &mut task_manager, + config: parachain_config, + keystore: params.keystore_container.sync_keystore(), + backend: backend.clone(), + network: network.clone(), + network_status_sinks, + system_rpc_tx, + telemetry: telemetry.as_mut(), + })?; - if role.is_authority() { - let proposer_factory = sc_basic_authorship::ProposerFactory::new( + let announce_block = { + let network = network.clone(); + Arc::new(move |hash, data| network.announce_block(hash, data)) + }; + + if validator { + let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording( task_manager.spawn_handle(), client.clone(), transaction_pool, prometheus_registry.as_ref(), telemetry.as_ref().map(|x| x.handle()), ); - - let can_author_with = - sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()); - - let aura = sc_consensus_aura::start_aura::( - StartAuraParams { - slot_duration: sc_consensus_aura::slot_duration(&*client)?, - client: client.clone(), - select_chain, - block_import, - proposer_factory, - inherent_data_providers: inherent_data_providers.clone(), - force_authoring, - backoff_authoring_blocks, - keystore: keystore_container.sync_keystore(), - can_author_with, - sync_oracle: network.clone(), - block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32), - telemetry: telemetry.as_ref().map(|x| x.handle()), - }, - )?; - - // the AURA authoring task is considered essential, i.e. if it - // fails we take down the service with it. - task_manager.spawn_essential_handle().spawn_blocking("aura", aura); - } - - // if the node isn't actively participating in consensus then it doesn't - // need a keystore, regardless of which protocol we use below. - let keystore = if role.is_authority() { - Some(keystore_container.sync_keystore()) - } else { - None - }; - - let grandpa_config = sc_finality_grandpa::Config { - // FIXME #1578 make this available through chainspec - gossip_duration: Duration::from_millis(333), - justification_period: 512, - name: Some(name), - observer_enabled: false, - keystore, - is_authority: role.is_authority(), - telemetry: telemetry.as_ref().map(|x| x.handle()), - }; - - if enable_grandpa { - // start the full GRANDPA voter - // NOTE: non-authorities could run the GRANDPA observer protocol, but at - // this point the full voter should provide better guarantees of block - // and vote data availability than the observer. The observer has not - // been tested extensively yet and having most nodes in a network run it - // could lead to finality stalls. - let grandpa_config = sc_finality_grandpa::GrandpaParams { - config: grandpa_config, - link: grandpa_link, - network, - voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(), - prometheus_registry, - shared_voter_state: SharedVoterState::empty(), - telemetry: telemetry.as_ref().map(|x| x.handle()), - }; - - // the GRANDPA voter task is considered infallible, i.e. - // if it fails we take down the service with it. - task_manager.spawn_essential_handle().spawn_blocking( - "grandpa-voter", - sc_finality_grandpa::run_grandpa_voter(grandpa_config)? - ); - } - - network_starter.start_network(); - Ok(task_manager) -} - -/// Builds a new service for a light client. -pub fn new_light(mut config: Configuration) -> Result { - let telemetry = config.telemetry_endpoints.clone() - .filter(|x| !x.is_empty()) - .map(|endpoints| -> Result<_, sc_telemetry::Error> { - let worker = TelemetryWorker::new(16)?; - let telemetry = worker.handle().new_telemetry(endpoints); - Ok((worker, telemetry)) - }) - .transpose()?; - - let (client, backend, keystore_container, mut task_manager, on_demand) = - sc_service::new_light_parts::( - &config, - telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()), - )?; - - let mut telemetry = telemetry - .map(|(worker, telemetry)| { - task_manager.spawn_handle().spawn("telemetry", worker.run()); - telemetry + let spawner = task_manager.spawn_handle(); + + 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(), }); - config.network.extra_sets.push(sc_finality_grandpa::grandpa_peers_set_config()); - - let select_chain = sc_consensus::LongestChain::new(backend.clone()); - - let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light( - config.transaction_pool.clone(), - config.prometheus_registry(), - task_manager.spawn_handle(), - client.clone(), - on_demand.clone(), - )); - - let (grandpa_block_import, _) = sc_finality_grandpa::block_import( - client.clone(), - &(client.clone() as Arc<_>), - select_chain.clone(), - telemetry.as_ref().map(|x| x.handle()), - )?; - - let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new( - grandpa_block_import.clone(), - client.clone(), - ); - - let import_queue = sc_consensus_aura::import_queue::( - ImportQueueParams { - block_import: aura_block_import.clone(), - justification_import: Some(Box::new(grandpa_block_import.clone())), + let params = StartCollatorParams { + para_id: id, + block_status: client.clone(), + announce_block, client: client.clone(), - inherent_data_providers: InherentDataProviders::new(), - spawner: &task_manager.spawn_essential_handle(), - can_author_with: sp_consensus::NeverCanAuthor, - slot_duration: sc_consensus_aura::slot_duration(&*client)?, - registry: config.prometheus_registry(), - check_for_equivocation: Default::default(), - telemetry: telemetry.as_ref().map(|x| x.handle()), - }, - )?; + task_manager: &mut task_manager, + collator_key, + relay_chain_full_node: polkadot_full_node, + spawner, + backend, + parachain_consensus, + }; - let (network, network_status_sinks, system_rpc_tx, network_starter) = - sc_service::build_network(sc_service::BuildNetworkParams { - config: &config, + start_collator(params).await?; + } else { + let params = StartFullNodeParams { client: client.clone(), - transaction_pool: transaction_pool.clone(), - spawn_handle: task_manager.spawn_handle(), - import_queue, - on_demand: Some(on_demand.clone()), - block_announce_validator_builder: None, - })?; + announce_block, + task_manager: &mut task_manager, + para_id: id, + polkadot_full_node, + }; - if config.offchain_worker.enabled { - sc_service::build_offchain_workers( - &config, task_manager.spawn_handle(), client.clone(), network.clone(), - ); + start_full_node(params)?; } - sc_service::spawn_tasks(sc_service::SpawnTasksParams { - remote_blockchain: Some(backend.remote_blockchain()), - transaction_pool, - task_manager: &mut task_manager, - on_demand: Some(on_demand), - rpc_extensions_builder: Box::new(|_, _| ()), - config, - client, - keystore: keystore_container.sync_keystore(), - backend, - network, - network_status_sinks, - system_rpc_tx, - telemetry: telemetry.as_mut(), - })?; + start_network.start_network(); - network_starter.start_network(); - Ok(task_manager) + Ok((task_manager, client)) +} + +/// 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( + parachain_config, + collator_key, + polkadot_config, + id, + validator, + ) + .await } diff --git a/polkadot-launch/.gitignore b/polkadot-launch/.gitignore new file mode 100644 index 0000000..a50b84c --- /dev/null +++ b/polkadot-launch/.gitignore @@ -0,0 +1,3 @@ +*.log +rococo-local.json +rococo-local-raw.json diff --git a/polkadot-launch/config.json b/polkadot-launch/config.json new file mode 100644 index 0000000..05f55d2 --- /dev/null +++ b/polkadot-launch/config.json @@ -0,0 +1,30 @@ +{ + "relaychain": { + "bin": "../../polkadot/target/release/polkadot", + "chain": "rococo-local", + "nodes": [ + { + "name": "alice", + "wsPort": 9944, + "port": 30444 + }, + { + "name": "bob", + "wsPort": 9955, + "port": 30555 + } + ] + }, + "parachains": [ + { + "bin": "../target/release/canvas", + "id": "200", + "wsPort": 9988, + "port": 31200, + "balance": "1000000000000000000000", + "flags": ["--", "--execution=wasm"] + } + ], + "types": { + } +} diff --git a/polkadot-launch/launch.sh b/polkadot-launch/launch.sh new file mode 100755 index 0000000..c4e4126 --- /dev/null +++ b/polkadot-launch/launch.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -e + +echo "*** Launching local testnet" + +polkadot-launch config.json diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 828720f..82df31c 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -11,39 +11,49 @@ targets = ["x86_64-unknown-linux-gnu"] codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ["derive"] } serde = { version = "1.0.101", optional = true, features = ["derive"] } -# primitives -sp-api = { git = "https://github.com/paritytech/substrate", package = "sp-api", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/substrate", package = "sp-block-builder", default-features = false } -sp-consensus-aura = { git = "https://github.com/paritytech/substrate", package = "sp-consensus-aura", default-features = false } -sp-core = { git = "https://github.com/paritytech/substrate", package = "sp-core", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/substrate", package = "sp-inherents", default-features = false } -sp-offchain = { git = "https://github.com/paritytech/substrate", package = "sp-offchain", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/substrate", package = "sp-runtime", default-features = false } -sp-session = { git = "https://github.com/paritytech/substrate", package = "sp-session", default-features = false } -sp-std = { git = "https://github.com/paritytech/substrate", package = "sp-std", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/substrate", package = "sp-transaction-pool", default-features = false } -sp-version = { git = "https://github.com/paritytech/substrate", package = "sp-version", default-features = false } +parachain-info = { git = "https://github.com/paritytech/cumulus", default-features = false, branch = "rococo-v1" } -# frame -frame-executive = { git = "https://github.com/paritytech/substrate", package = "frame-executive", default-features = false } -frame-support = { git = "https://github.com/paritytech/substrate", package = "frame-support", default-features = false } -frame-system = { git = "https://github.com/paritytech/substrate", package = "frame-system", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/substrate", package = "pallet-aura", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/substrate", package = "pallet-balances", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/substrate", package = "pallet-grandpa", default-features = false } -pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", package = "pallet-randomness-collective-flip", default-features = false } -pallet-sudo = { git = "https://github.com/paritytech/substrate", package = "pallet-sudo", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/substrate", package = "pallet-timestamp", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", package = "pallet-transaction-payment", default-features = false } +# Substrate dependencies +sp-std = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-api = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-io = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-version = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-core = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-session = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-offchain = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-block-builder = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } +sp-inherents = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "rococo-v1" } + +frame-support = { git = "https://github.com/paritytech/substrate", package = "frame-support", default-features = false, branch = "rococo-v1" } +frame-executive = { git = "https://github.com/paritytech/substrate", package = "frame-executive", default-features = false, branch = "rococo-v1" } +frame-system = { git = "https://github.com/paritytech/substrate", package = "frame-system", default-features = false, branch = "rococo-v1" } +pallet-balances = { git = "https://github.com/paritytech/substrate", package = "pallet-balances", default-features = false, branch = "rococo-v1" } +pallet-randomness-collective-flip = { git = "https://github.com/paritytech/substrate", package = "pallet-randomness-collective-flip", default-features = false, branch = "rococo-v1" } +pallet-sudo = { git = "https://github.com/paritytech/substrate", package = "pallet-sudo", default-features = false, branch = "rococo-v1" } +pallet-timestamp = { git = "https://github.com/paritytech/substrate", package = "pallet-timestamp", default-features = false, branch = "rococo-v1" } +pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", package = "pallet-transaction-payment", default-features = false, branch = "rococo-v1" } + +# Cumulus dependencies +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/cumulus", default-features = false, branch = "rococo-v1" } +cumulus-primitives-core = { git = "https://github.com/paritytech/cumulus", default-features = false, branch = "rococo-v1" } +cumulus-pallet-xcm-handler = { git = "https://github.com/paritytech/cumulus", default-features = false, branch = "rococo-v1" } + +# Polkadot dependencies +polkadot-parachain = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "rococo-v1" } +xcm = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "rococo-v1" } +xcm-builder = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "rococo-v1" } +xcm-executor = { git = "https://github.com/paritytech/polkadot", default-features = false, branch = "rococo-v1" } # Used for the node's RPCs -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", package = "frame-system-rpc-runtime-api", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", package = "pallet-transaction-payment-rpc-runtime-api", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", package = "frame-system-rpc-runtime-api", default-features = false , branch = "rococo-v1" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", package = "pallet-transaction-payment-rpc-runtime-api", default-features = false , branch = "rococo-v1" } # Contracts specific packages -pallet-contracts = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts", default-features = false } -pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-primitives", default-features = false } -pallet-contracts-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-rpc-runtime-api", default-features = false } +pallet-contracts = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts", default-features = false , branch = "rococo-v1" } +pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-primitives", default-features = false , branch = "rococo-v1" } +pallet-contracts-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-rpc-runtime-api", default-features = false , branch = "rococo-v1" } [build-dependencies] substrate-wasm-builder = "4.0.0" @@ -52,30 +62,33 @@ substrate-wasm-builder = "4.0.0" default = ["std"] std = [ "codec/std", - "frame-executive/std", - "frame-support/std", - "pallet-aura/std", - "pallet-balances/std", - "pallet-grandpa/std", - "pallet-randomness-collective-flip/std", - "pallet-sudo/std", - "pallet-timestamp/std", - "pallet-transaction-payment/std", - "pallet-transaction-payment-rpc-runtime-api/std", "serde", "sp-api/std", - "sp-block-builder/std", - "sp-consensus-aura/std", + "sp-std/std", + "sp-io/std", "sp-core/std", - "sp-inherents/std", - "sp-offchain/std", "sp-runtime/std", + "sp-version/std", + "sp-offchain/std", "sp-session/std", - "sp-std/std", + "sp-block-builder/std", "sp-transaction-pool/std", - "sp-version/std", + "sp-inherents/std", + "frame-support/std", + "frame-executive/std", "frame-system/std", - "frame-system-rpc-runtime-api/std", + "pallet-balances/std", + "pallet-randomness-collective-flip/std", + "pallet-timestamp/std", + "pallet-sudo/std", + "pallet-transaction-payment/std", + "parachain-info/std", + "cumulus-pallet-parachain-system/std", + "cumulus-pallet-xcm-handler/std", + "cumulus-primitives-core/std", + "xcm/std", + "xcm-builder/std", + "xcm-executor/std", "pallet-contracts/std", "pallet-contracts-primitives/std", "pallet-contracts-rpc-runtime-api/std", diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index fc64a87..8126cef 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -6,43 +6,49 @@ #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); -use sp_std::prelude::*; -use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; +use sp_api::impl_runtime_apis; +use sp_core::OpaqueMetadata; use sp_runtime::{ - ApplyExtrinsicResult, generic, create_runtime_str, impl_opaque_keys, MultiSignature, - transaction_validity::{TransactionValidity, TransactionSource}, Perquintill, - FixedPointNumber, - traits::AccountIdLookup, -}; -use sp_runtime::traits::{ - BlakeTwo256, Block as BlockT, Verify, IdentifyAccount, NumberFor, + create_runtime_str, generic, impl_opaque_keys, + traits::{BlakeTwo256, Block as BlockT, IdentifyAccount, IdentityLookup, Verify}, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, MultiSignature, }; -use sp_api::impl_runtime_apis; -use sp_consensus_aura::sr25519::AuthorityId as AuraId; -use pallet_contracts::weights::WeightInfo; -use pallet_grandpa::{AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList}; -use pallet_grandpa::fg_primitives; -use pallet_transaction_payment::{Multiplier, CurrencyAdapter, FeeDetails, RuntimeDispatchInfo}; -use sp_version::RuntimeVersion; +use sp_std::prelude::*; #[cfg(feature = "std")] use sp_version::NativeVersion; +use sp_version::RuntimeVersion; // A few exports that help ease life for downstream crates. -#[cfg(any(feature = "std", test))] -pub use sp_runtime::BuildStorage; -pub use pallet_timestamp::Call as TimestampCall; -pub use pallet_balances::Call as BalancesCall; -pub use sp_runtime::{Permill, Perbill}; pub use frame_support::{ - construct_runtime, parameter_types, StorageValue, - traits::{KeyOwnerProofSystem, Randomness}, + construct_runtime, parameter_types, + traits::Randomness, weights::{ - Weight, IdentityFee, constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND}, - DispatchClass, + DispatchClass, IdentityFee, Weight, }, + StorageValue, +}; +use frame_system::{EnsureRoot, limits::{BlockLength, BlockWeights}}; +use pallet_contracts::weights::WeightInfo; +pub use pallet_balances::Call as BalancesCall; +pub use pallet_timestamp::Call as TimestampCall; +#[cfg(any(feature = "std", test))] +pub use sp_runtime::BuildStorage; +pub use sp_runtime::{Perbill, Permill}; + +// XCM imports +use polkadot_parachain::primitives::Sibling; +use xcm::v0::{Junction, MultiLocation, NetworkId}; +use xcm_builder::{ + AccountId32Aliases, CurrencyAdapter, LocationInverter, ParentIsDefault, RelayChainAsNative, + SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, + SovereignSignedViaLocation, +}; +use xcm_executor::{ + traits::{IsConcrete, NativeAsset}, + Config, XcmExecutor, }; -use frame_system::limits::{BlockWeights, BlockLength}; /// An index to a block. pub type BlockNumber = u32; @@ -79,18 +85,13 @@ pub mod opaque { 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; + + pub type SessionHandlers = (); impl_opaque_keys! { - pub struct SessionKeys { - pub aura: Aura, - pub grandpa: Grandpa, - } + pub struct SessionKeys {} } } @@ -98,7 +99,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("canvas"), impl_name: create_runtime_str!("canvas"), authoring_version: 1, - spec_version: 9, + spec_version: 8, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -123,6 +124,15 @@ const fn deposit(items: u32, bytes: u32) -> Balance { items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS } +// 1 in 4 blocks (on average, not counting collisions) will be primary babe blocks. +pub const PRIMARY_PROBABILITY: (u64, u64) = (1, 4); + +#[derive(codec::Encode, codec::Decode)] +pub enum XCMPMessage { + /// Transfer tokens to the given account from the Parachain account. + TransferToken(XAccountId, XBalance), +} + /// The version information used to identify this runtime when compiled natively. #[cfg(feature = "std")] pub fn native_version() -> NativeVersion { @@ -142,8 +152,8 @@ const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); const MAXIMUM_BLOCK_WEIGHT: Weight = 2 * WEIGHT_PER_SECOND; parameter_types! { + pub const BlockHashCount: BlockNumber = 250; pub const Version: RuntimeVersion = VERSION; - pub const BlockHashCount: BlockNumber = 2400; pub RuntimeBlockLength: BlockLength = BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() @@ -179,7 +189,7 @@ impl frame_system::Config for Runtime { /// The aggregated dispatch type that is available for extrinsics. type Call = Call; /// The lookup mechanism to get account ID from whatever is passed in dispatchers. - type Lookup = AccountIdLookup; + type Lookup = IdentityLookup; /// The index type for storing how many extrinsics an account has signed. type Index = Index; /// The index type for blocks. @@ -204,7 +214,7 @@ impl frame_system::Config for Runtime { /// /// This type is being generated by `construct_runtime!`. type PalletInfo = PalletInfo; - /// What to do if a new account is created. + /// What to do if a new account is created.) type OnNewAccount = (); /// What to do if an account is fully reaped from the system. type OnKilledAccount = (); @@ -216,29 +226,6 @@ impl frame_system::Config for Runtime { type SS58Prefix = SS58Prefix; } -impl pallet_aura::Config for Runtime { - type AuthorityId = AuraId; -} - -impl pallet_grandpa::Config for Runtime { - type Event = Event; - type Call = Call; - - type KeyOwnerProofSystem = (); - - type KeyOwnerProof = - >::Proof; - - type KeyOwnerIdentification = >::IdentificationTuple; - - type HandleEquivocation = (); - - type WeightInfo = (); -} - parameter_types! { pub const MinimumPeriod: u64 = SLOT_DURATION / 2; } @@ -246,18 +233,20 @@ parameter_types! { 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 = (); } parameter_types! { pub const ExistentialDeposit: u128 = 500; + pub const TransferFee: u128 = 0; + pub const CreationFee: u128 = 0; + pub const TransactionByteFee: u128 = 1; pub const MaxLocks: u32 = 50; } impl pallet_balances::Config for Runtime { - type MaxLocks = MaxLocks; /// The type for recording an account's balance. type Balance = Balance; /// The ubiquitous event type. @@ -266,29 +255,91 @@ impl pallet_balances::Config for Runtime { type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); -} - -parameter_types! { - /// 1 CAN = 1 Megabyte - pub const TransactionByteFee: Balance = CANS / (1024 * 1024); - pub const TargetBlockFullness: Perquintill = Perquintill::from_percent(25); - pub AdjustmentVariable: Multiplier = Multiplier::saturating_from_rational(3, 100_000); - pub MinimumMultiplier: Multiplier = Multiplier::saturating_from_rational(1, 1_000_000_000u128); + type MaxLocks = MaxLocks; } impl pallet_transaction_payment::Config for Runtime { - type OnChargeTransaction = CurrencyAdapter; + type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; type TransactionByteFee = TransactionByteFee; type WeightToFee = IdentityFee; type FeeMultiplierUpdate = (); } +impl pallet_sudo::Config for Runtime { + type Call = Call; + type Event = Event; +} + +impl cumulus_pallet_parachain_system::Config for Runtime { + type Event = Event; + type OnValidationData = (); + type SelfParaId = parachain_info::Module; + type DownwardMessageHandlers = (); + type HrmpMessageHandlers = (); +} + +impl parachain_info::Config for Runtime {} + parameter_types! { - pub TombstoneDeposit: Balance = deposit( + pub const RococoLocation: MultiLocation = MultiLocation::X1(Junction::Parent); + pub const RococoNetwork: NetworkId = NetworkId::Polkadot; + pub RelayChainOrigin: Origin = cumulus_pallet_xcm_handler::Origin::Relay.into(); + pub Ancestry: MultiLocation = Junction::Parachain { + id: ParachainInfo::parachain_id().into() + }.into(); +} + +type LocationConverter = ( + ParentIsDefault, + SiblingParachainConvertsVia, + AccountId32Aliases, +); + +type LocalAssetTransactor = CurrencyAdapter< + // Use this currency: + Balances, + // Use this currency when it is a fungible asset matching the given location or name: + IsConcrete, + // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID: + LocationConverter, + // Our chain's account ID type (we can't get away without mentioning it explicitly): + AccountId, +>; + +type LocalOriginConverter = ( + SovereignSignedViaLocation, + RelayChainAsNative, + SiblingParachainAsNative, + SignedAccountId32AsNative, +); + +pub struct XcmConfig; +impl Config for XcmConfig { + type Call = Call; + type XcmSender = XcmHandler; + // How to withdraw and deposit an asset. + type AssetTransactor = LocalAssetTransactor; + type OriginConverter = LocalOriginConverter; + type IsReserve = NativeAsset; + type IsTeleporter = (); + type LocationInverter = LocationInverter; +} + +impl cumulus_pallet_xcm_handler::Config for Runtime { + type Event = Event; + type XcmExecutor = XcmExecutor; + type UpwardMessageSender = ParachainSystem; + type HrmpMessageSender = ParachainSystem; + type SendXcmOrigin = EnsureRoot; + type AccountIdConverter = LocationConverter; +} + +parameter_types! { + pub const TombstoneDeposit: Balance = deposit( 1, - >::contract_info_size(), + sp_std::mem::size_of::>() as u32 ); - pub DepositPerContract: Balance = TombstoneDeposit::get(); + pub const DepositPerContract: Balance = TombstoneDeposit::get(); pub const DepositPerStorageByte: Balance = deposit(0, 1); pub const DepositPerStorageItem: Balance = deposit(1, 0); pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS); @@ -323,7 +374,7 @@ impl pallet_contracts::Config for Runtime { type SurchargeReward = SurchargeReward; type MaxDepth = MaxDepth; type MaxValueSize = MaxValueSize; - type WeightPrice = pallet_transaction_payment::Module; + type WeightPrice = pallet_transaction_payment::Pallet; type WeightInfo = pallet_contracts::weights::SubstrateWeight; type ChainExtension = (); type DeletionQueueDepth = DeletionQueueDepth; @@ -331,11 +382,6 @@ impl pallet_contracts::Config for Runtime { type MaxCodeSize = MaxCodeSize; } -impl pallet_sudo::Config for Runtime { - type Event = Event; - type Call = Call; -} - // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime where @@ -343,20 +389,21 @@ construct_runtime!( NodeBlock = opaque::Block, UncheckedExtrinsic = UncheckedExtrinsic { - System: frame_system::{Pallet, Call, Config, Storage, Event}, - RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage}, + System: frame_system::{Pallet, Call, Storage, Config, Event}, Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent}, - Aura: pallet_aura::{Pallet, Config}, - Grandpa: pallet_grandpa::{Pallet, Call, Storage, Config, Event}, Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, - TransactionPayment: pallet_transaction_payment::{Pallet, Storage}, - Sudo: pallet_sudo::{Pallet, Call, Config, Storage, Event}, Contracts: pallet_contracts::{Pallet, Call, Config, Storage, Event}, + Sudo: pallet_sudo::{Pallet, Call, Storage, Config, Event}, + RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage}, + ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Event}, + TransactionPayment: pallet_transaction_payment::{Pallet, Storage}, + ParachainInfo: parachain_info::{Pallet, Storage, Config}, + XcmHandler: cumulus_pallet_xcm_handler::{Pallet, Call, Event, Origin}, } ); /// The address format for describing accounts. -pub type Address = sp_runtime::MultiAddress; +pub type Address = AccountId; /// Block header type as expected by this runtime. pub type Header = generic::Header; /// Block type as expected by this runtime. @@ -368,12 +415,11 @@ pub type BlockId = generic::BlockId; /// The SignedExtension to the basic transaction logic. pub type SignedExtra = ( frame_system::CheckSpecVersion, - frame_system::CheckTxVersion, frame_system::CheckGenesis, frame_system::CheckEra, frame_system::CheckNonce, frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment + pallet_transaction_payment::ChargeTransactionPayment, ); /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = generic::UncheckedExtrinsic; @@ -410,7 +456,9 @@ impl_runtime_apis! { } impl sp_block_builder::BlockBuilder for Runtime { - fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult { + fn apply_extrinsic( + extrinsic: ::Extrinsic, + ) -> ApplyExtrinsicResult { Executive::apply_extrinsic(extrinsic) } @@ -422,10 +470,7 @@ impl_runtime_apis! { data.create_extrinsics() } - fn check_inherents( - block: Block, - data: sp_inherents::InherentData, - ) -> sp_inherents::CheckInherentsResult { + fn check_inherents(block: Block, data: sp_inherents::InherentData) -> sp_inherents::CheckInherentsResult { data.check_extrinsics(&block) } @@ -449,51 +494,15 @@ impl_runtime_apis! { } } - impl sp_consensus_aura::AuraApi for Runtime { - fn slot_duration() -> sp_consensus_aura::SlotDuration { - sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration()) - } - - fn authorities() -> Vec { - Aura::authorities() - } - } - impl sp_session::SessionKeys for Runtime { - fn generate_session_keys(seed: Option>) -> Vec { - opaque::SessionKeys::generate(seed) - } - fn decode_session_keys( encoded: Vec, - ) -> Option, KeyTypeId)>> { + ) -> Option, sp_core::crypto::KeyTypeId)>> { opaque::SessionKeys::decode_into_raw_public_keys(&encoded) } - } - - impl fg_primitives::GrandpaApi for Runtime { - fn grandpa_authorities() -> GrandpaAuthorityList { - Grandpa::grandpa_authorities() - } - fn submit_report_equivocation_unsigned_extrinsic( - _equivocation_proof: fg_primitives::EquivocationProof< - ::Hash, - NumberFor, - >, - _key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof, - ) -> Option<()> { - None - } - - fn generate_key_ownership_proof( - _set_id: fg_primitives::SetId, - _authority_id: GrandpaId, - ) -> Option { - // NOTE: this is the only implementation possible since we've - // defined our key owner proof type as a bottom type (i.e. a type - // with no values). - None + fn generate_session_keys(seed: Option>) -> Vec { + opaque::SessionKeys::generate(seed) } } @@ -503,14 +512,17 @@ impl_runtime_apis! { } } - impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi< - Block, - Balance, - > for Runtime { - fn query_info(uxt: ::Extrinsic, len: u32) -> RuntimeDispatchInfo { + impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime { + fn query_info( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo { TransactionPayment::query_info(uxt, len) } - fn query_fee_details(uxt: ::Extrinsic, len: u32) -> FeeDetails { + fn query_fee_details( + uxt: ::Extrinsic, + len: u32, + ) -> pallet_transaction_payment::FeeDetails { TransactionPayment::query_fee_details(uxt, len) } } @@ -542,3 +554,5 @@ impl_runtime_apis! { } } } + +cumulus_pallet_parachain_system::register_validate_block!(Runtime, Executive);