From 6459a1945628e961499479b288b9d177a325d48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastian=20K=C3=B6cher?= Date: Fri, 10 Jan 2020 13:09:03 +0100 Subject: [PATCH] Companion pr for Substrate #3860 (#743) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Make use of `runtime_interface` for parachain externalities This also changes the encoding of the `ValidationResult` return value to match the default encoding used in Substrate. * Bump versions (#655) * Bump version * Update Cargo lock and bump runtime version * Remove balance transfer disabler. * Fix checking that `get_heads` exists (#657) * Tweak some Kusama params (#659) * Tweak some Kusama params - Council elections daily - No treasury burn - Bonding/slash defer periods of 7 days * Bump runtime * Bump version * Update Substrate (#661) * Make compat with exit-future updates * Update exit-future entirely * Tidy * Bump Substrate * Update branch * Add back sudo and fixing compilation * Increase nick deposit (10 KSM) and require 2 councillors to slash (#663) * Bump Substrate (#664) * Replace Substrate mentions in license headers with Polkadot (#674) * Fix typo in comment (#671) * Bump Substrate, add Identity module (#676) * Bump Substrate, add Identity module * Bump Substrate again * Update futures and tokio for browser light client (#673) * Make availability-store compile for WASM * Use --manifest-path instead * Make validation work on wasm! * Switch to Spawn trait * Migrate validation to std futures * Migrate network to std futures * Final changes to validation * Tidy up network * Tidy up validation * Switch branch * Migrate service * Get polkadot to compile via wasm! * Add browser-demo * Add initial browser file * Add browser-demo * Tidy * Temp switch back to substrate/master * tidy * Fix wasm build * Re-add release flag * Switch to polkadot-master * Revert cli tokio version to avoid libp2p panic * Update tokio version * Fix availability store tests * Fix validation tests * Remove futures01 from availability-store * Fix network tests * Small changes * Fix collator * Fix typo * Revert removal of tokio_executor that causes tokio version mismatch panic * Fix adder test parachain * Revert "Revert removal of tokio_executor that causes tokio version mismatch panic" This reverts commit cfeb50c01d8df5e209483406a711e64761b44ae9. * Update availability-store/src/worker.rs Co-Authored-By: Pierre Krieger * Update network/src/lib.rs Co-Authored-By: Pierre Krieger * Update network/src/lib.rs Co-Authored-By: Pierre Krieger * Box pin changes * Asyncify network functions * Clean up browser validation worker error * Fix av store test * Nits * Fix validation test * Switch favicon * Fix validation test again * Revert "Asyncify network functions" This reverts commit f20ae6548dc482cb1e75bc80641cfe55c6131a53. * Add async blocks back in * Fix typo in comment (#672) * Add the /ws bootnode to the chain specs (#681) * Revert "Revert "Revert removal of tokio_executor that causes tokio version mismatch panic"" (#685) This reverts commit 938f411a9365e9c5fb16bfedb62aacac4403d063. * Fix bootnodes PeerIds (#683) * Fixes a flaky test (#675) * Fixes a flaky test * Renames a var * Do not unit the errors in tests * Bump Substrate (#686) * update to latest renames * Bump Substrate * Bump substrate * Merge some things from `ashley-compile-to-wasm` (#687) * Make availability-store compile for WASM * Use --manifest-path instead * Make validation work on wasm! * Switch to Spawn trait * Migrate validation to std futures * Migrate network to std futures * Final changes to validation * Tidy up network * Tidy up validation * Switch branch * Migrate service * Get polkadot to compile via wasm! * Add browser-demo * Add initial browser file * Add browser-demo * Tidy * Temp switch back to substrate/master * tidy * Fix wasm build * Re-add release flag * Add the /ws bootnode to the chain specs * Copy changes from master * Switch branch * Switch libp2p and add wasm-timer * Switch back libp2p and add rand * Fix bootnodes PeerIds * use browser indexdb * Reduce changeset * Add matrix release alert script and gitlab job (#688) * Add matrix release alert script and gitlab job * Update .gitlab-ci.yml Co-Authored-By: Kirill Pimenov * Rewrite some Future structs as async functions (#679) * Squashed commit of the following: commit e97a17157ae0887320994661e2f816275fc75b76 Author: Ashley Date: Tue Dec 10 15:06:28 2019 +0100 Rewrite some functions as async commit 970e485179f1e087cf0a51c6a4e71f923e87df45 Merge: f98966ac 47828402 Author: Ashley Date: Tue Dec 10 11:19:37 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-futures-update commit f98966ac188067158071d1e3e243c34ea5738f56 Author: Ashley Date: Mon Dec 9 23:40:20 2019 +0100 Add async blocks back in commit 7fa88af0271db659de9274c94cb8e7eead0e4289 Author: Ashley Date: Mon Dec 9 23:17:02 2019 +0100 Revert "Asyncify network functions" This reverts commit f20ae6548dc482cb1e75bc80641cfe55c6131a53. commit 82413550cdac40bd14a09f62df12de49dd7e55af Author: Ashley Date: Mon Dec 9 19:09:55 2019 +0100 Fix validation test again commit 47e002b08369c9c775b92aea9b6f6ed81b30241b Author: Ashley Date: Mon Dec 9 19:07:43 2019 +0100 Switch favicon commit 0c5c1409078fc57120a39e40ec5cb1763d67d593 Author: Ashley Date: Mon Dec 9 18:54:10 2019 +0100 Fix validation test commit 8bb6a0189fe824da09054cbf5b06f11a0f87072d Author: Ashley Date: Mon Dec 9 18:53:54 2019 +0100 Nits commit 33410f3a4910d3e688956cecfcca02cc2dfa6a7a Author: Ashley Date: Mon Dec 9 18:43:09 2019 +0100 Fix av store test commit f0c517eb240c42848cdb3305e0b554ef407bdfaa Merge: 938f411a 60e72111 Author: Ashley Date: Mon Dec 9 18:21:39 2019 +0100 Merge branch 'ashley-futures-updates' into ashley-futures-update commit 60e72111651f2b366592c1e56756c6bf5d8ce2f1 Author: Ashley Date: Mon Dec 9 18:19:40 2019 +0100 Clean up browser validation worker error commit f20ae6548dc482cb1e75bc80641cfe55c6131a53 Author: Ashley Date: Mon Dec 9 18:16:40 2019 +0100 Asyncify network functions commit b22758d0a3852d701923bd238484e1c9eabec5e2 Merge: 2e8b05ed ca8d5c54 Author: Ashley Date: Mon Dec 9 17:47:26 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-futures-updates commit 2e8b05edf1a1fadd6943f967c27b6d34675ba06a Author: Ashley Date: Mon Dec 9 17:45:52 2019 +0100 Box pin changes commit 08bfdf7f2d27721abffee49221213304ebc4fd47 Author: Ashley Date: Mon Dec 9 17:15:38 2019 +0100 Update network/src/lib.rs Co-Authored-By: Pierre Krieger commit d8be456c508d5e5a03178db45d9f272b302a8a65 Author: Ashley Date: Mon Dec 9 17:15:32 2019 +0100 Update network/src/lib.rs Co-Authored-By: Pierre Krieger commit ec7367276fdd374b19f41555fd5985454c559600 Author: Ashley Date: Mon Dec 9 17:14:36 2019 +0100 Update availability-store/src/worker.rs Co-Authored-By: Pierre Krieger commit 938f411a9365e9c5fb16bfedb62aacac4403d063 Author: Ashley Date: Mon Dec 9 17:05:05 2019 +0100 Revert "Revert removal of tokio_executor that causes tokio version mismatch panic" This reverts commit cfeb50c01d8df5e209483406a711e64761b44ae9. commit f92f58044b4fe04bde73a60820d154080dd64b16 Author: Ashley Date: Mon Dec 9 15:47:35 2019 +0100 Fix adder test parachain commit cfeb50c01d8df5e209483406a711e64761b44ae9 Author: Ashley Date: Mon Dec 9 15:31:36 2019 +0100 Revert removal of tokio_executor that causes tokio version mismatch panic commit 5bcb83a122b9a30f240a238ca670c6b658f4ddf1 Author: Ashley Date: Mon Dec 9 15:17:55 2019 +0100 Fix typo commit fc02b1dc16e277649677396833a8d70e8588a56c Author: Ashley Date: Mon Dec 9 15:02:50 2019 +0100 Fix collator commit 6c4ff5b3bf1084a618ffec2d864090c9c8077f0f Author: Ashley Date: Mon Dec 9 14:35:37 2019 +0100 Small changes commit e1338cb4450df5377d8c911da56445914d667472 Author: Ashley Date: Mon Dec 9 14:24:42 2019 +0100 Fix network tests commit 4e458f7a91c1ed5c986795f40ed55e596d176c4b Author: Ashley Date: Mon Dec 9 12:25:26 2019 +0100 Remove futures01 from availability-store commit 5729f6cd6b53f061ff155320c815509feb02309e Author: Ashley Date: Mon Dec 9 12:22:33 2019 +0100 Fix validation tests commit a820612565b42780f8b6c09c9c1c30f06a9985ba Author: Ashley Date: Mon Dec 9 12:01:48 2019 +0100 Fix availability store tests commit 112344faeee5f8f03b3b87c6baf7036a7fcbe415 Author: Ashley Date: Mon Dec 9 11:36:03 2019 +0100 Update tokio version commit d2de6d8b3f0c3682679fe437d5459ac50a3c3895 Author: Ashley Date: Mon Dec 9 11:33:25 2019 +0100 Revert cli tokio version to avoid libp2p panic commit 0c5f24e0c1131ac58a947448456e7fb62c869702 Author: Ashley Date: Mon Dec 9 11:27:13 2019 +0100 Switch to polkadot-master commit 2e2311e33a4af87c2c545094ea8cb595cd6cfe2d Author: Ashley Date: Fri Dec 6 15:07:21 2019 +0100 Re-add release flag commit 6adc1b6114e154a590acf82acfaf0c1265409518 Merge: 9767f832 5e9542c8 Author: Ashley Date: Fri Dec 6 13:36:35 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit 9767f8325c33211065ef6830becdac0e3cf852de Merge: c528dc6d 84ece424 Author: Ashley Date: Wed Dec 4 17:11:39 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit c528dc6df8fc31cdcbc10889636355241398debd Author: Ashley Date: Wed Dec 4 17:07:00 2019 +0100 Fix wasm build commit da233a122c678dc7767dac7cc6e2564575b15cc8 Author: Ashley Date: Wed Dec 4 16:25:49 2019 +0100 tidy commit 832f8054df78afbcef1903e0f9e7e246b348c10d Merge: 4e1da888 78e828d8 Author: Ashley Date: Wed Dec 4 15:56:56 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit 4e1da8888dd2160064dd453782fb05513c65ade4 Author: Ashley Date: Tue Dec 3 16:47:02 2019 +0100 Temp switch back to substrate/master commit af88a87338688797bbc52315fdd0fc22cf23c6cf Merge: a03a980c abb51115 Author: Ashley Date: Mon Dec 2 19:33:14 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit a03a980ce417ec7b446bfcbe7a66ec0ed6458135 Merge: 31a88a93 f7d48261 Author: Ashley Date: Mon Dec 2 13:52:37 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit 31a88a930ffdf5da72b3e587ec8c0e6b00922e3e Author: Ashley Date: Mon Dec 2 13:52:35 2019 +0100 Tidy commit 5b33b7a7af08d7a3aa3853b8e4995484fb640d52 Author: Ashley Date: Mon Dec 2 11:55:51 2019 +0100 Add browser-demo commit 868f6e51dfdc0a64252acd9adabe7b9ba436b1f4 Author: Ashley Date: Mon Dec 2 10:51:57 2019 +0100 Add initial browser file commit e5e399c20f1dc4e1023ee57773dcdd9ab2a0a14b Author: Ashley Date: Mon Dec 2 10:45:02 2019 +0100 Add browser-demo commit 408288b05292d952944a6b8e1f2bcf9cf259a040 Author: Ashley Date: Sun Dec 1 19:28:33 2019 +0100 Get polkadot to compile via wasm! commit 04ffe72e868be57841d31f01eec1b90423a595d6 Author: Ashley Date: Sun Dec 1 19:28:16 2019 +0100 Migrate service commit 119f0829a53b825a3ebc9efdefa76ae7eabb04aa Merge: 93fb6428 5422684f Author: Ashley Date: Sun Dec 1 17:43:49 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit 93fb6428501bac612a1675cf3b6e3d26f5bbc7c2 Author: Ashley Date: Sun Dec 1 12:21:25 2019 +0100 Switch branch commit 0c4fe8331bdc9665ac2427eb8c795112ac728d70 Author: Ashley Date: Sat Nov 30 11:45:59 2019 +0100 Tidy up validation commit 73563253d95962657108820ae130a8d3f3093ee8 Author: Ashley Date: Sat Nov 30 11:39:09 2019 +0100 Tidy up network commit 1c9cf0427c0e2d15c4b6d52b91d67d4a3963e30d Author: Ashley Date: Sat Nov 30 01:16:35 2019 +0100 Final changes to validation commit 322cca5224fdca0a29d88ff91700ef704a9d0c2a Author: Ashley Date: Sat Nov 30 00:31:55 2019 +0100 Migrate network to std futures commit 96f1a99491f5ae2957effa58cc1e385014575a32 Author: Ashley Date: Fri Nov 29 23:31:04 2019 +0100 Migrate validation to std futures commit aaf5e55fffd1367c05687eb34f4365a24e3a34c0 Author: Ashley Date: Fri Nov 29 17:10:11 2019 +0100 Switch to Spawn trait commit 2ab282f57e8b9a55cf8d285b283cf009216511d2 Merge: cceb6b72 5598ed9b Author: Ashley Date: Fri Nov 29 16:31:24 2019 +0100 Merge remote-tracking branch 'parity/master' into ashley-compile-to-wasm commit cceb6b72f5677a1c43d2cd61bd525539054f0c01 Author: Ashley Date: Fri Nov 29 15:47:14 2019 +0100 Make validation work on wasm! commit b45a95cf7d829a916bf2ad6936d1e7f4b6f3ef77 Merge: 3773d5c1 db7eaa6b Author: Ashley Date: Fri Nov 29 13:57:23 2019 +0100 Merge remote-tracking branch 'tomaka/wasm-start' into HEAD commit db7eaa6bd5d3bbcea829570fb47ab4d06f3558ce Merge: 6f97dbb7 2ab32dac Author: Pierre Krieger Date: Thu Nov 28 13:58:15 2019 +0100 Merge branch 'master' into wasm-start commit 6f97dbb786750d854cf8f7a56c6a336ea5979228 Author: Pierre Krieger Date: Thu Nov 28 12:47:45 2019 +0100 Use --manifest-path instead commit 20104e98ff1713b6c81b0251b43d060d4e672d55 Author: Pierre Krieger Date: Thu Nov 28 10:44:51 2019 +0100 Make availability-store compile for WASM * Fix build * Fix futures blocking panic in validators (again) * Deindent * Supercede 'Propagate Substrate#4284 to Polkadot' (#695) * Propagate Substrate#4284 to Polkadot * Fix tests * Fixes * Use hash part of fund id as child unique id. * Add comma * Switch branch * run cargo update * Update polkadot-master only * Fix collator * More update * Fix compilation * Some stylistic cleanups * Increase the minimum treasury bond to reduce silly proposals (#701) * Increase the minimum treasury bond to reduce silly proposals * Bump substrate * Bump version * Update to latest Substrate master (#703) * Update to latest Substrate master * Fix tests * Introduce an event for when transaction fees are paid (#702) * Introduce an event for when transaction fees are paid * Fix Co-authored-by: Bastian Köcher * Bump to latest Substrate (#706) * Updates, but won't build. * Bump version. * Fix * Fix test * ci: increase git cloning depth to 100 (#707) * ci: fetch master branch for runtime diff (#708) * Bump Substrate and runtime version (#712) * Update to latest Substrate master * Bump Substrate and runtime version Co-authored-by: Bastian Köcher * ci: fix release tagging after tags are added on the master branch (#714) * ci: fix release tagging after tags are added on the master branch * ci: latest tag applied to latest tag * Update kvdb version in availability-store (#709) * update availability store * also fix warning * update Cargo.lock * Support both polkadot and kusama runtimes (#704) * Allow both polkadot and kusama runtimes * Allow both polkadot and kusama runtimes * Make `collator` build * Removed kusama runtime * Introduced common runtime * Updated for latest substrate * Updated CI targets * Updated CI version check * Removed unused dependency * Pulled latests substrate * Pulled latest substrate * Fixed version * Apply suggestions from code review Co-Authored-By: Bastian Köcher * NEW_HEADS_IDENTIFIER moved to primitives * Updated CI check script * Fixed script * Set epoch duration for polkadot * ci: check_runtime for both runtimes Co-authored-by: Bastian Köcher Co-authored-by: gabriel klawitter * Bump Substrate & runtime version (#715) * Bump Substrate & runtime version * Attempt at fix * Update runtime/kusama/src/lib.rs Co-Authored-By: Bastian Köcher Co-authored-by: Bastian Köcher * Update copyright year (#718) * Fixes after master merge * service: support setting fork blocks in config (#719) * ci: make sure master branch is available for check_runtime (#720) * service/src/lib.rs: Register network event stream for authority disc (#678) * service/src/lib.rs: Register network event stream for authority disc Previously one would create a sender and receiver channel pair, pass the sender to the build_network_future through the service builder and funnel network events returned from polling the network service into the sender to be consumed by the authority discovery module owning the receiver. With recent changes it is now possible to register an event_stream with the network service directly, thus one does not need to make the detour through the build_network_future. This commit is an adjusted clone of one targeting the Substrate repository. * service/src/lib.rs: Fix futures::stream imports * [TMP] *: Replace polkadot-upstream with feature branch * Revert "[TMP] *: Replace polkadot-upstream with feature branch" This reverts commit 0c947b04ab80488bfca16c5aeac9657b77a93a44. * Hotfix for Kusama (#724) * cli: revert borked kusama chain on startup * Docs. * cli: fix reversal of bork kusama fork * cli: force always can author * Version bump * service: support setting fork blocks in config * service: add support for bad blocks extension * service: add badBlocks to kusama chainspec * Bump Substrate to hotfix version. * service: add bad block to kusama chain spec * cleanup kusama hotfix * add kusama grandpa hotfix * Bump substrate * Bump spec_version * Rebump * cli: remove unnecessary dependencies * service: revert can_author_with fix * service: remove unnecessary method * Don't try to track polkadot runtime verion yet * Versions * service: better grandpa fix detection Co-authored-by: André Silva * allow release alerts to fail (#725) * Fix the can-author issue by defaulting to Kusama when no chainspec given. (#728) * Fix can_author by defaulting correctly. * Comments * Better logging * Bump Substrate * Minor updates to readme. * service: reset grandpa into a future round (not past) (#726) * service: reset grandpa into a future round (not past) * update substrate version * service: create grandpa reset round variable * service: fine grained grandpa reset on startup Co-authored-by: Gavin Wood * Bump version (#729) * polkadot v0.7.13 (#730) * bump substrate version * bump version to 0.7.13 * Fix pending-release alert script (#734) ... parity/tools doesn't have /bin/bash * Select native runtime based on chain spec (#733) * Select native runtime based on chain spec * Bumped substrate * Add sudo module to `polkadot-runtime` (#735) * Bump versions (#736) * Fix up Kusama balance constants * Bump versions * Fix for the --dev option * remove kusama fixes (#738) * Tweak Polkadot constants & bump Substrate (#739) * Tweak Polkadot constants. * Bump and remove warning * Bump impl version * Bump Substrate * Bump Substrate again * Some fixes * Fix compilation * Remove TODO * Remove old dir * Companion PR for Substrate#4585 (#748) * Companion PR for Substrate#4394 (#723) * service/src/lib.rs: Register network event stream for authority disc Previously one would create a sender and receiver channel pair, pass the sender to the build_network_future through the service builder and funnel network events returned from polling the network service into the sender to be consumed by the authority discovery module owning the receiver. With recent changes it is now possible to register an event_stream with the network service directly, thus one does not need to make the detour through the build_network_future. This commit is an adjusted clone of one targeting the Substrate repository. * service/src/lib.rs: Fix futures::stream imports * [TMP] *: Replace polkadot-upstream with feature branch * Switch branch * Small change * Companion PR to substrate#4542 * Revert "Merge remote-tracking branch 'tomaka/companion-4542' into ashley-browser-utils" This reverts commit 17f00afe483ee65cb3cf4a0faca27034e6d6523a, reversing changes made to 928cbb9c55542baff56b53accd9a5a45f12f01f1. * ashley-browser-utils -> ashley-browser-utils-polkadot * Switch branches back Co-authored-by: Max Inden Co-authored-by: Pierre Krieger * Companion PR to substrate#4542 (#732) * Companion PR for Substrate#4585 Co-authored-by: Ashley Co-authored-by: Max Inden Co-authored-by: Pierre Krieger * Reset branch and make it compile * Review feedback * Make the bounds a bit cleaner. Co-authored-by: Gavin Wood Co-authored-by: Stanislav Tkach Co-authored-by: Leo Arias Co-authored-by: Ashley Co-authored-by: Pierre Krieger Co-authored-by: Fedor Sakharov Co-authored-by: s3krit Co-authored-by: Kirill Pimenov Co-authored-by: gabriel klawitter Co-authored-by: Nikolay Volf Co-authored-by: Arkadiy Paronyan Co-authored-by: Shawn Tabrizi Co-authored-by: André Silva Co-authored-by: Max Inden Co-authored-by: Tomasz Drwięga --- Cargo.lock | 273 ++++++++++----------- availability-store/Cargo.toml | 10 +- availability-store/src/lib.rs | 11 +- availability-store/src/worker.rs | 25 +- cli/Cargo.toml | 7 + cli/src/lib.rs | 41 +++- collator/Cargo.toml | 9 +- collator/src/lib.rs | 39 ++- network/Cargo.toml | 3 +- network/src/gossip.rs | 7 +- network/src/router.rs | 7 +- network/src/tests/mod.rs | 7 +- network/src/tests/validation.rs | 25 +- network/src/validation.rs | 10 +- rpc/Cargo.toml | 1 + rpc/src/lib.rs | 6 +- runtime/common/src/claims.rs | 2 + runtime/common/src/crowdfund.rs | 1 + runtime/common/src/parachains.rs | 5 +- runtime/common/src/registrar.rs | 1 + runtime/common/src/slots.rs | 1 + runtime/kusama/src/lib.rs | 5 +- runtime/polkadot/build.rs | 2 +- runtime/polkadot/src/lib.rs | 5 +- service/Cargo.toml | 10 +- service/src/chain_spec.rs | 6 +- service/src/lib.rs | 60 ++++- test-parachains/adder/collator/src/main.rs | 15 +- validation/Cargo.toml | 2 +- validation/src/attestation_service.rs | 10 +- validation/src/collation.rs | 10 +- validation/src/lib.rs | 97 +++++--- validation/src/shared_table/mod.rs | 4 +- 33 files changed, 426 insertions(+), 291 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ec2c92c1c5c9b..8ae89de0bf589 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -389,7 +389,7 @@ dependencies = [ [[package]] name = "browser-utils" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "clear_on_drop 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1134,7 +1134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "fork-tree" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1142,7 +1142,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -1156,7 +1156,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1167,7 +1167,7 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bitmask 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "frame-metadata 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -1191,7 +1191,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support-procedural-tools 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1202,7 +1202,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support-procedural-tools-derive 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1214,7 +1214,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1224,7 +1224,7 @@ dependencies = [ [[package]] name = "frame-system" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1241,7 +1241,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -1536,7 +1536,7 @@ dependencies = [ [[package]] name = "grafana-data-source" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "async-std 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2102,15 +2102,6 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "parity-bytes 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb" version = "0.3.1" @@ -2121,15 +2112,6 @@ dependencies = [ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb-memorydb" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb-memorydb" version = "0.3.1" @@ -2140,23 +2122,6 @@ dependencies = [ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "kvdb-rocksdb" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "fs-swap 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "interleaved-ordered 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)", - "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rocksdb 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "kvdb-rocksdb" version = "0.4.1" @@ -2990,7 +2955,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3008,7 +2973,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3025,7 +2990,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3046,7 +3011,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3060,7 +3025,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3076,7 +3041,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3091,7 +3056,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3104,7 +3069,7 @@ dependencies = [ [[package]] name = "pallet-finality-tracker" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3120,7 +3085,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3138,7 +3103,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "enumflags2 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3153,7 +3118,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3172,7 +3137,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3189,7 +3154,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3203,7 +3168,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3217,7 +3182,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3232,7 +3197,7 @@ dependencies = [ [[package]] name = "pallet-randomness-collective-flip" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3245,7 +3210,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3264,7 +3229,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3284,7 +3249,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3295,7 +3260,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3309,7 +3274,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3325,7 +3290,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3338,7 +3303,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core-client 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3346,6 +3311,7 @@ dependencies = [ "pallet-transaction-payment-rpc-runtime-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-rpc 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3355,7 +3321,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3368,7 +3334,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3382,7 +3348,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-support 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "frame-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -3707,9 +3673,9 @@ dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb-memorydb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kvdb-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-memorydb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb-rocksdb 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3737,7 +3703,14 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-service 0.7.17", "sc-cli 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-client-db 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sc-executor 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-service 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "structopt 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3751,6 +3724,7 @@ dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures-timer 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "polkadot-cli 0.7.17", "polkadot-network 0.7.17", "polkadot-primitives 0.7.17", @@ -3759,10 +3733,12 @@ dependencies = [ "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-network 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-consensus 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-keyring 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "tokio 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3800,6 +3776,7 @@ dependencies = [ "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-keyring 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "wasm-timer 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3856,6 +3833,7 @@ dependencies = [ "polkadot-primitives 0.7.17", "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-rpc 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-transaction-pool 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "substrate-frame-rpc-system 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4603,7 +4581,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4619,6 +4597,7 @@ dependencies = [ "sc-keystore 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-network 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-authority-discovery 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4628,12 +4607,14 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-block-builder 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-consensus 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4642,7 +4623,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "sc-chain-spec-derive 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4657,7 +4638,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4668,7 +4649,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "ansi_term 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)", "app_dirs 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4703,7 +4684,7 @@ dependencies = [ [[package]] name = "sc-client" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4736,7 +4717,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4767,7 +4748,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "kvdb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4793,7 +4774,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "fork-tree 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4833,7 +4814,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4842,17 +4823,19 @@ dependencies = [ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sc-telemetry 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-consensus 0.8.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", ] [[package]] name = "sc-consensus-uncles" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "sc-client-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4866,7 +4849,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4893,7 +4876,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4908,7 +4891,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4924,7 +4907,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "cranelift-codegen 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)", "cranelift-entity 0.50.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4948,7 +4931,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "finality-grandpa 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "fork-tree 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -4978,7 +4961,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4993,7 +4976,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5037,7 +5020,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5053,7 +5036,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5080,7 +5063,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p 0.14.0-alpha.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5091,7 +5074,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5120,7 +5103,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5142,7 +5125,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "jsonrpc-core 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-http-server 14.0.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5157,7 +5140,7 @@ dependencies = [ [[package]] name = "sc-service" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "exit-future 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5204,7 +5187,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5215,7 +5198,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5236,7 +5219,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "erased-serde 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", "grafana-data-source 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5252,7 +5235,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5267,7 +5250,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5565,8 +5548,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "sp-api" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ + "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api-proc-macro 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5579,7 +5563,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5591,7 +5575,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5603,7 +5587,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "integer-sqrt 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5616,7 +5600,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5628,7 +5612,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5639,7 +5623,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5651,7 +5635,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5667,7 +5651,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5679,6 +5663,7 @@ dependencies = [ "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", + "sp-state-machine 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-version 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", ] @@ -5686,7 +5671,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.8.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "schnorrkel 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5702,7 +5687,7 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5741,7 +5726,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5751,7 +5736,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "sp-std 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5761,7 +5746,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5774,7 +5759,7 @@ dependencies = [ [[package]] name = "sp-finality-tracker" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-inherents 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5784,7 +5769,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5796,7 +5781,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "libsecp256k1 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5813,7 +5798,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5824,7 +5809,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5833,7 +5818,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5842,7 +5827,7 @@ dependencies = [ [[package]] name = "sp-phragmen" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5852,7 +5837,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5861,7 +5846,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5880,7 +5865,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "environmental 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5895,7 +5880,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "Inflector 0.11.4 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro-crate 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5907,7 +5892,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5916,7 +5901,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5926,7 +5911,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -5936,7 +5921,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5955,12 +5940,12 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" [[package]] name = "sp-storage" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-serde 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5971,7 +5956,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5984,7 +5969,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5998,7 +5983,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "hash-db 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)", "memory-db 0.18.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6012,7 +5997,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-serde 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6024,7 +6009,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "impl-trait-for-tuples 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6128,7 +6113,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "2.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#1ec08e88ccfb436da613473c96d01ca6679d5ff8" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-master#4ed0ad6fbd8b25b63105dc21710ace3c329de0d1" dependencies = [ "frame-system-rpc-runtime-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6139,6 +6124,7 @@ dependencies = [ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "sc-client 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-api 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-blockchain 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-core 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", "sp-runtime 2.0.0 (git+https://github.com/paritytech/substrate?branch=polkadot-master)", @@ -7434,11 +7420,8 @@ dependencies = [ "checksum keccak 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "67c21572b4949434e4fc1e1978b99c5f77064153c59d998bf13ecd96fb5ecba7" "checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" "checksum kv-log-macro 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c54d9f465d530a752e6ebdc217e081a7a614b48cb200f6f0aee21ba6bc9aabb" -"checksum kvdb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cecee8d85a74f6b8284710d52a7d1196f09e31f8217e1f184a475b509d360554" "checksum kvdb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8396be0e5561ccd1bf7ff0b2007487cdd7a87a056873fe6ea906b35d4dbf7ed8" -"checksum kvdb-memorydb 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a5d70712b1fe0f02ce7ee36a962fcb0b15d0fe11262ba21a4aa839ef22cf60d" "checksum kvdb-memorydb 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4d25ef14155e418515c4839e9144c839de3506e68946f255a32b7f166095493d" -"checksum kvdb-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "54cc6b52f7e511de9f07fd77cda70247adfc6b8192e4b5a1b6dbca416dc425b5" "checksum kvdb-rocksdb 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "af488cc16c3801705c8d681c3a32c8faa8fafc7fb5309dee0f573f3c6a19d395" "checksum kvdb-web 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37a0e36637fb86454de401e7cb88f40eb0ad1b9bcee837d46785e7c451f1ebf4" "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" diff --git a/availability-store/Cargo.toml b/availability-store/Cargo.toml index 12a41fd6ac008..dedb863928e91 100644 --- a/availability-store/Cargo.toml +++ b/availability-store/Cargo.toml @@ -14,18 +14,18 @@ log = "0.4.8" futures = "0.3.1" tokio = { version = "0.2.4", features = ["rt-core"] } exit-future = "0.2.0" -codec = { package = "parity-scale-codec", version = "1.1.0", default-features = false, features = ["derive"] } +codec = { package = "parity-scale-codec", version = "1.1.0", features = ["derive"] } sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } consensus_common = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } client = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -sp-runtime = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } keystore = { package = "sc-keystore", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -kvdb = "0.2.0" -kvdb-memorydb = "0.2.0" +kvdb = "0.3.1" +kvdb-memorydb = "0.3.1" [target.'cfg(not(target_os = "unknown"))'.dependencies] -kvdb-rocksdb = "0.3" +kvdb-rocksdb = "0.4.1" diff --git a/availability-store/src/lib.rs b/availability-store/src/lib.rs index 1a6c298211c8e..d62eafae0d7e6 100644 --- a/availability-store/src/lib.rs +++ b/availability-store/src/lib.rs @@ -32,19 +32,20 @@ use polkadot_primitives::{ ParachainHost, }, }; -use sp_runtime::traits::{BlakeTwo256, Hash as HashT, ProvideRuntimeApi}; +use sp_runtime::traits::{BlakeTwo256, Hash as HashT, HasherFor}; use sp_blockchain::{Result as ClientResult}; use client::{ BlockchainEvents, BlockBody, }; -use sp_api::ApiExt; -use std::pin::Pin; +use sp_api::{ApiExt, ProvideRuntimeApi}; + use log::warn; use std::sync::Arc; use std::collections::HashSet; use std::path::PathBuf; use std::io; +use std::pin::Pin; mod worker; mod store; @@ -200,9 +201,11 @@ impl Store { keystore: KeyStorePtr, ) -> ClientResult> where - P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, P::Api: ParachainHost, P::Api: ApiExt, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let to_worker = self.to_worker.clone(); diff --git a/availability-store/src/worker.rs b/availability-store/src/worker.rs index 5ae200e8cfbe6..9621797d0869e 100644 --- a/availability-store/src/worker.rs +++ b/availability-store/src/worker.rs @@ -21,8 +21,8 @@ use std::thread; use log::{error, info, trace, warn}; use sp_blockchain::{Result as ClientResult}; -use sp_runtime::traits::{Header as HeaderT, ProvideRuntimeApi, Block as BlockT}; -use sp_api::ApiExt; +use sp_runtime::traits::{Header as HeaderT, Block as BlockT, HasherFor}; +use sp_api::{ApiExt, ProvideRuntimeApi}; use client::{ BlockchainEvents, BlockBody, blockchain::ProvideCache, @@ -207,8 +207,10 @@ where fn fetch_candidates

(client: &P, extrinsics: Vec<::Extrinsic>, parent: &BlockId) -> ClientResult>> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let api = client.runtime_api(); @@ -228,9 +230,11 @@ where /// Creates a task to prune entries in availability store upon block finalization. async fn prune_unneeded_availability(client: Arc

, mut sender: S) where - P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + BlockchainEvents + BlockBody + Send + Sync + 'static, P::Api: ParachainHost + ApiExt, S: Sink + Clone + Send + Sync + Unpin, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let mut finality_notification_stream = client.finality_notification_stream(); @@ -624,16 +628,19 @@ impl Drop for AvailabilityBlockImport { } impl BlockImport for AvailabilityBlockImport where - I: BlockImport + Send + Sync, + I: BlockImport> + Send + Sync, I::Error: Into, - P: ProvideRuntimeApi + ProvideCache, + P: ProvideRuntimeApi + ProvideCache, P::Api: ParachainHost, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend { type Error = ConsensusError; + type Transaction = sp_api::TransactionFor; fn import_block( &mut self, - block: BlockImportParams, + block: BlockImportParams, new_cache: HashMap>, ) -> Result { trace!( @@ -745,9 +752,11 @@ impl AvailabilityBlockImport { to_worker: mpsc::UnboundedSender, ) -> Self where - P: ProvideRuntimeApi + BlockBody + BlockchainEvents + Send + Sync + 'static, + P: ProvideRuntimeApi + BlockBody + BlockchainEvents + Send + Sync + 'static, P::Api: ParachainHost, P::Api: ApiExt, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { let (signal, exit) = exit_future::signal(); diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 889a0cb08c45b..b13dc48a94baa 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -14,6 +14,13 @@ futures = { version = "0.3.1", features = ["compat"] } futures01 = { package = "futures", version = "0.1.29" } structopt = "=0.3.7" sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } service = { package = "polkadot-service", path = "../service", default-features = false } tokio = { version = "0.1.22", optional = true } diff --git a/cli/src/lib.rs b/cli/src/lib.rs index c8555ac8dc313..2878ead43d54d 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -31,10 +31,11 @@ use futures::{ use tokio::runtime::Runtime; use log::info; use structopt::StructOpt; +use sp_api::ConstructRuntimeApi; pub use service::{ - AbstractService, CustomConfiguration, ProvideRuntimeApi, CoreApi, ParachainHost, IsKusama, self, - WrappedExecutor + AbstractService, CustomConfiguration, ProvideRuntimeApi, CoreApi, ParachainHost, IsKusama, + WrappedExecutor, Block, self, RuntimeApiCollection, TFullClient }; pub use sc_cli::{VersionInfo, IntoExit, NoCustom, SharedParams}; @@ -101,6 +102,25 @@ pub fn run(exit: E, version: sc_cli::VersionInfo) -> error::Result< } } +#[cfg(feature = "cli")] +use sp_core::Blake2Hasher; + +#[cfg(feature = "cli")] +// We can't simply use `service::TLightClient` due to a +// Rust bug: https://github.com/rust-lang/rust/issues/43580 +type TLightClient = sc_client::Client< + sc_client::light::backend::Backend, Blake2Hasher>, + sc_client::light::call_executor::GenesisCallExecutor< + sc_client::light::backend::Backend, Blake2Hasher>, + sc_client::LocalCallExecutor< + sc_client::light::backend::Backend, Blake2Hasher>, + sc_executor::NativeExecutor + > + >, + Block, + Runtime +>; + /// Execute the given `cmd` with the given runtime. #[cfg(feature = "cli")] fn execute_cmd_with_runtime( @@ -110,14 +130,23 @@ fn execute_cmd_with_runtime( spec: Option, ) -> error::Result<()> where - R: service::ConstructRuntimeApi> - + service::ConstructRuntimeApi> + R: ConstructRuntimeApi> + Send + Sync + 'static, - >>::RuntimeApi: service::RuntimeApiCollection, - >>::RuntimeApi: service::RuntimeApiCollection, + >>::RuntimeApi: + RuntimeApiCollection, Block>>, + >>::RuntimeApi: + RuntimeApiCollection, Block>>, E: service::Codec + Send + Sync + 'static, D: service::NativeExecutionDispatch + 'static, X: IntoExit, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + <>>::RuntimeApi as sp_api::ApiExt>::StateBackend: + sp_api::StateBackend, + // Rust bug: https://github.com/rust-lang/rust/issues/43580 + R: ConstructRuntimeApi< + Block, + TLightClient + >, { let is_kusama = spec.as_ref().map_or(false, |s| s.is_kusama()); // Use preloaded spec diff --git a/collator/Cargo.toml b/collator/Cargo.toml index 010bc6917aa58..829a9a03f45f9 100644 --- a/collator/Cargo.toml +++ b/collator/Cargo.toml @@ -7,11 +7,13 @@ edition = "2018" [dependencies] futures = "0.3.1" -client = { package = "sc-client", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client-api = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } consensus_common = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } polkadot-primitives = { path = "../primitives" } polkadot-cli = { path = "../cli" } @@ -21,6 +23,7 @@ polkadot-service = { path = "../service" } log = "0.4.8" tokio = "0.1.22" futures-timer = "1.0" +codec = { package = "parity-scale-codec", version = "1.1.0" } [dev-dependencies] keyring = { package = "sp-keyring", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/collator/src/lib.rs b/collator/src/lib.rs index a4eac26ef757a..12e51573f55da 100644 --- a/collator/src/lib.rs +++ b/collator/src/lib.rs @@ -52,8 +52,8 @@ use std::pin::Pin; use futures::{future, Future, Stream, FutureExt, TryFutureExt, StreamExt, task::Spawn}; use log::warn; -use client::BlockchainEvents; -use primitives::{Pair, Blake2Hasher}; +use sc_client::BlockchainEvents; +use sp_core::{Pair, Blake2Hasher}; use polkadot_primitives::{ BlockId, Hash, Block, parachain::{ @@ -128,7 +128,7 @@ impl fmt::Display for Error { } /// The Polkadot client type. -pub type PolkadotClient = client::Client; +pub type PolkadotClient = sc_client::Client; /// Something that can build a `ParachainContext`. pub trait BuildParachainContext { @@ -136,15 +136,20 @@ pub trait BuildParachainContext { type ParachainContext: self::ParachainContext; /// Build the `ParachainContext`. - fn build( + fn build( self, client: Arc>, spawner: SP, network: Arc, ) -> Result where - B: client_api::backend::Backend + 'static, - E: client::CallExecutor + Clone + Send + Sync + 'static, + PolkadotClient: ProvideRuntimeApi, + as ProvideRuntimeApi>::Api: service::RuntimeApiCollection, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + < as ProvideRuntimeApi>::Api as sp_api::ApiExt>::StateBackend: + sp_api::StateBackend, + Extrinsic: codec::Codec + Send + Sync + 'static, + E: sc_client::CallExecutor + Clone + Send + Sync + 'static, SP: Spawn + Clone + Send + Sync + 'static; } @@ -236,7 +241,7 @@ struct ApiContext { } impl RelayChainContext for ApiContext where - P: ProvideRuntimeApi + Send + Sync, + P: ProvideRuntimeApi + Send + Sync, P::Api: ParachainHost, E: futures::Future + Clone + Send + Sync + 'static, SP: Spawn + Clone + Send + Sync @@ -266,7 +271,7 @@ impl RelayChainContext for ApiContext( +fn run_collator_node( service: S, exit: E, para_id: ParaId, @@ -275,19 +280,27 @@ fn run_collator_node( ) -> polkadot_cli::error::Result<()> where S: AbstractService, - client::Client: ProvideRuntimeApi, - as ProvideRuntimeApi>::Api: - ParachainHost, + sc_client::Client: ProvideRuntimeApi, + as ProvideRuntimeApi>::Api: + service::RuntimeApiCollection< + Extrinsic, + Error = sp_blockchain::Error, + StateBackend = sc_client_api::StateBackendFor + >, // Rust bug: https://github.com/rust-lang/rust/issues/24159 - S::Backend: service::Backend, + S::Backend: service::Backend, // Rust bug: https://github.com/rust-lang/rust/issues/24159 - S::CallExecutor: service::CallExecutor, + >::State: + sp_api::StateBackend>, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + S::CallExecutor: service::CallExecutor, // Rust bug: https://github.com/rust-lang/rust/issues/24159 S::SelectChain: service::SelectChain, E: futures::Future + Clone + Unpin + Send + Sync + 'static, P: BuildParachainContext, P::ParachainContext: Send + 'static, ::ProduceCandidate: Send, + Extrinsic: service::Codec + Send + Sync + 'static, { let runtime = tokio::runtime::Runtime::new().map_err(|e| format!("{:?}", e))?; let spawner = WrappedExecutor(service.spawn_task_handle()); diff --git a/network/Cargo.toml b/network/Cargo.toml index ade23fb8e0920..11197ea03d24a 100644 --- a/network/Cargo.toml +++ b/network/Cargo.toml @@ -22,8 +22,9 @@ log = "0.4.8" exit-future = "0.2.0" sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } wasm-timer = "0.2.4" [dev-dependencies] sp-keyring = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/network/src/gossip.rs b/network/src/gossip.rs index 9fbae53d83ea2..93154bb16b314 100644 --- a/network/src/gossip.rs +++ b/network/src/gossip.rs @@ -49,7 +49,7 @@ //! Peers who send information which was not allowed under a recent neighbor packet //! will be noted as non-beneficial to Substrate's peer-set management utility. -use sp_runtime::{generic::BlockId, traits::{ProvideRuntimeApi, BlakeTwo256, Hash as HashT}}; +use sp_runtime::{generic::BlockId, traits::{BlakeTwo256, Hash as HashT}}; use sp_blockchain::Error as ClientError; use sc_network::{config::Roles, Context, PeerId, ReputationChange}; use sc_network_gossip::{ @@ -63,6 +63,7 @@ use polkadot_primitives::parachain::{ }; use polkadot_erasure_coding::{self as erasure}; use codec::{Decode, Encode}; +use sp_api::ProvideRuntimeApi; use std::collections::HashMap; use std::sync::Arc; @@ -273,8 +274,8 @@ pub trait ChainContext: Send + Sync { impl ChainContext for (F, P) where F: Fn(&Hash) -> Option + Send + Sync, P: Send + Sync + std::ops::Deref, - P::Target: ProvideRuntimeApi, - ::Api: ParachainHost, + P::Target: ProvideRuntimeApi, + >::Api: ParachainHost, { fn is_known(&self, block_hash: &Hash) -> Option { (self.0)(block_hash) diff --git a/network/src/router.rs b/network/src/router.rs index 67c8ff0ae4839..80d9943e0fe70 100644 --- a/network/src/router.rs +++ b/network/src/router.rs @@ -23,7 +23,7 @@ //! the `TableRouter` trait from `polkadot-validation`, which is expected to call into a shared statement table //! and dispatch evaluation work as necessary when new statements come in. -use sp_runtime::traits::{ProvideRuntimeApi, BlakeTwo256, Hash as HashT}; +use sp_runtime::traits::{BlakeTwo256, Hash as HashT}; use polkadot_validation::{ SharedTable, TableRouter, SignedStatement, GenericStatement, ParachainWork, Validated }; @@ -32,6 +32,7 @@ use polkadot_primitives::parachain::{ OutgoingMessages, CandidateReceipt, ParachainHost, ValidatorIndex, Collation, PoVBlock, ErasureChunk, }; use crate::gossip::{RegisteredMessageValidator, GossipMessage, GossipStatement, ErasureChunkMessage}; +use sp_api::ProvideRuntimeApi; use futures::prelude::*; use futures::{task::SpawnExt, future::{ready, select}}; @@ -127,7 +128,7 @@ impl Clone for Router { } } -impl Router where +impl + Send + Sync + 'static, E, T> Router where P::Api: ParachainHost, T: Clone + Executor + Send + 'static, E: Future + Clone + Send + Unpin + 'static, @@ -225,7 +226,7 @@ impl Router where } } -impl TableRouter for Router where +impl + Send, E, T> TableRouter for Router where P::Api: ParachainHost, T: Clone + Executor + Send + 'static, E: Future + Clone + Send + 'static, diff --git a/network/src/tests/mod.rs b/network/src/tests/mod.rs index 9f4bf775014c6..05122202f55aa 100644 --- a/network/src/tests/mod.rs +++ b/network/src/tests/mod.rs @@ -29,8 +29,7 @@ use polkadot_primitives::parachain::{ use sp_core::crypto::UncheckedInto; use codec::Encode; use sc_network::{ - PeerId, Context, ReputationChange, config::Roles, message::generic::ConsensusMessage, - specialization::NetworkSpecialization, + PeerId, Context, ReputationChange, config::Roles, specialization::NetworkSpecialization, }; use futures::executor::block_on; @@ -57,10 +56,6 @@ impl Context for TestContext { } } - fn send_consensus(&mut self, _who: PeerId, _consensus: Vec) { - unimplemented!() - } - fn send_chain_specific(&mut self, who: PeerId, message: Vec) { self.messages.push((who, message)) } diff --git a/network/src/tests/validation.rs b/network/src/tests/validation.rs index 3b4af7b25456a..0762756fce384 100644 --- a/network/src/tests/validation.rs +++ b/network/src/tests/validation.rs @@ -34,8 +34,8 @@ use polkadot_primitives::parachain::{ }; use parking_lot::Mutex; use sp_blockchain::Result as ClientResult; -use sp_api::{Core, RuntimeVersion, StorageProof, ApiExt}; -use sp_runtime::traits::{ApiRef, {Block as BlockT}, ProvideRuntimeApi}; +use sp_api::{ApiRef, Core, RuntimeVersion, StorageProof, ApiErrorExt, ApiExt, ProvideRuntimeApi}; +use sp_runtime::traits::Block as BlockT; use std::collections::HashMap; use std::sync::Arc; @@ -161,7 +161,7 @@ struct RuntimeApi { data: Arc>, } -impl ProvideRuntimeApi for TestApi { +impl ProvideRuntimeApi for TestApi { type Api = RuntimeApi; fn runtime_api<'a>(&'a self) -> ApiRef<'a, Self::Api> { @@ -201,8 +201,12 @@ impl Core for RuntimeApi { } } -impl ApiExt for RuntimeApi { +impl ApiErrorExt for RuntimeApi { type Error = sp_blockchain::Error; +} + +impl ApiExt for RuntimeApi { + type StateBackend = sp_state_machine::InMemoryBackend>; fn map_api_result Result, R, E>( &self, @@ -220,6 +224,19 @@ impl ApiExt for RuntimeApi { fn extract_proof(&mut self) -> Option { None } + + fn into_storage_changes< + T: sp_api::ChangesTrieStorage, sp_api::NumberFor> + >( + &self, + _: &Self::StateBackend, + _: Option<&T>, + _: ::Hash, + ) -> std::result::Result, String> + where Self: Sized + { + unimplemented!("Not required for testing!") + } } impl ParachainHost for RuntimeApi { diff --git a/network/src/validation.rs b/network/src/validation.rs index 0af0e65e6ea66..214730656ae3c 100644 --- a/network/src/validation.rs +++ b/network/src/validation.rs @@ -19,7 +19,6 @@ //! This fulfills the `polkadot_validation::Network` trait, providing a hook to be called //! each time validation leaf work begins on a new chain head. -use sp_runtime::traits::ProvideRuntimeApi; use sc_network::PeerId; use polkadot_validation::{ Network as ParachainNetwork, SharedTable, Collators, Statement, GenericStatement, SignedStatement, @@ -29,6 +28,7 @@ use polkadot_primitives::parachain::{ Id as ParaId, Collation, OutgoingMessages, ParachainHost, CandidateReceipt, CollatorId, ValidatorId, PoVBlock, }; +use sp_api::ProvideRuntimeApi; use futures::prelude::*; use futures::task::SpawnExt; @@ -93,7 +93,7 @@ impl Clone for ValidationNetwork { } impl ValidationNetwork where - P: ProvideRuntimeApi + Send + Sync + 'static, + P: ProvideRuntimeApi + Send + Sync + 'static, P::Api: ParachainHost, E: Clone + Future + Send + Sync + 'static, T: Clone + Executor + Send + Sync + 'static, @@ -177,7 +177,7 @@ impl ValidationNetwork { /// A long-lived network which can create parachain statement routing processes on demand. impl ParachainNetwork for ValidationNetwork where - P: ProvideRuntimeApi + Send + Sync + 'static, + P: ProvideRuntimeApi + Send + Sync + 'static, P::Api: ParachainHost, E: Clone + Future + Send + Sync + Unpin + 'static, T: Clone + Executor + Send + Sync + 'static, @@ -235,7 +235,7 @@ impl ParachainNetwork for ValidationNetwork where pub struct NetworkDown; impl Collators for ValidationNetwork where - P: ProvideRuntimeApi + Send + Sync + 'static, + P: ProvideRuntimeApi + Send + Sync + 'static, P::Api: ParachainHost, { type Error = NetworkDown; @@ -572,7 +572,7 @@ impl Clone for LeafWorkDataFetcher { } } -impl LeafWorkDataFetcher where +impl + Send, E, T> LeafWorkDataFetcher where P::Api: ParachainHost, T: Clone + Executor + Send + 'static, E: Future + Clone + Send + 'static, diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 4274382e52097..b3988bf640016 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -9,6 +9,7 @@ client = { package = "sc-client", git = "https://github.com/paritytech/substrate jsonrpc-core = "14.0.3" polkadot-primitives = { path = "../primitives" } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } txpool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } frame-rpc-system = { package = "substrate-frame-rpc-system", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index a4db79bec3e9c..3b27b2543435c 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -21,7 +21,7 @@ use std::sync::Arc; use polkadot_primitives::{Block, AccountId, Nonce, Balance}; -use sp_runtime::traits::ProvideRuntimeApi; +use sp_api::ProvideRuntimeApi; use txpool_api::TransactionPool; /// A type representing all RPC extensions. @@ -29,7 +29,7 @@ pub type RpcExtension = jsonrpc_core::IoHandler; /// Instantiate all RPC extensions. pub fn create_full(client: Arc, pool: Arc

) -> RpcExtension where - C: ProvideRuntimeApi, + C: ProvideRuntimeApi, C: client::blockchain::HeaderBackend, C: Send + Sync + 'static, C::Api: frame_rpc_system::AccountNonceApi, @@ -58,7 +58,7 @@ pub fn create_light( pool: Arc

, ) -> RpcExtension where - C: ProvideRuntimeApi, + C: ProvideRuntimeApi, C: client::blockchain::HeaderBackend, C: Send + Sync + 'static, C::Api: frame_rpc_system::AccountNonceApi, diff --git a/runtime/common/src/claims.rs b/runtime/common/src/claims.rs index e69c74df1a703..a2bef829fa9df 100644 --- a/runtime/common/src/claims.rs +++ b/runtime/common/src/claims.rs @@ -317,6 +317,7 @@ mod tests { impl balances::Trait for Test { type Balance = u64; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); @@ -335,6 +336,7 @@ mod tests { type Currency = Balances; type Prefix = Prefix; } + type System = system::Module; type Balances = balances::Module; type Claims = Module; diff --git a/runtime/common/src/crowdfund.rs b/runtime/common/src/crowdfund.rs index ba599400e5f60..801fd7a844d46 100644 --- a/runtime/common/src/crowdfund.rs +++ b/runtime/common/src/crowdfund.rs @@ -555,6 +555,7 @@ mod tests { impl balances::Trait for Test { type Balance = u64; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); diff --git a/runtime/common/src/parachains.rs b/runtime/common/src/parachains.rs index 02f7a728cedfa..63d1fc4e9f0bb 100644 --- a/runtime/common/src/parachains.rs +++ b/runtime/common/src/parachains.rs @@ -1023,6 +1023,7 @@ mod tests { impl balances::Trait for Test { type Balance = Balance; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); @@ -1647,14 +1648,14 @@ mod tests { let duty_roster_0 = Parachains::calculate_duty_roster().0; check_roster(&duty_roster_0); - System::initialize(&1, &H256::from([1; 32]), &Default::default(), &Default::default()); + System::initialize(&1, &H256::from([1; 32]), &Default::default(), &Default::default(), Default::default()); RandomnessCollectiveFlip::on_initialize(1); let duty_roster_1 = Parachains::calculate_duty_roster().0; check_roster(&duty_roster_1); assert_ne!(duty_roster_0, duty_roster_1); - System::initialize(&2, &H256::from([2; 32]), &Default::default(), &Default::default()); + System::initialize(&2, &H256::from([2; 32]), &Default::default(), &Default::default(), Default::default()); RandomnessCollectiveFlip::on_initialize(2); let duty_roster_2 = Parachains::calculate_duty_roster().0; check_roster(&duty_roster_2); diff --git a/runtime/common/src/registrar.rs b/runtime/common/src/registrar.rs index 431a3b3d201e1..510b5424b51e5 100644 --- a/runtime/common/src/registrar.rs +++ b/runtime/common/src/registrar.rs @@ -647,6 +647,7 @@ mod tests { impl balances::Trait for Test { type Balance = Balance; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); diff --git a/runtime/common/src/slots.rs b/runtime/common/src/slots.rs index 06250198189b6..566162180377d 100644 --- a/runtime/common/src/slots.rs +++ b/runtime/common/src/slots.rs @@ -874,6 +874,7 @@ mod tests { impl balances::Trait for Test { type Balance = u64; type OnFreeBalanceZero = (); + type OnReapAccount = System; type OnNewAccount = (); type Event = (); type DustRemoval = (); diff --git a/runtime/kusama/src/lib.rs b/runtime/kusama/src/lib.rs index c1837d52662fc..ab4b112a9e266 100644 --- a/runtime/kusama/src/lib.rs +++ b/runtime/kusama/src/lib.rs @@ -174,6 +174,7 @@ pub type DealWithFees = SplitTwoWays< impl balances::Trait for Runtime { type Balance = Balance; type OnFreeBalanceZero = Staking; + type OnReapAccount = System; type OnNewAccount = Indices; type Event = Event; type DustRemoval = (); @@ -680,8 +681,8 @@ sp_api::impl_runtime_apis! { } impl offchain_primitives::OffchainWorkerApi for Runtime { - fn offchain_worker(number: sp_runtime::traits::NumberFor) { - Executive::offchain_worker(number) + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) } } diff --git a/runtime/polkadot/build.rs b/runtime/polkadot/build.rs index 3cc30ddb06b02..2f597b9915291 100644 --- a/runtime/polkadot/build.rs +++ b/runtime/polkadot/build.rs @@ -1,7 +1,7 @@ // Copyright 2019-2020 Parity Technologies (UK) Ltd. // This file is part of Polkadot. -// Substrate is free software: you can redistribute it and/or modify +// Polkadot 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. diff --git a/runtime/polkadot/src/lib.rs b/runtime/polkadot/src/lib.rs index 12b347c7d1709..7b918e15839d8 100644 --- a/runtime/polkadot/src/lib.rs +++ b/runtime/polkadot/src/lib.rs @@ -178,6 +178,7 @@ pub type DealWithFees = SplitTwoWays< impl balances::Trait for Runtime { type Balance = Balance; type OnFreeBalanceZero = Staking; + type OnReapAccount = System; type OnNewAccount = Indices; type Event = Event; type DustRemoval = (); @@ -650,8 +651,8 @@ sp_api::impl_runtime_apis! { } impl offchain_primitives::OffchainWorkerApi for Runtime { - fn offchain_worker(number: sp_runtime::traits::NumberFor) { - Executive::offchain_worker(number) + fn offchain_worker(header: &::Header) { + Executive::offchain_worker(header) } } diff --git a/service/Cargo.toml b/service/Cargo.toml index afa230693ebbe..fe241f093811e 100644 --- a/service/Cargo.toml +++ b/service/Cargo.toml @@ -24,10 +24,10 @@ sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-ma sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client = { package = "sc-client", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client-api = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client-db = { package = "sc-client-db", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-db = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } @@ -35,7 +35,7 @@ consensus_common = { package = "sp-consensus", git = "https://github.com/parityt grandpa = { package = "sc-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } grandpa_primitives = { package = "sp-finality-grandpa", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } inherents = { package = "sp-inherents", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -service = { package = "sc-service", git = "https://github.com/paritytech/substrate", branch = "polkadot-master", default-features = false } +service = { package = "sc-service", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } telemetry = { package = "sc-telemetry", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/service/src/chain_spec.rs b/service/src/chain_spec.rs index a504ab970be1a..6301fa31fd45d 100644 --- a/service/src/chain_spec.rs +++ b/service/src/chain_spec.rs @@ -16,7 +16,7 @@ //! Polkadot chain configurations. -use primitives::{Pair, Public, crypto::UncheckedInto, sr25519}; +use sp_core::{Pair, Public, crypto::UncheckedInto, sr25519}; use polkadot_primitives::{AccountId, AccountPublic, parachain::ValidatorId}; use polkadot_runtime as polkadot; use polkadot_runtime::constants::currency::DOTS; @@ -42,9 +42,9 @@ const DEFAULT_PROTOCOL_ID: &str = "dot"; #[serde(rename_all = "camelCase")] pub struct Extensions { /// Block numbers with known hashes. - pub fork_blocks: client::ForkBlocks, + pub fork_blocks: sc_client::ForkBlocks, /// Known bad block hashes. - pub bad_blocks: client::BadBlocks, + pub bad_blocks: sc_client::BadBlocks, } /// The `ChainSpec`. diff --git a/service/src/lib.rs b/service/src/lib.rs index 3167ea235569c..e18a916007a14 100644 --- a/service/src/lib.rs +++ b/service/src/lib.rs @@ -19,7 +19,7 @@ pub mod chain_spec; use futures::{FutureExt, TryFutureExt, task::{Spawn, SpawnError, FutureObj}}; -use client::LongestChain; +use sc_client::LongestChain; use std::sync::Arc; use std::time::Duration; use polkadot_primitives::{parachain, Hash, BlockId, AccountId, Nonce, Balance}; @@ -35,15 +35,16 @@ pub use service::{ }; pub use service::config::{DatabaseConfig, full_version_from_strs}; pub use sc_executor::NativeExecutionDispatch; -pub use client::{ExecutionStrategy, CallExecutor, Client}; -pub use client_api::backend::Backend; -pub use sp_api::{Core as CoreApi, ConstructRuntimeApi}; +pub use sc_client::{ExecutionStrategy, CallExecutor, Client}; +pub use sc_client_api::backend::Backend; +pub use sp_api::{Core as CoreApi, ConstructRuntimeApi, ProvideRuntimeApi, StateBackend}; +pub use sp_runtime::traits::HasherFor; pub use consensus_common::SelectChain; -pub use polkadot_network::{PolkadotProtocol}; +pub use polkadot_network::PolkadotProtocol; pub use polkadot_primitives::parachain::{CollatorId, ParachainHost}; pub use polkadot_primitives::Block; -pub use primitives::Blake2Hasher; -pub use sp_runtime::traits::{Block as BlockT, ProvideRuntimeApi, self as runtime_traits}; +pub use sp_core::Blake2Hasher; +pub use sp_runtime::traits::{Block as BlockT, self as runtime_traits}; pub use sc_network::specialization::NetworkSpecialization; pub use chain_spec::ChainSpec; #[cfg(not(target_os = "unknown"))] @@ -127,6 +128,7 @@ pub trait RuntimeApiCollection + authority_discovery_primitives::AuthorityDiscoveryApi where Extrinsic: RuntimeExtrinsic, + >::StateBackend: sp_api::StateBackend, {} impl RuntimeApiCollection for Api @@ -144,6 +146,7 @@ where + sp_session::SessionKeys + authority_discovery_primitives::AuthorityDiscoveryApi, Extrinsic: RuntimeExtrinsic, + >::StateBackend: sp_api::StateBackend, {} pub trait RuntimeExtrinsic: codec::Codec + Send + Sync + 'static @@ -176,7 +179,7 @@ macro_rules! new_full_start { Block, $runtime, $executor >($config)? .with_select_chain(|_, backend| { - Ok(client::LongestChain::new(backend.clone())) + Ok(sc_client::LongestChain::new(backend.clone())) })? .with_transaction_pool(|config, client, _fetcher| { let pool_api = sc_transaction_pool::FullChainApi::new(client.clone()); @@ -228,9 +231,11 @@ pub fn new_chain_ops(config: Configuration) -> Result, ServiceError> where Runtime: ConstructRuntimeApi> + Send + Sync + 'static, - Runtime::RuntimeApi: RuntimeApiCollection, + Runtime::RuntimeApi: + RuntimeApiCollection, Block>>, Dispatch: NativeExecutionDispatch + 'static, Extrinsic: RuntimeExtrinsic, + >::StateBackend: sp_api::StateBackend, { Ok(new_full_start!(config, Runtime, Dispatch).0) } @@ -275,9 +280,12 @@ pub fn new_full(config: Configuration) >, ServiceError> where Runtime: ConstructRuntimeApi> + Send + Sync + 'static, - Runtime::RuntimeApi: RuntimeApiCollection, + Runtime::RuntimeApi: + RuntimeApiCollection, Block>>, Dispatch: NativeExecutionDispatch + 'static, Extrinsic: RuntimeExtrinsic, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + >::StateBackend: sp_api::StateBackend, { use sc_network::Event; use futures::stream::StreamExt; @@ -304,6 +312,8 @@ pub fn new_full(config: Configuration) let (builder, mut import_setup, inherent_data_providers) = new_full_start!(config, Runtime, Dispatch); + let backend = builder.backend().clone(); + let service = builder .with_network_protocol(|config| Ok(PolkadotProtocol::new(config.custom.collating_for.clone())))? .with_finality_proof_provider(|client, backend| @@ -400,6 +410,7 @@ pub fn new_full(config: Configuration) availability_store.clone(), slot_duration, max_block_data_size, + backend, ); let client = service.client(); @@ -526,6 +537,24 @@ pub fn kusama_new_light(config: Configuration) new_light(config) } +// We can't use service::TLightClient due to +// Rust bug: https://github.com/rust-lang/rust/issues/43580 +type TLocalLightClient = Client< + sc_client::light::backend::Backend, sp_core::Blake2Hasher>, + sc_client::light::call_executor::GenesisCallExecutor< + sc_client::light::backend::Backend, sp_core::Blake2Hasher>, + sc_client::LocalCallExecutor< + sc_client::light::backend::Backend< + sc_client_db::light::LightStorage, + sp_core::Blake2Hasher + >, + sc_executor::NativeExecutor + > + >, + Block, + Runtime +>; + /// Builds a new service for a light client. pub fn new_light(config: Configuration) -> Result(config: Configuration) CallExecutor = TLightCallExecutor, >, ServiceError> where - Runtime: ConstructRuntimeApi> + Send + Sync + 'static, - Runtime::RuntimeApi: RuntimeApiCollection, + Runtime: Send + Sync + 'static, + Runtime::RuntimeApi: RuntimeApiCollection< + Extrinsic, + StateBackend = sc_client_api::StateBackendFor, Block> + >, Dispatch: NativeExecutionDispatch + 'static, Extrinsic: RuntimeExtrinsic, + Runtime: sp_api::ConstructRuntimeApi< + Block, + TLocalLightClient, + >, { let inherent_data_providers = InherentDataProviders::new(); diff --git a/test-parachains/adder/collator/src/main.rs b/test-parachains/adder/collator/src/main.rs index 00f11851a8e5f..0d9cf69379d20 100644 --- a/test-parachains/adder/collator/src/main.rs +++ b/test-parachains/adder/collator/src/main.rs @@ -21,10 +21,10 @@ use std::collections::HashMap; use std::sync::Arc; use adder::{HeadData as AdderHead, BlockData as AdderBody}; -use sp_core::{Pair, Blake2Hasher}; +use sp_core::Pair; use codec::{Encode, Decode}; use primitives::{ - Hash, Block, + Hash, parachain::{ HeadData, BlockData, Id as ParaId, Message, OutgoingMessages, Status as ParachainStatus, }, @@ -33,7 +33,7 @@ use collator::{ InvalidHead, ParachainContext, Network, BuildParachainContext, load_spec, Configuration, }; use parking_lot::Mutex; -use futures::{future::{Ready, ok, err}, task::Spawn}; +use futures::future::{Ready, ok, err}; const GENESIS: AdderHead = AdderHead { number: 0, @@ -108,17 +108,12 @@ impl ParachainContext for AdderContext { impl BuildParachainContext for AdderContext { type ParachainContext = Self; - fn build( + fn build( self, _: Arc>, _: SP, network: Arc, - ) -> Result - where - B: client_api::backend::Backend + 'static, - E: client::CallExecutor + Clone + Send + Sync + 'static, - SP: Spawn + Clone + Send + Sync + 'static, - { + ) -> Result { Ok(Self { _network: Some(network), ..self }) } } diff --git a/validation/Cargo.toml b/validation/Cargo.toml index cd634e6b2c2aa..6de59cc5e5ac1 100644 --- a/validation/Cargo.toml +++ b/validation/Cargo.toml @@ -24,9 +24,9 @@ inherents = { package = "sp-inherents", git = "https://github.com/paritytech/sub consensus = { package = "sp-consensus", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } primitives = { package = "sp-core", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } txpool-api = { package = "sp-transaction-pool", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } -client = { package = "sc-client-api", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } +sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } block-builder = { package = "sc-block-builder", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } trie = { package = "sp-trie", git = "https://github.com/paritytech/substrate", branch = "polkadot-master" } diff --git a/validation/src/attestation_service.rs b/validation/src/attestation_service.rs index 8a80144bbffe5..a5087f1cd4081 100644 --- a/validation/src/attestation_service.rs +++ b/validation/src/attestation_service.rs @@ -25,7 +25,7 @@ use std::{thread, time::Duration, sync::Arc}; -use client::{BlockchainEvents, BlockBody}; +use sc_client_api::{BlockchainEvents, BlockBody}; use sp_blockchain::HeaderBackend; use block_builder::BlockBuilderApi; use consensus::SelectChain; @@ -33,10 +33,10 @@ use futures::prelude::*; use futures::{future::{ready, select}, task::{Spawn, SpawnExt}}; use polkadot_primitives::Block; use polkadot_primitives::parachain::ParachainHost; -use runtime_primitives::traits::{ProvideRuntimeApi}; use babe_primitives::BabeApi; use keystore::KeyStorePtr; -use sp_api::ApiExt; +use sp_api::{ApiExt, ProvideRuntimeApi}; +use runtime_primitives::traits::HasherFor; use tokio::{runtime::Runtime as LocalRuntime}; use log::{warn, error}; @@ -64,7 +64,7 @@ pub(crate) fn start( C: Collators + Send + Sync + Unpin + 'static, C::Collation: Send + Unpin + 'static, P: BlockchainEvents + BlockBody, - P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + BabeApi + @@ -73,6 +73,8 @@ pub(crate) fn start( N::TableRouter: Send + 'static, N::BuildTableRouter: Send + Unpin + 'static, SC: SelectChain + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { const TIMER_INTERVAL: Duration = Duration::from_secs(30); diff --git a/validation/src/collation.rs b/validation/src/collation.rs index 08a1eb6fcf4e1..6adc87db71ec9 100644 --- a/validation/src/collation.rs +++ b/validation/src/collation.rs @@ -30,7 +30,7 @@ use polkadot_primitives::{ }, }; use polkadot_erasure_coding as erasure; -use runtime_primitives::traits::ProvideRuntimeApi; +use sp_api::ProvideRuntimeApi; use parachain::{ wasm_executor::{self, ExecutionMode}, TargetedMessage, UpwardMessage, }; @@ -72,7 +72,7 @@ pub async fn collation_fetch( where P::Api: ParachainHost, C: Collators + Unpin, - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, ::Collation: Unpin, { let relay_parent = BlockId::hash(relay_parent_hash); @@ -418,7 +418,7 @@ fn do_validation

( queue_roots: &Vec<(ParaId, Hash)>, upward_messages: &Vec, ) -> Result<(OutgoingMessages, Balance), Error> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, { use parachain::{IncomingMessage, ValidationParams}; @@ -544,7 +544,7 @@ pub fn validate_receipt

( receipt: &CandidateReceipt, max_block_data_size: Option, ) -> Result<(OutgoingMessages, Vec), Error> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, { let (messages, _fees) = do_validation( @@ -591,7 +591,7 @@ pub fn validate_collation

( collation: &Collation, max_block_data_size: Option, ) -> Result<(OutgoingMessages, Balance), Error> where - P: ProvideRuntimeApi, + P: ProvideRuntimeApi, P::Api: ParachainHost, { let para_id = collation.info.parachain_index; diff --git a/validation/src/lib.rs b/validation/src/lib.rs index 706cb29c11ad1..87d9e64de8ec0 100644 --- a/validation/src/lib.rs +++ b/validation/src/lib.rs @@ -37,11 +37,11 @@ use std::{ }; use babe_primitives::BabeApi; -use client::{BlockchainEvents, BlockBody}; +use sc_client_api::{Backend, BlockchainEvents, BlockBody}; use sp_blockchain::HeaderBackend; use block_builder::BlockBuilderApi; use codec::Encode; -use consensus::SelectChain; +use consensus::{SelectChain, Proposal, RecordProof}; use availability_store::Store as AvailabilityStore; use parking_lot::Mutex; use polkadot_primitives::{Hash, Block, BlockId, BlockNumber, Header}; @@ -52,7 +52,7 @@ use polkadot_primitives::parachain::{ ValidatorPair, ValidatorId, NEW_HEADS_IDENTIFIER, }; use primitives::Pair; -use runtime_primitives::traits::{ProvideRuntimeApi, DigestFor}; +use runtime_primitives::traits::{DigestFor, HasherFor}; use futures_timer::Delay; use txpool_api::{TransactionPool, InPoolTransaction}; @@ -65,7 +65,7 @@ use inherents::InherentData; use sp_timestamp::TimestampInherentData; use log::{info, debug, warn, trace, error}; use keystore::KeyStorePtr; -use sp_api::ApiExt; +use sp_api::{ApiExt, ProvideRuntimeApi}; type TaskExecutor = Arc; @@ -118,7 +118,7 @@ pub trait TableRouter: Clone { collation: Collation, receipt: CandidateReceipt, outgoing: OutgoingMessages, - chunks: (ValidatorIndex, &[ErasureChunk]) + chunks: (ValidatorIndex, &[ErasureChunk]), ); /// Fetch validation proof for a specific candidate. @@ -175,7 +175,7 @@ pub fn check_statement( statement: &Statement, signature: &ValidatorSignature, signer: ValidatorId, - parent_hash: &Hash + parent_hash: &Hash, ) -> bool { use runtime_primitives::traits::AppVerify; @@ -277,11 +277,13 @@ struct ParachainValidation { impl ParachainValidation where C: Collators + Send + Unpin + 'static, N: Network, - P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + ApiExt, C::Collation: Send + Unpin + 'static, N::TableRouter: Send + 'static, N::BuildTableRouter: Unpin + Send + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { /// Get an attestation table for given parent hash. /// @@ -473,7 +475,7 @@ struct AttestationTracker { } /// Polkadot proposer factory. -pub struct ProposerFactory { +pub struct ProposerFactory { parachain_validation: Arc>, transaction_pool: Arc, keystore: KeyStorePtr, @@ -481,13 +483,14 @@ pub struct ProposerFactory { babe_slot_duration: u64, _select_chain: SC, max_block_data_size: Option, + backend: Arc, } -impl ProposerFactory where +impl ProposerFactory where C: Collators + Send + Sync + Unpin + 'static, C::Collation: Send + Unpin + 'static, P: BlockchainEvents + BlockBody, - P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + BabeApi + @@ -497,6 +500,8 @@ impl ProposerFactory where N::BuildTableRouter: Send + Unpin + 'static, TxPool: TransactionPool, SC: SelectChain + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend>, { /// Create a new proposer factory. pub fn new( @@ -510,6 +515,7 @@ impl ProposerFactory where availability_store: AvailabilityStore, babe_slot_duration: u64, max_block_data_size: Option, + backend: Arc, ) -> Self { let parachain_validation = Arc::new(ParachainValidation { client: client.clone(), @@ -537,15 +543,16 @@ impl ProposerFactory where babe_slot_duration, _select_chain, max_block_data_size, + backend, } } } -impl consensus::Environment for ProposerFactory where +impl consensus::Environment for ProposerFactory where C: Collators + Send + Unpin + 'static, N: Network, TxPool: TransactionPool + 'static, - P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, + P: ProvideRuntimeApi + HeaderBackend + BlockBody + Send + Sync + 'static, P::Api: ParachainHost + BlockBuilderApi + BabeApi + @@ -554,8 +561,11 @@ impl consensus::Environment for ProposerFactory, + B: Backend> + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend> + Send, { - type Proposer = Proposer; + type Proposer = Proposer; type Error = Error; fn init( @@ -579,6 +589,7 @@ impl consensus::Environment for ProposerFactory where - C: ProvideRuntimeApi + HeaderBackend, -{ - client: Arc, +pub struct Proposer { + client: Arc, parent_hash: Hash, parent_id: BlockId, parent_number: BlockNumber, tracker: Arc, transaction_pool: Arc, slot_duration: u64, + backend: Arc, } -impl consensus::Proposer for Proposer where +impl consensus::Proposer for Proposer where TxPool: TransactionPool + 'static, - C: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, - C::Api: ParachainHost + BlockBuilderApi + ApiExt, + Client: ProvideRuntimeApi + HeaderBackend + Send + Sync + 'static, + Client::Api: ParachainHost + BlockBuilderApi + ApiExt, + Backend: sc_client_api::Backend> + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend> + Send, { type Error = Error; - type Create = Pin> + Send>>; + type Transaction = sp_api::TransactionFor; + type Proposal = Pin< + Box< + dyn Future>, Error>> + + Send + > + >; fn propose(&mut self, inherent_data: InherentData, inherent_digests: DigestFor, max_duration: Duration, - ) -> Self::Create { + record_proof: RecordProof, + ) -> Self::Proposal { const SLOT_DURATION_DENOMINATOR: u64 = 3; // wait up to 1/3 of the slot for candidates. let initial_included = self.tracker.table.includable_count(); @@ -633,6 +653,7 @@ impl consensus::Proposer for Proposer where let client = self.client.clone(); let transaction_pool = self.transaction_pool.clone(); let table = self.tracker.table.clone(); + let backend = self.backend.clone(); async move { let enough_candidates = dynamic_inclusion.acceptable_in( @@ -663,6 +684,8 @@ impl consensus::Proposer for Proposer where inherent_digests, // leave some time for the proposal finalisation deadline, + record_proof, + backend, }; // set up delay until next allowed timestamp. @@ -690,26 +713,33 @@ fn current_timestamp() -> u64 { } /// Inner data of the create proposal. -struct CreateProposalData { +struct CreateProposalData { parent_hash: Hash, parent_number: BlockNumber, parent_id: BlockId, - client: Arc, + client: Arc, transaction_pool: Arc, table: Arc, believed_minimum_timestamp: u64, inherent_data: Option, inherent_digests: DigestFor, deadline: Instant, + record_proof: RecordProof, + backend: Arc, } -impl CreateProposalData where +impl CreateProposalData where TxPool: TransactionPool, - C: ProvideRuntimeApi + HeaderBackend + Send + Sync, - C::Api: ParachainHost + BlockBuilderApi + ApiExt, + Client: ProvideRuntimeApi + HeaderBackend + Send + Sync, + Client::Api: ParachainHost + BlockBuilderApi + ApiExt, + Backend: sc_client_api::Backend> + 'static, + // Rust bug: https://github.com/rust-lang/rust/issues/24159 + sp_api::StateBackendFor: sp_api::StateBackend> + Send, { - fn propose_with(mut self, candidates: Vec) -> Result { - use block_builder::BlockBuilder; + fn propose_with( + mut self, + candidates: Vec, + ) -> Result>, Error> { use runtime_primitives::traits::{Hash as HashT, BlakeTwo256}; const MAX_TRANSACTIONS: usize = 40; @@ -722,12 +752,13 @@ impl CreateProposalData where let runtime_api = self.client.runtime_api(); - let mut block_builder = BlockBuilder::new( + let mut block_builder = block_builder::BlockBuilder::new( &*self.client, self.client.expect_block_hash_from_id(&self.parent_id)?, self.client.expect_block_number_from_id(&self.parent_id)?, - false, + self.record_proof, self.inherent_digests.clone(), + &*self.backend, )?; { @@ -771,7 +802,7 @@ impl CreateProposalData where self.transaction_pool.remove_invalid(&unqueue_invalid); } - let new_block = block_builder.bake()?; + let (new_block, storage_changes, proof) = block_builder.build()?.into_inner(); info!("Prepared block for proposing at {} [hash: {:?}; parent_hash: {}; extrinsics: [{}]]", new_block.header.number, @@ -793,7 +824,7 @@ impl CreateProposalData where &active_parachains[..], ).is_ok()); - Ok(new_block) + Ok(Proposal { block: new_block, storage_changes, proof }) } } diff --git a/validation/src/shared_table/mod.rs b/validation/src/shared_table/mod.rs index de7bd51316854..ad5eca61b3dae 100644 --- a/validation/src/shared_table/mod.rs +++ b/validation/src/shared_table/mod.rs @@ -37,7 +37,7 @@ use bitvec::bitvec; use super::{GroupInfo, TableRouter}; use self::includable::IncludabilitySender; use primitives::Pair; -use runtime_primitives::traits::ProvideRuntimeApi; +use sp_api::ProvideRuntimeApi; mod includable; @@ -270,7 +270,7 @@ pub struct ParachainWork { impl ParachainWork { /// Prime the parachain work with an API reference for extracting /// chain information. - pub fn prime(self, api: Arc

) + pub fn prime>(self, api: Arc

) -> PrimedParachainWork< Fetch, impl Send + FnMut(&BlockId, &PoVBlock, &CandidateReceipt) -> Result<(OutgoingMessages, ErasureChunk), ()> + Unpin,