From f2c6eee7f1e4296113d6ce5dbf23463a8d973a02 Mon Sep 17 00:00:00 2001 From: Gavin Wood Date: Thu, 4 Jun 2020 20:30:38 +0200 Subject: [PATCH] Generalised proxies in Polkadot (#1190) * Introduce generalised proxies to polkadot * Introduce proxy to westend * Add proxy to Kusama. * Fix --- polkadot/Cargo.lock | 323 +++++++++--------- polkadot/Cargo.toml | 2 +- polkadot/availability-store/Cargo.toml | 2 +- polkadot/cli/Cargo.toml | 2 +- polkadot/collator/Cargo.toml | 2 +- polkadot/erasure-coding/Cargo.toml | 2 +- polkadot/network/Cargo.toml | 2 +- polkadot/network/test/Cargo.toml | 2 +- polkadot/parachain/Cargo.toml | 2 +- .../test-parachains/adder/Cargo.toml | 2 +- .../parachain/test-parachains/halt/Cargo.toml | 2 +- polkadot/primitives/Cargo.toml | 2 +- polkadot/rpc/Cargo.toml | 2 +- polkadot/runtime/common/Cargo.toml | 2 +- polkadot/runtime/kusama/Cargo.toml | 4 +- polkadot/runtime/kusama/src/constants.rs | 4 + polkadot/runtime/kusama/src/lib.rs | 53 ++- polkadot/runtime/polkadot/Cargo.toml | 4 +- polkadot/runtime/polkadot/src/constants.rs | 4 + polkadot/runtime/polkadot/src/lib.rs | 60 +++- polkadot/runtime/test-runtime/Cargo.toml | 2 +- polkadot/runtime/westend/Cargo.toml | 4 +- polkadot/runtime/westend/src/constants.rs | 4 + polkadot/runtime/westend/src/lib.rs | 48 ++- polkadot/service/Cargo.toml | 2 +- polkadot/statement-table/Cargo.toml | 2 +- polkadot/validation/Cargo.toml | 2 +- 27 files changed, 357 insertions(+), 185 deletions(-) diff --git a/polkadot/Cargo.lock b/polkadot/Cargo.lock index f246530285..510da0eb72 100644 --- a/polkadot/Cargo.lock +++ b/polkadot/Cargo.lock @@ -1224,7 +1224,7 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", ] @@ -1232,7 +1232,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -1249,7 +1249,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "parity-scale-codec", @@ -1267,7 +1267,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -1282,7 +1282,7 @@ dependencies = [ [[package]] name = "frame-metadata" version = "11.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "serde", @@ -1293,7 +1293,7 @@ dependencies = [ [[package]] name = "frame-support" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "bitmask", "frame-metadata", @@ -1318,7 +1318,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support-procedural-tools", "proc-macro2 1.0.17", @@ -1329,7 +1329,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -1341,7 +1341,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "proc-macro2 1.0.17", "quote 1.0.6", @@ -1351,7 +1351,7 @@ dependencies = [ [[package]] name = "frame-system" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -1367,7 +1367,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -1381,7 +1381,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-api", @@ -2274,7 +2274,7 @@ dependencies = [ [[package]] name = "kusama-runtime" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "frame-benchmarking", @@ -2302,6 +2302,7 @@ dependencies = [ "pallet-nicks", "pallet-offences", "pallet-offences-benchmarking", + "pallet-proxy", "pallet-randomness-collective-flip", "pallet-recovery", "pallet-scheduler", @@ -3325,7 +3326,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3341,7 +3342,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3356,7 +3357,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3378,7 +3379,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3392,7 +3393,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3408,7 +3409,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3423,7 +3424,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3438,7 +3439,7 @@ dependencies = [ [[package]] name = "pallet-finality-tracker" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3454,7 +3455,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3474,7 +3475,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "enumflags2", "frame-benchmarking", @@ -3490,7 +3491,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3510,7 +3511,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3526,7 +3527,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3540,7 +3541,7 @@ dependencies = [ [[package]] name = "pallet-nicks" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3554,7 +3555,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3569,7 +3570,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3587,10 +3588,24 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-proxy" +version = "2.0.0-rc2" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "serde", + "sp-core", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-randomness-collective-flip" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3603,7 +3618,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "enumflags2", "frame-support", @@ -3618,7 +3633,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3633,7 +3648,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3651,7 +3666,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3665,7 +3680,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3679,7 +3694,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3701,7 +3716,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.17", @@ -3712,7 +3727,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3726,7 +3741,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3744,7 +3759,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "frame-system", @@ -3758,7 +3773,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "jsonrpc-core", "jsonrpc-core-client", @@ -3776,7 +3791,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-support", "parity-scale-codec", @@ -3789,7 +3804,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3804,7 +3819,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-benchmarking", "frame-support", @@ -3820,7 +3835,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "enumflags2", "frame-benchmarking", @@ -4129,7 +4144,7 @@ checksum = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" [[package]] name = "polkadot" -version = "0.8.2" +version = "0.8.3" dependencies = [ "assert_cmd", "futures 0.3.5", @@ -4142,7 +4157,7 @@ dependencies = [ [[package]] name = "polkadot-availability-store" -version = "0.8.2" +version = "0.8.3" dependencies = [ "derive_more 0.99.7", "exit-future", @@ -4168,7 +4183,7 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "0.8.2" +version = "0.8.3" dependencies = [ "frame-benchmarking-cli", "futures 0.3.5", @@ -4192,7 +4207,7 @@ dependencies = [ [[package]] name = "polkadot-collator" -version = "0.8.2" +version = "0.8.3" dependencies = [ "futures 0.3.5", "futures-timer 2.0.2", @@ -4219,7 +4234,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "0.8.2" +version = "0.8.3" dependencies = [ "derive_more 0.15.0", "parity-scale-codec", @@ -4231,7 +4246,7 @@ dependencies = [ [[package]] name = "polkadot-network" -version = "0.8.2" +version = "0.8.3" dependencies = [ "arrayvec 0.4.12", "bytes 0.5.4", @@ -4259,7 +4274,7 @@ dependencies = [ [[package]] name = "polkadot-network-test" -version = "0.8.2" +version = "0.8.3" dependencies = [ "futures 0.3.5", "log 0.4.8", @@ -4280,7 +4295,7 @@ dependencies = [ [[package]] name = "polkadot-parachain" -version = "0.8.2" +version = "0.8.3" dependencies = [ "derive_more 0.99.7", "log 0.4.8", @@ -4299,7 +4314,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "frame-system", @@ -4321,7 +4336,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" -version = "0.8.2" +version = "0.8.3" dependencies = [ "jsonrpc-core", "pallet-transaction-payment-rpc", @@ -4346,7 +4361,7 @@ dependencies = [ [[package]] name = "polkadot-runtime" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "frame-benchmarking", @@ -4374,6 +4389,7 @@ dependencies = [ "pallet-nicks", "pallet-offences", "pallet-offences-benchmarking", + "pallet-proxy", "pallet-randomness-collective-flip", "pallet-scheduler", "pallet-session", @@ -4418,7 +4434,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "frame-benchmarking", @@ -4503,7 +4519,7 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "0.8.2" +version = "0.8.3" dependencies = [ "env_logger", "frame-benchmarking", @@ -4562,7 +4578,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "0.8.2" +version = "0.8.3" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -4571,7 +4587,7 @@ dependencies = [ [[package]] name = "polkadot-test-runtime" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "frame-executive", @@ -4648,7 +4664,7 @@ dependencies = [ [[package]] name = "polkadot-validation" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "derive_more 0.14.1", @@ -5416,7 +5432,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "bytes 0.5.4", "derive_more 0.99.7", @@ -5443,7 +5459,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5467,7 +5483,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -5483,7 +5499,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "impl-trait-for-tuples", "sc-chain-spec-derive", @@ -5499,7 +5515,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.17", @@ -5510,7 +5526,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "ansi_term 0.12.1", "atty", @@ -5551,7 +5567,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "fnv", @@ -5587,7 +5603,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "blake2-rfc", "hash-db", @@ -5616,7 +5632,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "sc-client-api", "sp-blockchain", @@ -5627,7 +5643,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "fork-tree", @@ -5669,7 +5685,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "futures 0.3.5", @@ -5692,7 +5708,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "fork-tree", "parity-scale-codec", @@ -5705,7 +5721,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5727,7 +5743,7 @@ dependencies = [ [[package]] name = "sc-consensus-uncles" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "log 0.4.8", "sc-client-api", @@ -5741,7 +5757,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "lazy_static", @@ -5769,7 +5785,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "log 0.4.8", @@ -5786,7 +5802,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -5801,7 +5817,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "cranelift-codegen", "cranelift-wasm", @@ -5822,7 +5838,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "assert_matches", "derive_more 0.99.7", @@ -5859,7 +5875,7 @@ dependencies = [ [[package]] name = "sc-finality-grandpa-rpc" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "finality-grandpa", @@ -5876,7 +5892,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "ansi_term 0.12.1", "futures 0.3.5", @@ -5893,7 +5909,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "hex", @@ -5908,7 +5924,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "bitflags", "bs58", @@ -5960,7 +5976,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "futures-timer 3.0.2", @@ -5975,7 +5991,7 @@ dependencies = [ [[package]] name = "sc-network-test" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "env_logger", "futures 0.3.5", @@ -6002,7 +6018,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "bytes 0.5.4", "fnv", @@ -6029,7 +6045,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "libp2p", @@ -6042,7 +6058,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "log 0.4.8", "substrate-prometheus-endpoint", @@ -6051,7 +6067,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "hash-db", @@ -6083,7 +6099,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "futures 0.3.5", @@ -6107,7 +6123,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "jsonrpc-core", "jsonrpc-http-server", @@ -6122,7 +6138,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "exit-future", @@ -6180,7 +6196,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "log 0.4.8", "parity-scale-codec", @@ -6194,7 +6210,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "bytes 0.5.4", "futures 0.3.5", @@ -6216,7 +6232,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "erased-serde", "log 0.4.8", @@ -6231,7 +6247,7 @@ dependencies = [ [[package]] name = "sc-transaction-graph" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "futures 0.3.5", @@ -6251,7 +6267,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "futures 0.3.5", @@ -6638,7 +6654,7 @@ dependencies = [ [[package]] name = "sp-allocator" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "log 0.4.8", @@ -6650,7 +6666,7 @@ dependencies = [ [[package]] name = "sp-api" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "hash-db", "parity-scale-codec", @@ -6665,7 +6681,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "blake2-rfc", "proc-macro-crate", @@ -6677,7 +6693,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "serde", @@ -6689,7 +6705,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "integer-sqrt", "num-traits 0.2.11", @@ -6702,7 +6718,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-api", @@ -6714,7 +6730,7 @@ dependencies = [ [[package]] name = "sp-authorship" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6725,7 +6741,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-api", @@ -6737,7 +6753,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "log 0.4.8", @@ -6753,7 +6769,7 @@ dependencies = [ [[package]] name = "sp-chain-spec" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "serde", "serde_json", @@ -6762,7 +6778,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "futures 0.3.5", @@ -6785,7 +6801,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-api", @@ -6799,7 +6815,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "merlin", "parity-scale-codec", @@ -6816,7 +6832,7 @@ dependencies = [ [[package]] name = "sp-consensus-vrf" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "schnorrkel", @@ -6828,7 +6844,7 @@ dependencies = [ [[package]] name = "sp-core" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "base58", "blake2-rfc", @@ -6870,7 +6886,7 @@ dependencies = [ [[package]] name = "sp-database" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "kvdb", "parking_lot 0.10.2", @@ -6879,7 +6895,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "proc-macro2 1.0.17", "quote 1.0.6", @@ -6889,7 +6905,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "environmental", "parity-scale-codec", @@ -6900,7 +6916,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "finality-grandpa", "log 0.4.8", @@ -6916,7 +6932,7 @@ dependencies = [ [[package]] name = "sp-finality-tracker" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-inherents", @@ -6926,7 +6942,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "parity-scale-codec", @@ -6938,7 +6954,7 @@ dependencies = [ [[package]] name = "sp-io" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "hash-db", @@ -6958,7 +6974,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "lazy_static", "sp-core", @@ -6969,7 +6985,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "sp-api", "sp-core", @@ -6979,7 +6995,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "backtrace", "log 0.4.8", @@ -6988,7 +7004,7 @@ dependencies = [ [[package]] name = "sp-phragmen" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "serde", @@ -7000,7 +7016,7 @@ dependencies = [ [[package]] name = "sp-phragmen-compact" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "proc-macro-crate", "proc-macro2 1.0.17", @@ -7011,7 +7027,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "serde", "sp-core", @@ -7020,7 +7036,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "hash256-std-hasher", "impl-trait-for-tuples", @@ -7041,7 +7057,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "primitive-types", @@ -7056,7 +7072,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "Inflector", "proc-macro-crate", @@ -7068,7 +7084,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "serde", "serde_json", @@ -7077,7 +7093,7 @@ dependencies = [ [[package]] name = "sp-session" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-api", @@ -7090,7 +7106,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "parity-scale-codec", "sp-runtime", @@ -7100,7 +7116,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "hash-db", "log 0.4.8", @@ -7119,12 +7135,12 @@ dependencies = [ [[package]] name = "sp-std" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" [[package]] name = "sp-storage" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "impl-serde 0.2.3", "ref-cast", @@ -7136,7 +7152,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7150,7 +7166,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "tracing", ] @@ -7158,7 +7174,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "derive_more 0.99.7", "futures 0.3.5", @@ -7173,7 +7189,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "hash-db", "memory-db", @@ -7187,7 +7203,7 @@ dependencies = [ [[package]] name = "sp-utils" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "futures-core", @@ -7198,7 +7214,7 @@ dependencies = [ [[package]] name = "sp-version" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "impl-serde 0.2.3", "parity-scale-codec", @@ -7210,7 +7226,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7350,7 +7366,7 @@ dependencies = [ [[package]] name = "substrate-browser-utils" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "chrono", "clear_on_drop", @@ -7377,7 +7393,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "platforms", ] @@ -7385,7 +7401,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "frame-system-rpc-runtime-api", "futures 0.3.5", @@ -7406,7 +7422,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.8.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "async-std", "derive_more 0.99.7", @@ -7420,7 +7436,7 @@ dependencies = [ [[package]] name = "substrate-test-client" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "hash-db", @@ -7441,7 +7457,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "cfg-if", "frame-executive", @@ -7481,7 +7497,7 @@ dependencies = [ [[package]] name = "substrate-test-runtime-client" version = "2.0.0-rc2" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" dependencies = [ "futures 0.3.5", "parity-scale-codec", @@ -7501,7 +7517,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder-runner" version = "1.0.6" -source = "git+https://github.com/paritytech/substrate#342caad3074076a4fde0472719f6a473df839e42" +source = "git+https://github.com/paritytech/substrate#799f5c148f2c17d982a0fc395eff61d1baf47c34" [[package]] name = "substrate-wasm-builder-runner" @@ -7727,7 +7743,7 @@ dependencies = [ [[package]] name = "test-parachain-adder" -version = "0.8.2" +version = "0.8.3" dependencies = [ "dlmalloc", "parity-scale-codec", @@ -7766,7 +7782,7 @@ dependencies = [ [[package]] name = "test-parachain-halt" -version = "0.8.2" +version = "0.8.3" dependencies = [ "substrate-wasm-builder-runner 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -8645,7 +8661,7 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "0.8.2" +version = "0.8.3" dependencies = [ "bitvec", "frame-benchmarking", @@ -8673,6 +8689,7 @@ dependencies = [ "pallet-nicks", "pallet-offences", "pallet-offences-benchmarking", + "pallet-proxy", "pallet-randomness-collective-flip", "pallet-recovery", "pallet-scheduler", diff --git a/polkadot/Cargo.toml b/polkadot/Cargo.toml index 9bc85018cc..a3e3e009d1 100644 --- a/polkadot/Cargo.toml +++ b/polkadot/Cargo.toml @@ -4,7 +4,7 @@ path = "src/main.rs" [package] name = "polkadot" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/availability-store/Cargo.toml b/polkadot/availability-store/Cargo.toml index 8d838a38e9..71af1a1c0d 100644 --- a/polkadot/availability-store/Cargo.toml +++ b/polkadot/availability-store/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "polkadot-availability-store" description = "Persistent database for parachain data" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/cli/Cargo.toml b/polkadot/cli/Cargo.toml index 8b59524406..7b0eca6ca0 100644 --- a/polkadot/cli/Cargo.toml +++ b/polkadot/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-cli" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] description = "Polkadot Relay-chain Client Node" edition = "2018" diff --git a/polkadot/collator/Cargo.toml b/polkadot/collator/Cargo.toml index f446bde120..2e121ddfd3 100644 --- a/polkadot/collator/Cargo.toml +++ b/polkadot/collator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-collator" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] description = "Collator node implementation" edition = "2018" diff --git a/polkadot/erasure-coding/Cargo.toml b/polkadot/erasure-coding/Cargo.toml index f50b3fdf08..956d3448e7 100644 --- a/polkadot/erasure-coding/Cargo.toml +++ b/polkadot/erasure-coding/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-erasure-coding" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/network/Cargo.toml b/polkadot/network/Cargo.toml index 35456f3365..717d0b1b5e 100644 --- a/polkadot/network/Cargo.toml +++ b/polkadot/network/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-network" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] description = "Polkadot-specific networking protocol" edition = "2018" diff --git a/polkadot/network/test/Cargo.toml b/polkadot/network/test/Cargo.toml index b222eee462..d49023c1a3 100644 --- a/polkadot/network/test/Cargo.toml +++ b/polkadot/network/test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-network-test" -version = "0.8.2" +version = "0.8.3" license = "GPL-3.0" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/parachain/Cargo.toml b/polkadot/parachain/Cargo.toml index 39ff0589d7..0924b994e5 100644 --- a/polkadot/parachain/Cargo.toml +++ b/polkadot/parachain/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-parachain" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] description = "Types and utilities for creating and working with parachains" edition = "2018" diff --git a/polkadot/parachain/test-parachains/adder/Cargo.toml b/polkadot/parachain/test-parachains/adder/Cargo.toml index a75f369631..33d3a10fed 100644 --- a/polkadot/parachain/test-parachains/adder/Cargo.toml +++ b/polkadot/parachain/test-parachains/adder/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-parachain-adder" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] description = "Test parachain which adds to a number as its state transition" edition = "2018" diff --git a/polkadot/parachain/test-parachains/halt/Cargo.toml b/polkadot/parachain/test-parachains/halt/Cargo.toml index caca58d22a..87d074bb33 100644 --- a/polkadot/parachain/test-parachains/halt/Cargo.toml +++ b/polkadot/parachain/test-parachains/halt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-parachain-halt" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] description = "Test parachain which executes forever" edition = "2018" diff --git a/polkadot/primitives/Cargo.toml b/polkadot/primitives/Cargo.toml index 2bfc34babf..144e1a31ec 100644 --- a/polkadot/primitives/Cargo.toml +++ b/polkadot/primitives/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-primitives" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/rpc/Cargo.toml b/polkadot/rpc/Cargo.toml index 3cb1e55d78..e8b3d68ae8 100644 --- a/polkadot/rpc/Cargo.toml +++ b/polkadot/rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-rpc" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/runtime/common/Cargo.toml b/polkadot/runtime/common/Cargo.toml index 61a18064ff..3730077bb5 100644 --- a/polkadot/runtime/common/Cargo.toml +++ b/polkadot/runtime/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-runtime-common" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/runtime/kusama/Cargo.toml b/polkadot/runtime/kusama/Cargo.toml index 899ff208be..362001e3dc 100644 --- a/polkadot/runtime/kusama/Cargo.toml +++ b/polkadot/runtime/kusama/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "kusama-runtime" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" @@ -48,6 +48,7 @@ indices = { package = "pallet-indices", git = "https://github.com/paritytech/sub membership = { package = "pallet-membership", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } nicks = { package = "pallet-nicks", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } offences = { package = "pallet-offences", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } +proxy = { package = "pallet-proxy", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } randomness-collective-flip = { package = "pallet-randomness-collective-flip", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } recovery = { package = "pallet-recovery", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } scheduler = { package = "pallet-scheduler", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } @@ -119,6 +120,7 @@ std = [ "membership/std", "nicks/std", "offences/std", + "proxy/std", "recovery/std", "sp-runtime/std", "sp-staking/std", diff --git a/polkadot/runtime/kusama/src/constants.rs b/polkadot/runtime/kusama/src/constants.rs index b0b692f9d2..e760362cc0 100644 --- a/polkadot/runtime/kusama/src/constants.rs +++ b/polkadot/runtime/kusama/src/constants.rs @@ -22,6 +22,10 @@ pub mod currency { pub const DOLLARS: Balance = DOTS; pub const CENTS: Balance = DOLLARS / 100; pub const MILLICENTS: Balance = CENTS / 1_000; + + pub const fn deposit(items: u32, bytes: u32) -> Balance { + items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS + } } /// Time and blocks. diff --git a/polkadot/runtime/kusama/src/lib.rs b/polkadot/runtime/kusama/src/lib.rs index 2b3804047b..4099496f47 100644 --- a/polkadot/runtime/kusama/src/lib.rs +++ b/polkadot/runtime/kusama/src/lib.rs @@ -52,8 +52,8 @@ use version::NativeVersion; use sp_core::OpaqueMetadata; use sp_staking::SessionIndex; use frame_support::{ - parameter_types, construct_runtime, debug, - traits::{KeyOwnerProofSystem, SplitTwoWays, Randomness, LockIdentifier, Filter}, + parameter_types, construct_runtime, debug, RuntimeDebug, + traits::{KeyOwnerProofSystem, SplitTwoWays, Randomness, LockIdentifier, Filter, InstanceFilter}, weights::Weight, }; use im_online::sr25519::AuthorityId as ImOnlineId; @@ -762,6 +762,52 @@ impl vesting::Trait for Runtime { type MinVestedTransfer = MinVestedTransfer; } +parameter_types! { + // One storage item; key size 32, value size 8; . + pub const ProxyDepositBase: Balance = deposit(1, 8); + // Additional storage item size of 33 bytes. + pub const ProxyDepositFactor: Balance = deposit(0, 33); + pub const MaxProxies: u16 = 32; +} + +/// The type used to represent the kinds of proxying allowed. +#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug)] +pub enum ProxyType { + Any, + NonTransfer, + Governance, + Staking, +} +impl Default for ProxyType { fn default() -> Self { Self::Any } } +impl InstanceFilter for ProxyType { + fn filter(&self, c: &Call) -> bool { + match self { + ProxyType::Any => true, + ProxyType::Governance => matches!(c, + Call::Democracy(..) | Call::Council(..) | Call::TechnicalCommittee(..) + | Call::ElectionsPhragmen(..) | Call::Treasury(..) + ), + ProxyType::NonTransfer => !matches!(c, + Call::Balances(..) | Call::Utility(..) + | Call::Vesting(vesting::Call::vested_transfer(..)) + | Call::Indices(indices::Call::transfer(..)) + ), + ProxyType::Staking => matches!(c, Call::Staking(..)), + } + } +} + +impl proxy::Trait for Runtime { + type Event = Event; + type Call = Call; + type Currency = Balances; + type IsCallable = IsCallable; + type ProxyType = ProxyType; + type ProxyDepositBase = ProxyDepositBase; + type ProxyDepositFactor = ProxyDepositFactor; + type MaxProxies = MaxProxies; +} + construct_runtime! { pub enum Runtime where Block = Block, @@ -826,6 +872,9 @@ construct_runtime! { // System scheduler. Scheduler: scheduler::{Module, Call, Storage, Event}, + + // Proxy module. Late addition. + Proxy: proxy::{Module, Call, Storage, Event} } } diff --git a/polkadot/runtime/polkadot/Cargo.toml b/polkadot/runtime/polkadot/Cargo.toml index e1668a5624..ebea63e901 100644 --- a/polkadot/runtime/polkadot/Cargo.toml +++ b/polkadot/runtime/polkadot/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-runtime" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" @@ -47,6 +47,7 @@ indices = { package = "pallet-indices", git = "https://github.com/paritytech/sub membership = { package = "pallet-membership", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } nicks = { package = "pallet-nicks", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } offences = { package = "pallet-offences", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } +proxy = { package = "pallet-proxy", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } randomness-collective-flip = { package = "pallet-randomness-collective-flip", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } scheduler = { package = "pallet-scheduler", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } session = { package = "pallet-session", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } @@ -116,6 +117,7 @@ std = [ "membership/std", "nicks/std", "offences/std", + "proxy/std", "sp-runtime/std", "sp-staking/std", "scheduler/std", diff --git a/polkadot/runtime/polkadot/src/constants.rs b/polkadot/runtime/polkadot/src/constants.rs index 9b6ea04265..8aede2f547 100644 --- a/polkadot/runtime/polkadot/src/constants.rs +++ b/polkadot/runtime/polkadot/src/constants.rs @@ -22,6 +22,10 @@ pub mod currency { pub const DOLLARS: Balance = DOTS / 100; // 10_000_000_000 pub const CENTS: Balance = DOLLARS / 100; // 100_000_000 pub const MILLICENTS: Balance = CENTS / 1_000; // 100_000 + + pub const fn deposit(items: u32, bytes: u32) -> Balance { + items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS + } } /// Time and blocks. diff --git a/polkadot/runtime/polkadot/src/lib.rs b/polkadot/runtime/polkadot/src/lib.rs index bc2c9f3c21..4effc8b6fb 100644 --- a/polkadot/runtime/polkadot/src/lib.rs +++ b/polkadot/runtime/polkadot/src/lib.rs @@ -55,7 +55,7 @@ use version::NativeVersion; use sp_core::OpaqueMetadata; use sp_staking::SessionIndex; use frame_support::{ - parameter_types, construct_runtime, debug, + parameter_types, construct_runtime, debug, RuntimeDebug, traits::{KeyOwnerProofSystem, SplitTwoWays, Randomness, LockIdentifier, Filter}, weights::Weight, }; @@ -77,6 +77,7 @@ pub use parachains::Call as ParachainsCall; /// Constant values used within the runtime. pub mod constants; use constants::{time::*, currency::*, fee::*}; +use frame_support::traits::InstanceFilter; // Make the WASM binary available. #[cfg(feature = "std")] @@ -88,7 +89,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("polkadot"), impl_name: create_runtime_str!("parity-polkadot"), authoring_version: 0, - spec_version: 2, + spec_version: 3, impl_version: 0, apis: RUNTIME_API_VERSIONS, transaction_version: 0, @@ -126,7 +127,7 @@ impl Filter for IsCallable { Call::Session(_) | Call::FinalityTracker(_) | Call::Grandpa(_) | Call::ImOnline(_) | Call::AuthorityDiscovery(_) | Call::Utility(_) | Call::Claims(_) | Call::Vesting(_) | Call::Sudo(_) | - Call::Identity(_) => + Call::Identity(_) | Call::Proxy(_) => true, } } @@ -334,10 +335,6 @@ impl staking::Trait for Runtime { type MinSolutionScoreBump = MinSolutionScoreBump; } -const fn deposit(items: u32, bytes: u32) -> Balance { - items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS -} - parameter_types! { // Minimum 4 CENTS/byte pub const BasicDeposit: Balance = deposit(1, 258); @@ -746,6 +743,52 @@ impl sudo::Trait for Runtime { type Call = Call; } +parameter_types! { + // One storage item; key size 32, value size 8; . + pub const ProxyDepositBase: Balance = deposit(1, 8); + // Additional storage item size of 33 bytes. + pub const ProxyDepositFactor: Balance = deposit(0, 33); + pub const MaxProxies: u16 = 32; +} + +/// The type used to represent the kinds of proxying allowed. +#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug)] +pub enum ProxyType { + Any, + NonTransfer, + Governance, + Staking, +} +impl Default for ProxyType { fn default() -> Self { Self::Any } } +impl InstanceFilter for ProxyType { + fn filter(&self, c: &Call) -> bool { + match self { + ProxyType::Any => true, + ProxyType::NonTransfer => !matches!(c, + Call::Balances(..) | Call::Utility(..) + | Call::Vesting(vesting::Call::vested_transfer(..)) + | Call::Indices(indices::Call::transfer(..)) + ), + ProxyType::Governance => matches!(c, + Call::Democracy(..) | Call::Council(..) | Call::TechnicalCommittee(..) + | Call::ElectionsPhragmen(..) | Call::Treasury(..) + ), + ProxyType::Staking => matches!(c, Call::Staking(..)), + } + } +} + +impl proxy::Trait for Runtime { + type Event = Event; + type Call = Call; + type Currency = Balances; + type IsCallable = IsCallable; + type ProxyType = ProxyType; + type ProxyDepositBase = ProxyDepositBase; + type ProxyDepositFactor = ProxyDepositFactor; + type MaxProxies = MaxProxies; +} + construct_runtime! { pub enum Runtime where Block = Block, @@ -805,6 +848,9 @@ construct_runtime! { // Identity. Late addition. Identity: identity::{Module, Call, Storage, Event}, + + // Proxy module. Late addition. + Proxy: proxy::{Module, Call, Storage, Event} } } diff --git a/polkadot/runtime/test-runtime/Cargo.toml b/polkadot/runtime/test-runtime/Cargo.toml index 2432dc6781..c0cd0b6f7d 100644 --- a/polkadot/runtime/test-runtime/Cargo.toml +++ b/polkadot/runtime/test-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-test-runtime" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" diff --git a/polkadot/runtime/westend/Cargo.toml b/polkadot/runtime/westend/Cargo.toml index 38dbbfffbe..3f0406eb32 100644 --- a/polkadot/runtime/westend/Cargo.toml +++ b/polkadot/runtime/westend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "westend-runtime" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" build = "build.rs" @@ -48,6 +48,7 @@ indices = { package = "pallet-indices", git = "https://github.com/paritytech/sub membership = { package = "pallet-membership", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } nicks = { package = "pallet-nicks", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } offences = { package = "pallet-offences", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } +proxy = { package = "pallet-proxy", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } randomness-collective-flip = { package = "pallet-randomness-collective-flip", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } recovery = { package = "pallet-recovery", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } scheduler = { package = "pallet-scheduler", git = "https://github.com/paritytech/substrate", branch = "master", default-features = false } @@ -122,6 +123,7 @@ std = [ "membership/std", "nicks/std", "offences/std", + "proxy/std", "recovery/std", "sp-runtime/std", "sp-staking/std", diff --git a/polkadot/runtime/westend/src/constants.rs b/polkadot/runtime/westend/src/constants.rs index 101fef913f..b51a202225 100644 --- a/polkadot/runtime/westend/src/constants.rs +++ b/polkadot/runtime/westend/src/constants.rs @@ -22,6 +22,10 @@ pub mod currency { pub const DOLLARS: Balance = DOTS; pub const CENTS: Balance = DOLLARS / 100; pub const MILLICENTS: Balance = CENTS / 1_000; + + pub const fn deposit(items: u32, bytes: u32) -> Balance { + items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS + } } /// Time and blocks. diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs index 562b312c8f..9000c782d6 100644 --- a/polkadot/runtime/westend/src/lib.rs +++ b/polkadot/runtime/westend/src/lib.rs @@ -51,8 +51,8 @@ use version::NativeVersion; use sp_core::OpaqueMetadata; use sp_staking::SessionIndex; use frame_support::{ - parameter_types, construct_runtime, debug, - traits::{KeyOwnerProofSystem, Randomness, Filter}, + parameter_types, construct_runtime, debug, RuntimeDebug, + traits::{KeyOwnerProofSystem, Randomness, Filter, InstanceFilter}, weights::Weight, }; use im_online::sr25519::AuthorityId as ImOnlineId; @@ -571,6 +571,45 @@ impl sudo::Trait for Runtime { type Call = Call; } +parameter_types! { + // One storage item; key size 32, value size 8; . + pub const ProxyDepositBase: Balance = deposit(1, 8); + // Additional storage item size of 33 bytes. + pub const ProxyDepositFactor: Balance = deposit(0, 33); + pub const MaxProxies: u16 = 32; +} + +/// The type used to represent the kinds of proxying allowed. +#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Encode, Decode, RuntimeDebug)] +pub enum ProxyType { + Any, + NonTransfer, + Staking, +} +impl Default for ProxyType { fn default() -> Self { Self::Any } } +impl InstanceFilter for ProxyType { + fn filter(&self, c: &Call) -> bool { + match self { + ProxyType::Any => true, + ProxyType::NonTransfer => !matches!(c, + Call::Balances(..) | Call::Utility(..) | Call::Indices(indices::Call::transfer(..)) + ), + ProxyType::Staking => matches!(c, Call::Staking(..)), + } + } +} + +impl proxy::Trait for Runtime { + type Event = Event; + type Call = Call; + type Currency = Balances; + type IsCallable = IsCallable; + type ProxyType = ProxyType; + type ProxyDepositBase = ProxyDepositBase; + type ProxyDepositFactor = ProxyDepositFactor; + type MaxProxies = MaxProxies; +} + construct_runtime! { pub enum Runtime where Block = Block, @@ -622,7 +661,10 @@ construct_runtime! { Scheduler: scheduler::{Module, Call, Storage, Event}, // Sudo. - Sudo: sudo::{Module, Call, Storage, Event, Config} + Sudo: sudo::{Module, Call, Storage, Event, Config}, + + // Proxy module. Late addition. + Proxy: proxy::{Module, Call, Storage, Event} } } diff --git a/polkadot/service/Cargo.toml b/polkadot/service/Cargo.toml index 3032dd7fca..5d7cb2a54b 100644 --- a/polkadot/service/Cargo.toml +++ b/polkadot/service/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-service" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/statement-table/Cargo.toml b/polkadot/statement-table/Cargo.toml index bd5978f618..bf2f8cedb5 100644 --- a/polkadot/statement-table/Cargo.toml +++ b/polkadot/statement-table/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-statement-table" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018" diff --git a/polkadot/validation/Cargo.toml b/polkadot/validation/Cargo.toml index 8d91e68a11..0930012376 100644 --- a/polkadot/validation/Cargo.toml +++ b/polkadot/validation/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "polkadot-validation" -version = "0.8.2" +version = "0.8.3" authors = ["Parity Technologies "] edition = "2018"