difftreelog
build upgrade polkadot to v0.9.16
in: master
39 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -14,20 +14,11 @@
[[package]]
name = "addr2line"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd"
-dependencies = [
- "gimli 0.25.0",
-]
-
-[[package]]
-name = "addr2line"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
dependencies = [
- "gimli 0.26.1",
+ "gimli",
]
[[package]]
@@ -401,7 +392,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6"
dependencies = [
- "addr2line 0.17.0",
+ "addr2line",
"cc",
"cfg-if 1.0.0",
"libc",
@@ -440,7 +431,7 @@
[[package]]
name = "beefy-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"beefy-primitives",
"fnv",
@@ -448,6 +439,7 @@
"log",
"parity-scale-codec",
"parking_lot 0.11.2",
+ "sc-chain-spec",
"sc-client-api",
"sc-keystore",
"sc-network",
@@ -468,10 +460,11 @@
[[package]]
name = "beefy-gadget-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"beefy-gadget",
"beefy-primitives",
+ "derive_more",
"futures 0.3.19",
"jsonrpc-core",
"jsonrpc-core-client",
@@ -479,21 +472,24 @@
"jsonrpc-pubsub",
"log",
"parity-scale-codec",
+ "parking_lot 0.11.2",
"sc-rpc",
+ "sc-utils",
"serde",
"sp-core",
"sp-runtime",
+ "thiserror",
]
[[package]]
name = "beefy-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
[[package]]
name = "beefy-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -637,6 +633,15 @@
]
[[package]]
+name = "block-buffer"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95"
+dependencies = [
+ "generic-array 0.14.5",
+]
+
+[[package]]
name = "block-padding"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -667,9 +672,9 @@
[[package]]
name = "bounded-vec"
-version = "0.4.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afdd1dffefe5fc66262a524b91087c43b16e478b2e3dc49eb11b0e2fd6b6ec90"
+checksum = "b47cca82fca99417fe405f09d93bb8fff90bdd03d13c631f18096ee123b4281c"
dependencies = [
"thiserror",
]
@@ -677,7 +682,7 @@
[[package]]
name = "bp-header-chain"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"finality-grandpa",
"frame-support",
@@ -693,7 +698,7 @@
[[package]]
name = "bp-message-dispatch"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-runtime",
"frame-support",
@@ -705,7 +710,7 @@
[[package]]
name = "bp-messages"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"bp-runtime",
@@ -721,7 +726,7 @@
[[package]]
name = "bp-polkadot-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-messages",
"bp-runtime",
@@ -734,27 +739,12 @@
"sp-runtime",
"sp-std",
"sp-version",
-]
-
-[[package]]
-name = "bp-rialto"
-version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
-dependencies = [
- "bp-messages",
- "bp-runtime",
- "frame-support",
- "frame-system",
- "sp-api",
- "sp-core",
- "sp-runtime",
- "sp-std",
]
[[package]]
name = "bp-rococo"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -771,7 +761,7 @@
[[package]]
name = "bp-runtime"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-support",
"hash-db",
@@ -789,7 +779,7 @@
[[package]]
name = "bp-test-utils"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-header-chain",
"ed25519-dalek",
@@ -804,7 +794,7 @@
[[package]]
name = "bp-wococo"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -819,7 +809,7 @@
[[package]]
name = "bridge-runtime-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-message-dispatch",
"bp-messages",
@@ -1150,24 +1140,24 @@
[[package]]
name = "cranelift-bforest"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc0cb7df82c8cf8f2e6a8dd394a0932a71369c160cc9b027dca414fced242513"
+checksum = "9516ba6b2ba47b4cbf63b713f75b432fafa0a0e0464ec8381ec76e6efe931ab3"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-codegen"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe4463c15fa42eee909e61e5eac4866b7c6d22d0d8c621e57a0c5380753bfa8c"
+checksum = "489e5d0081f7edff6be12d71282a8bf387b5df64d5592454b75d662397f2d642"
dependencies = [
"cranelift-bforest",
"cranelift-codegen-meta",
"cranelift-codegen-shared",
"cranelift-entity",
- "gimli 0.25.0",
+ "gimli",
"log",
"regalloc",
"smallvec",
@@ -1176,34 +1166,33 @@
[[package]]
name = "cranelift-codegen-meta"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793f6a94a053a55404ea16e1700202a88101672b8cd6b4df63e13cde950852bf"
+checksum = "d36ee1140371bb0f69100e734b30400157a4adf7b86148dee8b0a438763ead48"
dependencies = [
"cranelift-codegen-shared",
- "cranelift-entity",
]
[[package]]
name = "cranelift-codegen-shared"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44aa1846df275bce5eb30379d65964c7afc63c05a117076e62a119c25fe174be"
+checksum = "981da52d8f746af1feb96290c83977ff8d41071a7499e991d8abae0d4869f564"
[[package]]
name = "cranelift-entity"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3a45d8d6318bf8fc518154d9298eab2a8154ec068a8885ff113f6db8d69bb3a"
+checksum = "a2906740053dd3bcf95ce53df0fd9b5649c68ae4bd9adada92b406f059eae461"
dependencies = [
"serde",
]
[[package]]
name = "cranelift-frontend"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e07339bd461766deb7605169de039e01954768ff730fa1254e149001884a8525"
+checksum = "b7cb156de1097f567d46bf57a0cd720a72c3e15e1a2bd8b1041ba2fc894471b7"
dependencies = [
"cranelift-codegen",
"log",
@@ -1213,9 +1202,9 @@
[[package]]
name = "cranelift-native"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03e2fca76ff57e0532936a71e3fc267eae6a19a86656716479c66e7f912e3d7b"
+checksum = "166028ca0343a6ee7bddac0e70084e142b23f99c701bd6f6ea9123afac1a7a46"
dependencies = [
"cranelift-codegen",
"libc",
@@ -1224,9 +1213,9 @@
[[package]]
name = "cranelift-wasm"
-version = "0.78.0"
+version = "0.80.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f46fec547a1f8a32c54ea61c28be4f4ad234ad95342b718a9a9adcaadb0c778"
+checksum = "5012a1cde0c8b3898770b711490d803018ae9bec2d60674ba0e5b2058a874f80"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1298,6 +1287,15 @@
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
+name = "crypto-common"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0"
+dependencies = [
+ "generic-array 0.14.5",
+]
+
+[[package]]
name = "crypto-mac"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1369,7 +1367,7 @@
[[package]]
name = "cumulus-client-cli"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"sc-cli",
"sc-service",
@@ -1379,11 +1377,12 @@
[[package]]
name = "cumulus-client-collator"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-client-consensus-common",
"cumulus-client-network",
"cumulus-primitives-core",
+ "cumulus-relay-chain-interface",
"futures 0.3.19",
"parity-scale-codec",
"parking_lot 0.10.2",
@@ -1402,14 +1401,13 @@
[[package]]
name = "cumulus-client-consensus-aura"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"async-trait",
"cumulus-client-consensus-common",
"cumulus-primitives-core",
"futures 0.3.19",
"parity-scale-codec",
- "polkadot-client",
"sc-client-api",
"sc-consensus",
"sc-consensus-aura",
@@ -1432,9 +1430,10 @@
[[package]]
name = "cumulus-client-consensus-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"async-trait",
+ "cumulus-relay-chain-interface",
"dyn-clone",
"futures 0.3.19",
"parity-scale-codec",
@@ -1452,14 +1451,15 @@
[[package]]
name = "cumulus-client-network"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
+ "async-trait",
+ "cumulus-relay-chain-interface",
"derive_more",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"parity-scale-codec",
- "parking_lot 0.10.2",
- "polkadot-client",
+ "parking_lot 0.11.2",
"polkadot-node-primitives",
"polkadot-parachain",
"polkadot-primitives",
@@ -1469,17 +1469,19 @@
"sp-consensus",
"sp-core",
"sp-runtime",
+ "sp-state-machine",
"tracing",
]
[[package]]
name = "cumulus-client-pov-recovery"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
+ "cumulus-relay-chain-interface",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"parity-scale-codec",
"polkadot-node-primitives",
"polkadot-node-subsystem",
@@ -1498,17 +1500,17 @@
[[package]]
name = "cumulus-client-service"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-client-collator",
"cumulus-client-consensus-common",
"cumulus-client-pov-recovery",
"cumulus-primitives-core",
+ "cumulus-relay-chain-interface",
"parity-scale-codec",
"parking_lot 0.10.2",
"polkadot-overseer",
"polkadot-primitives",
- "polkadot-service",
"sc-chain-spec",
"sc-client-api",
"sc-consensus",
@@ -1527,7 +1529,7 @@
[[package]]
name = "cumulus-pallet-aura-ext"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"frame-executive",
"frame-support",
@@ -1545,7 +1547,7 @@
[[package]]
name = "cumulus-pallet-dmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1563,7 +1565,7 @@
[[package]]
name = "cumulus-pallet-parachain-system"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-pallet-parachain-system-proc-macro",
"cumulus-primitives-core",
@@ -1571,6 +1573,7 @@
"environmental",
"frame-support",
"frame-system",
+ "impl-trait-for-tuples",
"log",
"pallet-balances",
"parity-scale-codec",
@@ -1592,7 +1595,7 @@
[[package]]
name = "cumulus-pallet-parachain-system-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -1603,7 +1606,7 @@
[[package]]
name = "cumulus-pallet-xcm"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1620,7 +1623,7 @@
[[package]]
name = "cumulus-pallet-xcmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1638,10 +1641,9 @@
[[package]]
name = "cumulus-primitives-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"frame-support",
- "impl-trait-for-tuples",
"parity-scale-codec",
"polkadot-core-primitives",
"polkadot-parachain",
@@ -1655,13 +1657,13 @@
[[package]]
name = "cumulus-primitives-parachain-inherent"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"async-trait",
"cumulus-primitives-core",
+ "cumulus-relay-chain-interface",
"cumulus-test-relay-sproof-builder",
"parity-scale-codec",
- "polkadot-client",
"sc-client-api",
"scale-info",
"sp-api",
@@ -1670,6 +1672,7 @@
"sp-runtime",
"sp-state-machine",
"sp-std",
+ "sp-storage",
"sp-trie",
"tracing",
]
@@ -1677,7 +1680,7 @@
[[package]]
name = "cumulus-primitives-timestamp"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"sp-inherents",
@@ -1688,7 +1691,7 @@
[[package]]
name = "cumulus-primitives-utility"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1703,9 +1706,58 @@
]
[[package]]
+name = "cumulus-relay-chain-interface"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
+dependencies = [
+ "async-trait",
+ "cumulus-primitives-core",
+ "derive_more",
+ "futures 0.3.19",
+ "parking_lot 0.11.2",
+ "polkadot-overseer",
+ "sc-client-api",
+ "sc-service",
+ "sp-api",
+ "sp-blockchain",
+ "sp-core",
+ "sp-runtime",
+ "sp-state-machine",
+ "thiserror",
+]
+
+[[package]]
+name = "cumulus-relay-chain-local"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
+dependencies = [
+ "async-trait",
+ "cumulus-primitives-core",
+ "cumulus-relay-chain-interface",
+ "futures 0.3.19",
+ "futures-timer",
+ "parking_lot 0.11.2",
+ "polkadot-client",
+ "polkadot-service",
+ "sc-client-api",
+ "sc-consensus-babe",
+ "sc-network",
+ "sc-service",
+ "sc-telemetry",
+ "sc-tracing",
+ "sp-api",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-core",
+ "sp-runtime",
+ "sp-state-machine",
+ "tracing",
+]
+
+[[package]]
name = "cumulus-test-relay-sproof-builder"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
@@ -1845,6 +1897,17 @@
]
[[package]]
+name = "digest"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b"
+dependencies = [
+ "block-buffer 0.10.0",
+ "crypto-common",
+ "generic-array 0.14.5",
+]
+
+[[package]]
name = "directories"
version = "4.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2118,7 +2181,7 @@
[[package]]
name = "evm"
version = "0.33.1"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.15#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
dependencies = [
"auto_impl",
"environmental",
@@ -2164,7 +2227,7 @@
[[package]]
name = "evm-core"
version = "0.33.0"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.15#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
dependencies = [
"funty",
"parity-scale-codec",
@@ -2176,7 +2239,7 @@
[[package]]
name = "evm-gasometer"
version = "0.33.0"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.15#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
dependencies = [
"environmental",
"evm-core",
@@ -2187,7 +2250,7 @@
[[package]]
name = "evm-runtime"
version = "0.33.0"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.15#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
dependencies = [
"auto_impl",
"environmental",
@@ -2229,7 +2292,7 @@
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"async-trait",
"derive_more",
@@ -2256,7 +2319,7 @@
[[package]]
name = "fc-db"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"fp-storage",
"kvdb",
@@ -2272,14 +2335,14 @@
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"fc-consensus",
"fc-db",
"fp-consensus",
"fp-rpc",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"sc-client-api",
"sp-api",
@@ -2290,7 +2353,7 @@
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2336,7 +2399,7 @@
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2378,7 +2441,7 @@
dependencies = [
"either",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"num-traits",
"parity-scale-codec",
@@ -2442,7 +2505,7 @@
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
]
@@ -2460,7 +2523,7 @@
[[package]]
name = "fp-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"ethereum",
"parity-scale-codec",
@@ -2474,7 +2537,7 @@
[[package]]
name = "fp-evm"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"evm",
"impl-trait-for-tuples",
@@ -2488,7 +2551,7 @@
[[package]]
name = "fp-rpc"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2505,7 +2568,7 @@
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"ethereum",
"frame-support",
@@ -2522,12 +2585,12 @@
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -2537,6 +2600,7 @@
"paste",
"scale-info",
"sp-api",
+ "sp-application-crypto",
"sp-io",
"sp-runtime",
"sp-runtime-interface",
@@ -2547,7 +2611,7 @@
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"Inflector",
"chrono",
@@ -2573,7 +2637,7 @@
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -2587,7 +2651,7 @@
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -2615,7 +2679,7 @@
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"bitflags",
"frame-metadata",
@@ -2644,7 +2708,7 @@
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"Inflector",
"frame-support-procedural-tools",
@@ -2656,7 +2720,7 @@
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate 1.1.0",
@@ -2668,7 +2732,7 @@
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro2",
"quote",
@@ -2678,7 +2742,7 @@
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"log",
@@ -2695,7 +2759,7 @@
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -2710,7 +2774,7 @@
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -2719,7 +2783,7 @@
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"sp-api",
@@ -2883,12 +2947,6 @@
[[package]]
name = "futures-timer"
-version = "2.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6"
-
-[[package]]
-name = "futures-timer"
version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
@@ -2967,9 +3025,9 @@
[[package]]
name = "gimli"
-version = "0.25.0"
+version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7"
+checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
dependencies = [
"fallible-iterator",
"indexmap",
@@ -2977,12 +3035,6 @@
]
[[package]]
-name = "gimli"
-version = "0.26.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
-
-[[package]]
name = "glob"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3396,25 +3448,14 @@
checksum = "276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770"
dependencies = [
"num-traits",
-]
-
-[[package]]
-name = "intervalier"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"
-dependencies = [
- "futures 0.3.19",
- "futures-timer 2.0.2",
]
[[package]]
name = "io-lifetimes"
-version = "0.3.3"
+version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "278e90d6f8a6c76a8334b336e306efa3c5f2b604048cbfd486d6f49878e3af14"
+checksum = "f6ef6787e7f0faedc040f95716bdd0e62bcfcf4ba93da053b62dea2691c13864"
dependencies = [
- "rustc_version 0.4.0",
"winapi 0.3.9",
]
@@ -3719,8 +3760,8 @@
[[package]]
name = "kusama-runtime"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -3733,6 +3774,7 @@
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"hex-literal",
+ "kusama-runtime-constants",
"log",
"pallet-authority-discovery",
"pallet-authorship",
@@ -3755,6 +3797,7 @@
"pallet-nicks",
"pallet-offences",
"pallet-offences-benchmarking",
+ "pallet-preimage",
"pallet-proxy",
"pallet-recovery",
"pallet-scheduler",
@@ -3804,6 +3847,18 @@
]
[[package]]
+name = "kusama-runtime-constants"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "frame-support",
+ "polkadot-primitives",
+ "polkadot-runtime-common",
+ "smallvec",
+ "sp-runtime",
+]
+
+[[package]]
name = "kv-log-macro"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3948,7 +4003,7 @@
"either",
"fnv",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"lazy_static",
"libsecp256k1 0.7.0",
"log",
@@ -4212,7 +4267,7 @@
"asynchronous-codec 0.6.0",
"bytes 1.1.0",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"libp2p-core",
"libp2p-swarm",
"log",
@@ -4301,7 +4356,7 @@
dependencies = [
"async-io",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"if-watch",
"ipnet",
"libc",
@@ -4481,9 +4536,9 @@
[[package]]
name = "linux-raw-sys"
-version = "0.0.28"
+version = "0.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "687387ff42ec7ea4f2149035a5675fedb675d26f98db90a1846ac63d3addb5f5"
+checksum = "a261afc61b7a5e323933b402ca6a1765183687c614789b1e4db7762ed4230bca"
[[package]]
name = "lock_api"
@@ -4640,9 +4695,9 @@
[[package]]
name = "memory-db"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de006e09d04fc301a5f7e817b75aa49801c4479a8af753764416b085337ddcc5"
+checksum = "d505169b746dacf02f7d14d8c80b34edfd8212159c63d23c977739a0d960c626"
dependencies = [
"hash-db",
"hashbrown",
@@ -4678,12 +4733,12 @@
[[package]]
name = "metered-channel"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"derive_more",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"thiserror",
"tracing",
]
@@ -5103,7 +5158,7 @@
[[package]]
name = "orml-vesting"
version = "0.4.1-dev"
-source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.15#deea7f42148954d3285775bb48c6dcac4c419777"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.16#d9c538ae3b9dc0f7faacff2deed70becd10cd46e"
dependencies = [
"frame-support",
"frame-system",
@@ -5127,7 +5182,7 @@
[[package]]
name = "pallet-aura"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5143,7 +5198,7 @@
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5159,7 +5214,7 @@
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5174,7 +5229,7 @@
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5198,7 +5253,7 @@
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5218,7 +5273,7 @@
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5233,7 +5288,7 @@
[[package]]
name = "pallet-base-fee"
version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"frame-support",
"frame-system",
@@ -5248,7 +5303,7 @@
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"beefy-primitives",
"frame-support",
@@ -5264,7 +5319,7 @@
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"beefy-merkle-tree",
"beefy-primitives",
@@ -5289,7 +5344,7 @@
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5307,7 +5362,7 @@
[[package]]
name = "pallet-bridge-dispatch"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-message-dispatch",
"bp-runtime",
@@ -5324,7 +5379,7 @@
[[package]]
name = "pallet-bridge-grandpa"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bp-header-chain",
"bp-runtime",
@@ -5346,12 +5401,11 @@
[[package]]
name = "pallet-bridge-messages"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"bp-message-dispatch",
"bp-messages",
- "bp-rialto",
"bp-runtime",
"frame-support",
"frame-system",
@@ -5368,7 +5422,7 @@
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5399,77 +5453,12 @@
"sp-std",
"up-data-structs",
"up-evm-mapping",
-]
-
-[[package]]
-name = "pallet-contract-helpers"
-version = "0.1.0"
-dependencies = [
- "frame-support",
- "frame-system",
- "pallet-contracts",
- "parity-scale-codec",
- "scale-info",
- "sp-runtime",
- "sp-std",
- "up-sponsorship",
]
[[package]]
-name = "pallet-contracts"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
-dependencies = [
- "bitflags",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "libsecp256k1 0.7.0",
- "log",
- "pallet-contracts-primitives",
- "pallet-contracts-proc-macro",
- "parity-scale-codec",
- "pwasm-utils",
- "rand 0.8.4",
- "scale-info",
- "serde",
- "smallvec",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-sandbox",
- "sp-std",
- "wasmi-validation",
-]
-
-[[package]]
-name = "pallet-contracts-primitives"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
-dependencies = [
- "bitflags",
- "parity-scale-codec",
- "scale-info",
- "serde",
- "sp-core",
- "sp-runtime",
- "sp-std",
-]
-
-[[package]]
-name = "pallet-contracts-proc-macro"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5485,7 +5474,7 @@
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5502,14 +5491,14 @@
"sp-runtime",
"sp-std",
"static_assertions",
- "strum",
- "strum_macros",
+ "strum 0.22.0",
+ "strum_macros 0.23.1",
]
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5527,7 +5516,7 @@
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"ethereum",
"ethereum-types",
@@ -5539,6 +5528,7 @@
"fp-storage",
"frame-support",
"frame-system",
+ "log",
"pallet-balances",
"pallet-evm",
"pallet-timestamp",
@@ -5556,7 +5546,7 @@
[[package]]
name = "pallet-evm"
version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.15#46d9921977303703d4e6b3a452b9a777352cc866"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
dependencies = [
"evm",
"evm-gasometer",
@@ -5675,7 +5665,7 @@
[[package]]
name = "pallet-gilt"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5690,7 +5680,7 @@
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5713,7 +5703,7 @@
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -5729,7 +5719,7 @@
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5749,7 +5739,7 @@
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5785,7 +5775,7 @@
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5802,7 +5792,7 @@
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"ckb-merkle-mountain-range",
"frame-benchmarking",
@@ -5820,7 +5810,7 @@
[[package]]
name = "pallet-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5836,7 +5826,7 @@
[[package]]
name = "pallet-mmr-rpc"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -5853,7 +5843,7 @@
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5868,7 +5858,7 @@
[[package]]
name = "pallet-nicks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5901,7 +5891,7 @@
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5918,7 +5908,7 @@
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5939,9 +5929,25 @@
]
[[package]]
+name = "pallet-preimage"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5956,7 +5962,7 @@
[[package]]
name = "pallet-randomness-collective-flip"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -5970,7 +5976,7 @@
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -6000,7 +6006,7 @@
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6016,7 +6022,7 @@
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -6037,7 +6043,7 @@
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6053,7 +6059,7 @@
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -6067,7 +6073,7 @@
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6090,7 +6096,7 @@
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -6101,7 +6107,7 @@
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"log",
"sp-arithmetic",
@@ -6110,7 +6116,7 @@
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -6124,7 +6130,7 @@
[[package]]
name = "pallet-template-transaction-payment"
version = "3.0.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.15#1d3a83d61b6ea2162a55784efaa165624da3a9f6"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.16#a08e9828d44c54ec9905e9c7f642f0e734f92780"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6144,7 +6150,7 @@
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6162,7 +6168,7 @@
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6181,7 +6187,7 @@
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-support",
"frame-system",
@@ -6198,7 +6204,7 @@
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -6215,7 +6221,7 @@
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -6226,7 +6232,7 @@
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6299,7 +6305,7 @@
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6315,7 +6321,7 @@
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6329,8 +6335,8 @@
[[package]]
name = "pallet-xcm"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-support",
"frame-system",
@@ -6347,8 +6353,8 @@
[[package]]
name = "pallet-xcm-benchmarks"
-version = "0.9.8"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6365,7 +6371,7 @@
[[package]]
name = "parachain-info"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.15#d1c06ce0bda73898bcb685212e7740f5afc0c2dd"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -6724,8 +6730,8 @@
[[package]]
name = "polkadot-approval-distribution"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"polkadot-node-network-protocol",
@@ -6738,8 +6744,8 @@
[[package]]
name = "polkadot-availability-bitfield-distribution"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"polkadot-node-network-protocol",
@@ -6751,8 +6757,8 @@
[[package]]
name = "polkadot-availability-distribution"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"derive_more",
"futures 0.3.19",
@@ -6773,8 +6779,8 @@
[[package]]
name = "polkadot-availability-recovery"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"lru 0.7.2",
@@ -6793,16 +6799,19 @@
[[package]]
name = "polkadot-cli"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-benchmarking-cli",
"futures 0.3.19",
"log",
"polkadot-node-core-pvf",
+ "polkadot-node-metrics",
+ "polkadot-performance-test",
"polkadot-service",
"sc-cli",
"sc-service",
+ "sc-tracing",
"sp-core",
"sp-trie",
"structopt",
@@ -6813,8 +6822,8 @@
[[package]]
name = "polkadot-client"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"frame-benchmarking",
@@ -6843,13 +6852,13 @@
[[package]]
name = "polkadot-collator-protocol"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"always-assert",
"derive_more",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"polkadot-node-network-protocol",
"polkadot-node-primitives",
"polkadot-node-subsystem",
@@ -6864,8 +6873,8 @@
[[package]]
name = "polkadot-core-primitives"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"parity-scale-codec",
"parity-util-mem",
@@ -6877,8 +6886,8 @@
[[package]]
name = "polkadot-dispute-distribution"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"derive_more",
"futures 0.3.19",
@@ -6899,8 +6908,8 @@
[[package]]
name = "polkadot-erasure-coding"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"parity-scale-codec",
"polkadot-node-primitives",
@@ -6913,11 +6922,11 @@
[[package]]
name = "polkadot-gossip-support"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"polkadot-node-network-protocol",
"polkadot-node-subsystem",
"polkadot-node-subsystem-util",
@@ -6933,8 +6942,8 @@
[[package]]
name = "polkadot-network-bridge"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"futures 0.3.19",
@@ -6952,8 +6961,8 @@
[[package]]
name = "polkadot-node-collation-generation"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"parity-scale-codec",
@@ -6970,13 +6979,13 @@
[[package]]
name = "polkadot-node-core-approval-voting"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"derive_more",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"kvdb",
"lru 0.7.2",
"merlin",
@@ -6998,12 +7007,12 @@
[[package]]
name = "polkadot-node-core-av-store"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"kvdb",
"parity-scale-codec",
"polkadot-erasure-coding",
@@ -7018,8 +7027,8 @@
[[package]]
name = "polkadot-node-core-backing"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"futures 0.3.19",
@@ -7036,8 +7045,8 @@
[[package]]
name = "polkadot-node-core-bitfield-signing"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"polkadot-node-subsystem",
@@ -7051,8 +7060,8 @@
[[package]]
name = "polkadot-node-core-candidate-validation"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"futures 0.3.19",
@@ -7069,8 +7078,8 @@
[[package]]
name = "polkadot-node-core-chain-api"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"polkadot-node-subsystem",
@@ -7084,11 +7093,11 @@
[[package]]
name = "polkadot-node-core-chain-selection"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"kvdb",
"parity-scale-codec",
"polkadot-node-primitives",
@@ -7101,13 +7110,12 @@
[[package]]
name = "polkadot-node-core-dispute-coordinator"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
- "bitvec",
- "derive_more",
"futures 0.3.19",
"kvdb",
+ "lru 0.7.2",
"parity-scale-codec",
"polkadot-node-primitives",
"polkadot-node-subsystem",
@@ -7119,26 +7127,13 @@
]
[[package]]
-name = "polkadot-node-core-dispute-participation"
-version = "0.9.14"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
-dependencies = [
- "futures 0.3.19",
- "polkadot-node-primitives",
- "polkadot-node-subsystem",
- "polkadot-primitives",
- "thiserror",
- "tracing",
-]
-
-[[package]]
name = "polkadot-node-core-parachains-inherent"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"polkadot-node-subsystem",
"polkadot-primitives",
"sp-blockchain",
@@ -7150,31 +7145,32 @@
[[package]]
name = "polkadot-node-core-provisioner"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
+ "polkadot-node-primitives",
"polkadot-node-subsystem",
"polkadot-node-subsystem-util",
"polkadot-primitives",
+ "rand 0.8.4",
"thiserror",
"tracing",
]
[[package]]
name = "polkadot-node-core-pvf"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"always-assert",
"assert_matches",
"async-process",
"async-std",
"futures 0.3.19",
- "futures-timer 3.0.2",
- "libc",
+ "futures-timer",
"parity-scale-codec",
"pin-project 1.0.10",
"polkadot-core-primitives",
@@ -7195,9 +7191,25 @@
]
[[package]]
+name = "polkadot-node-core-pvf-checker"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "futures 0.3.19",
+ "polkadot-node-primitives",
+ "polkadot-node-subsystem",
+ "polkadot-node-subsystem-util",
+ "polkadot-overseer",
+ "polkadot-primitives",
+ "sp-keystore",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
name = "polkadot-node-core-runtime-api"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
"memory-lru",
@@ -7214,8 +7226,8 @@
[[package]]
name = "polkadot-node-jaeger"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-std",
"lazy_static",
@@ -7232,19 +7244,27 @@
[[package]]
name = "polkadot-node-metrics"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
+ "bs58",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
+ "log",
"metered-channel",
+ "parity-scale-codec",
+ "polkadot-primitives",
+ "sc-cli",
+ "sc-service",
+ "sc-tracing",
"substrate-prometheus-endpoint",
+ "tracing",
]
[[package]]
name = "polkadot-node-network-protocol"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"derive_more",
@@ -7255,14 +7275,14 @@
"polkadot-primitives",
"sc-authority-discovery",
"sc-network",
- "strum",
+ "strum 0.23.0",
"thiserror",
]
[[package]]
name = "polkadot-node-primitives"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bounded-vec",
"futures 0.3.19",
@@ -7283,8 +7303,8 @@
[[package]]
name = "polkadot-node-subsystem"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"polkadot-node-jaeger",
"polkadot-node-subsystem-types",
@@ -7293,8 +7313,8 @@
[[package]]
name = "polkadot-node-subsystem-types"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"derive_more",
"futures 0.3.19",
@@ -7312,8 +7332,8 @@
[[package]]
name = "polkadot-node-subsystem-util"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"derive_more",
@@ -7326,6 +7346,7 @@
"polkadot-node-jaeger",
"polkadot-node-metrics",
"polkadot-node-network-protocol",
+ "polkadot-node-primitives",
"polkadot-node-subsystem",
"polkadot-overseer",
"polkadot-primitives",
@@ -7339,11 +7360,11 @@
[[package]]
name = "polkadot-overseer"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"lru 0.7.2",
"parity-util-mem",
"parking_lot 0.11.2",
@@ -7360,12 +7381,12 @@
[[package]]
name = "polkadot-overseer-gen"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"metered-channel",
"pin-project 1.0.10",
"polkadot-node-network-protocol",
@@ -7377,8 +7398,8 @@
[[package]]
name = "polkadot-overseer-gen-proc-macro"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -7388,8 +7409,8 @@
[[package]]
name = "polkadot-parachain"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"derive_more",
"frame-support",
@@ -7404,9 +7425,24 @@
]
[[package]]
+name = "polkadot-performance-test"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "env_logger 0.9.0",
+ "kusama-runtime",
+ "log",
+ "polkadot-erasure-coding",
+ "polkadot-node-core-pvf",
+ "polkadot-node-primitives",
+ "quote",
+ "thiserror",
+]
+
+[[package]]
name = "polkadot-primitives"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitvec",
"frame-system",
@@ -7435,8 +7471,8 @@
[[package]]
name = "polkadot-rpc"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-gadget",
"beefy-gadget-rpc",
@@ -7466,8 +7502,8 @@
[[package]]
name = "polkadot-runtime"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7501,6 +7537,7 @@
"pallet-nicks",
"pallet-offences",
"pallet-offences-benchmarking",
+ "pallet-preimage",
"pallet-proxy",
"pallet-scheduler",
"pallet-session",
@@ -7518,6 +7555,7 @@
"parity-scale-codec",
"polkadot-primitives",
"polkadot-runtime-common",
+ "polkadot-runtime-constants",
"polkadot-runtime-parachains",
"rustc-hex",
"scale-info",
@@ -7548,8 +7586,8 @@
[[package]]
name = "polkadot-runtime-common"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7594,9 +7632,33 @@
]
[[package]]
+name = "polkadot-runtime-constants"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "frame-support",
+ "polkadot-primitives",
+ "polkadot-runtime-common",
+ "smallvec",
+ "sp-runtime",
+]
+
+[[package]]
+name = "polkadot-runtime-metrics"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "bs58",
+ "parity-scale-codec",
+ "polkadot-primitives",
+ "sp-std",
+ "sp-tracing",
+]
+
+[[package]]
name = "polkadot-runtime-parachains"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"bitflags",
"bitvec",
@@ -7615,6 +7677,7 @@
"pallet-vesting",
"parity-scale-codec",
"polkadot-primitives",
+ "polkadot-runtime-metrics",
"rand 0.8.4",
"rand_chacha 0.3.1",
"rustc-hex",
@@ -7635,8 +7698,8 @@
[[package]]
name = "polkadot-service"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"async-trait",
"beefy-gadget",
@@ -7671,9 +7734,9 @@
"polkadot-node-core-chain-api",
"polkadot-node-core-chain-selection",
"polkadot-node-core-dispute-coordinator",
- "polkadot-node-core-dispute-participation",
"polkadot-node-core-parachains-inherent",
"polkadot-node-core-provisioner",
+ "polkadot-node-core-pvf-checker",
"polkadot-node-core-runtime-api",
"polkadot-node-network-protocol",
"polkadot-node-primitives",
@@ -7684,6 +7747,7 @@
"polkadot-primitives",
"polkadot-rpc",
"polkadot-runtime",
+ "polkadot-runtime-constants",
"polkadot-runtime-parachains",
"polkadot-statement-distribution",
"rococo-runtime",
@@ -7734,8 +7798,8 @@
[[package]]
name = "polkadot-statement-distribution"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"arrayvec 0.5.2",
"derive_more",
@@ -7755,8 +7819,8 @@
[[package]]
name = "polkadot-statement-table"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
@@ -7765,8 +7829,8 @@
[[package]]
name = "polkadot-test-runtime"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7819,6 +7883,7 @@
"sp-transaction-pool",
"sp-version",
"substrate-wasm-builder",
+ "test-runtime-constants",
"xcm",
"xcm-builder",
"xcm-executor",
@@ -7826,8 +7891,8 @@
[[package]]
name = "polkadot-test-service"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-benchmarking",
"frame-system",
@@ -7873,6 +7938,7 @@
"sp-state-machine",
"substrate-test-client",
"tempfile",
+ "test-runtime-constants",
"tokio 1.15.0",
"tracing",
]
@@ -8071,17 +8137,6 @@
checksum = "cd136ff4382c4753fc061cb9e4712ab2af263376b95bbd5bd8cd50c020b78e69"
dependencies = [
"cc",
-]
-
-[[package]]
-name = "pwasm-utils"
-version = "0.18.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "880b3384fb00b8f6ecccd5d358b93bd2201900ae3daad213791d1864f6441f5c"
-dependencies = [
- "byteorder",
- "log",
- "parity-wasm 0.42.2",
]
[[package]]
@@ -8314,9 +8369,9 @@
[[package]]
name = "regalloc"
-version = "0.0.32"
+version = "0.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6304468554ed921da3d32c355ea107b8d13d7b8996c3adfb7aab48d3bc321f4"
+checksum = "7d808cff91dfca7b239d40b972ba628add94892b1d9e19a842aedc5cfae8ab1a"
dependencies = [
"log",
"rustc-hash",
@@ -8364,7 +8419,7 @@
[[package]]
name = "remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"env_logger 0.9.0",
"jsonrpsee",
@@ -8451,8 +8506,8 @@
[[package]]
name = "rococo-runtime"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"bp-messages",
@@ -8499,6 +8554,7 @@
"polkadot-primitives",
"polkadot-runtime-common",
"polkadot-runtime-parachains",
+ "rococo-runtime-constants",
"scale-info",
"serde",
"serde_derive",
@@ -8524,6 +8580,18 @@
]
[[package]]
+name = "rococo-runtime-constants"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "frame-support",
+ "polkadot-primitives",
+ "polkadot-runtime-common",
+ "smallvec",
+ "sp-runtime",
+]
+
+[[package]]
name = "rpassword"
version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8531,23 +8599,6 @@
dependencies = [
"libc",
"winapi 0.3.9",
-]
-
-[[package]]
-name = "rsix"
-version = "0.23.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f64c5788d5aab8b75441499d99576a24eb09f76fb267b36fec7e3d970c66431"
-dependencies = [
- "bitflags",
- "cc",
- "errno",
- "io-lifetimes",
- "itoa 0.4.8",
- "libc",
- "linux-raw-sys",
- "once_cell",
- "rustc_version 0.4.0",
]
[[package]]
@@ -8596,6 +8647,20 @@
]
[[package]]
+name = "rustix"
+version = "0.31.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2dcfc2778a90e38f56a708bfc90572422e11d6c7ee233d053d1f782cf9df6d2"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "winapi 0.3.9",
+]
+
+[[package]]
name = "rustls"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8621,6 +8686,12 @@
]
[[package]]
+name = "rustversion"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
+
+[[package]]
name = "rw-stream-sink"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8667,7 +8738,7 @@
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"log",
"sp-core",
@@ -8678,12 +8749,12 @@
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"derive_more",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"ip_network",
"libp2p",
"log",
@@ -8705,10 +8776,10 @@
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"parity-scale-codec",
"sc-block-builder",
@@ -8728,7 +8799,7 @@
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -8744,7 +8815,7 @@
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"impl-trait-for-tuples",
"memmap2 0.5.2",
@@ -8761,7 +8832,7 @@
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -8772,7 +8843,7 @@
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"chrono",
"fdlimit",
@@ -8810,7 +8881,7 @@
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"fnv",
"futures 0.3.19",
@@ -8838,7 +8909,7 @@
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"hash-db",
"kvdb",
@@ -8863,11 +8934,11 @@
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"libp2p",
"log",
"parking_lot 0.11.2",
@@ -8887,7 +8958,7 @@
[[package]]
name = "sc-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"derive_more",
@@ -8916,7 +8987,7 @@
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"derive_more",
@@ -8959,7 +9030,7 @@
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"derive_more",
"futures 0.3.19",
@@ -8983,7 +9054,7 @@
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -8996,17 +9067,16 @@
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"parity-scale-codec",
"sc-client-api",
"sc-consensus",
"sc-telemetry",
- "sp-api",
"sp-arithmetic",
"sp-blockchain",
"sp-consensus",
@@ -9022,7 +9092,7 @@
[[package]]
name = "sc-consensus-uncles"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"sc-client-api",
"sp-authorship",
@@ -9033,11 +9103,12 @@
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"lazy_static",
"libsecp256k1 0.7.0",
"log",
+ "lru 0.6.6",
"parity-scale-codec",
"parking_lot 0.11.2",
"sc-executor-common",
@@ -9060,25 +9131,25 @@
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"derive_more",
"environmental",
"parity-scale-codec",
- "pwasm-utils",
"sc-allocator",
"sp-core",
"sp-maybe-compressed-blob",
"sp-serializer",
"sp-wasm-interface",
"thiserror",
+ "wasm-instrument",
"wasmi",
]
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"log",
"parity-scale-codec",
@@ -9094,7 +9165,7 @@
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -9112,7 +9183,7 @@
[[package]]
name = "sc-finality-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"derive_more",
@@ -9120,12 +9191,13 @@
"finality-grandpa",
"fork-tree",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"parity-scale-codec",
"parking_lot 0.11.2",
"rand 0.8.4",
"sc-block-builder",
+ "sc-chain-spec",
"sc-client-api",
"sc-consensus",
"sc-keystore",
@@ -9149,7 +9221,7 @@
[[package]]
name = "sc-finality-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"derive_more",
"finality-grandpa",
@@ -9173,11 +9245,11 @@
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"ansi_term",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"parity-util-mem",
"sc-client-api",
@@ -9190,7 +9262,7 @@
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"derive_more",
@@ -9205,7 +9277,7 @@
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-std",
"async-trait",
@@ -9218,7 +9290,7 @@
"fnv",
"fork-tree",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"hex",
"ip_network",
"libp2p",
@@ -9256,10 +9328,10 @@
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"libp2p",
"log",
"lru 0.7.2",
@@ -9272,12 +9344,12 @@
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"bytes 1.1.0",
"fnv",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"hex",
"hyper",
"hyper-rustls",
@@ -9300,7 +9372,7 @@
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"libp2p",
@@ -9313,7 +9385,7 @@
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -9322,7 +9394,7 @@
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"hash-db",
@@ -9353,7 +9425,7 @@
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"jsonrpc-core",
@@ -9378,7 +9450,7 @@
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"jsonrpc-core",
@@ -9395,13 +9467,13 @@
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"directories",
"exit-future",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"hash-db",
"jsonrpc-core",
"jsonrpc-pubsub",
@@ -9459,7 +9531,7 @@
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"log",
"parity-scale-codec",
@@ -9473,7 +9545,7 @@
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -9495,7 +9567,7 @@
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"chrono",
"futures 0.3.19",
@@ -9513,7 +9585,7 @@
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"ansi_term",
"atty",
@@ -9544,7 +9616,7 @@
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -9555,10 +9627,10 @@
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
- "intervalier",
+ "futures-timer",
"linked-hash-map",
"log",
"parity-scale-codec",
@@ -9582,7 +9654,7 @@
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"derive_more",
"futures 0.3.19",
@@ -9596,11 +9668,12 @@
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"lazy_static",
+ "parking_lot 0.11.2",
"prometheus",
]
@@ -9845,6 +9918,17 @@
]
[[package]]
+name = "sha2"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec"
+dependencies = [
+ "cfg-if 1.0.0",
+ "cpufeatures 0.2.1",
+ "digest 0.10.1",
+]
+
+[[package]]
name = "sha3"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9929,8 +10013,8 @@
[[package]]
name = "slot-range-helper"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"enumn",
"parity-scale-codec",
@@ -10018,7 +10102,7 @@
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"hash-db",
"log",
@@ -10035,7 +10119,7 @@
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"blake2-rfc",
"proc-macro-crate 1.1.0",
@@ -10046,8 +10130,8 @@
[[package]]
name = "sp-application-crypto"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10059,8 +10143,8 @@
[[package]]
name = "sp-arithmetic"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -10075,7 +10159,7 @@
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10088,7 +10172,7 @@
[[package]]
name = "sp-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10100,7 +10184,7 @@
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -10112,7 +10196,7 @@
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"log",
@@ -10130,11 +10214,11 @@
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"futures 0.3.19",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"parity-scale-codec",
"sp-core",
@@ -10149,7 +10233,7 @@
[[package]]
name = "sp-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10167,7 +10251,7 @@
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"merlin",
@@ -10190,7 +10274,7 @@
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10202,7 +10286,7 @@
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"schnorrkel",
@@ -10213,8 +10297,8 @@
[[package]]
name = "sp-core"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.1.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"base58",
"bitflags",
@@ -10242,7 +10326,7 @@
"schnorrkel",
"secrecy",
"serde",
- "sha2 0.9.9",
+ "sha2 0.10.1",
"sp-core-hashing",
"sp-debug-derive",
"sp-externalities",
@@ -10261,12 +10345,12 @@
[[package]]
name = "sp-core-hashing"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"blake2-rfc",
"byteorder",
- "sha2 0.9.9",
+ "sha2 0.10.1",
"sp-std",
"tiny-keccak",
"twox-hash",
@@ -10275,7 +10359,7 @@
[[package]]
name = "sp-core-hashing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro2",
"quote",
@@ -10286,7 +10370,7 @@
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"kvdb",
"parking_lot 0.11.2",
@@ -10294,8 +10378,8 @@
[[package]]
name = "sp-debug-derive"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro2",
"quote",
@@ -10304,8 +10388,8 @@
[[package]]
name = "sp-externalities"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "0.10.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -10316,7 +10400,7 @@
[[package]]
name = "sp-finality-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"finality-grandpa",
"log",
@@ -10334,7 +10418,7 @@
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -10347,8 +10431,8 @@
[[package]]
name = "sp-io"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"hash-db",
@@ -10371,19 +10455,19 @@
[[package]]
name = "sp-keyring"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.1.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"lazy_static",
"sp-core",
"sp-runtime",
- "strum",
+ "strum 0.22.0",
]
[[package]]
name = "sp-keystore"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "0.10.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"derive_more",
@@ -10400,7 +10484,7 @@
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"zstd",
]
@@ -10408,7 +10492,7 @@
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10423,7 +10507,7 @@
[[package]]
name = "sp-npos-elections-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -10434,7 +10518,7 @@
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"sp-api",
"sp-core",
@@ -10443,8 +10527,8 @@
[[package]]
name = "sp-panic-handler"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"backtrace",
"lazy_static",
@@ -10454,7 +10538,7 @@
[[package]]
name = "sp-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"rustc-hash",
"serde",
@@ -10463,8 +10547,8 @@
[[package]]
name = "sp-runtime"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.1.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"either",
"hash256-std-hasher",
@@ -10485,8 +10569,8 @@
[[package]]
name = "sp-runtime-interface"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.1.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
@@ -10502,8 +10586,8 @@
[[package]]
name = "sp-runtime-interface-proc-macro"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"Inflector",
"proc-macro-crate 1.1.0",
@@ -10513,23 +10597,9 @@
]
[[package]]
-name = "sp-sandbox"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
-dependencies = [
- "log",
- "parity-scale-codec",
- "sp-core",
- "sp-io",
- "sp-std",
- "sp-wasm-interface",
- "wasmi",
-]
-
-[[package]]
name = "sp-serializer"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"serde",
"serde_json",
@@ -10538,7 +10608,7 @@
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10552,7 +10622,7 @@
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10562,8 +10632,8 @@
[[package]]
name = "sp-state-machine"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "0.10.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"hash-db",
"log",
@@ -10585,13 +10655,13 @@
[[package]]
name = "sp-std"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
[[package]]
name = "sp-storage"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -10604,7 +10674,7 @@
[[package]]
name = "sp-tasks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"log",
"sp-core",
@@ -10617,10 +10687,10 @@
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
- "futures-timer 3.0.2",
+ "futures-timer",
"log",
"parity-scale-codec",
"sp-api",
@@ -10632,8 +10702,8 @@
[[package]]
name = "sp-tracing"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -10645,7 +10715,7 @@
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"sp-api",
"sp-runtime",
@@ -10654,7 +10724,7 @@
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"log",
@@ -10669,8 +10739,8 @@
[[package]]
name = "sp-trie"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"hash-db",
"memory-db",
@@ -10685,13 +10755,14 @@
[[package]]
name = "sp-version"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"impl-serde",
"parity-scale-codec",
"parity-wasm 0.42.2",
"scale-info",
"serde",
+ "sp-core-hashing-proc-macro",
"sp-runtime",
"sp-std",
"sp-version-proc-macro",
@@ -10701,7 +10772,7 @@
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -10711,13 +10782,15 @@
[[package]]
name = "sp-wasm-interface"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+version = "4.1.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"impl-trait-for-tuples",
+ "log",
"parity-scale-codec",
"sp-std",
"wasmi",
+ "wasmtime",
]
[[package]]
@@ -10832,10 +10905,19 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
dependencies = [
- "strum_macros",
+ "strum_macros 0.22.0",
]
[[package]]
+name = "strum"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb"
+dependencies = [
+ "strum_macros 0.23.1",
+]
+
+[[package]]
name = "strum_macros"
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10848,6 +10930,19 @@
]
[[package]]
+name = "strum_macros"
+version = "0.23.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn",
+]
+
+[[package]]
name = "substrate-bip39"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10863,7 +10958,7 @@
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"platforms",
]
@@ -10871,7 +10966,7 @@
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"frame-system-rpc-runtime-api",
"futures 0.3.19",
@@ -10893,7 +10988,7 @@
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-std",
"derive_more",
@@ -10907,7 +11002,7 @@
[[package]]
name = "substrate-test-client"
version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"async-trait",
"futures 0.3.19",
@@ -10933,7 +11028,7 @@
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"futures 0.3.19",
"substrate-test-utils-derive",
@@ -10943,7 +11038,7 @@
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"proc-macro-crate 1.1.0",
"proc-macro2",
@@ -10954,7 +11049,7 @@
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"ansi_term",
"build-helper",
@@ -11037,6 +11132,18 @@
]
[[package]]
+name = "test-runtime-constants"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "frame-support",
+ "polkadot-primitives",
+ "polkadot-runtime-common",
+ "smallvec",
+ "sp-runtime",
+]
+
+[[package]]
name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11342,9 +11449,9 @@
[[package]]
name = "trie-db"
-version = "0.22.6"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa"
+checksum = "e3ddae50680c12ef75bfbf58416ca6622fa43d879553f6cb2ed1a817346e1ffe"
dependencies = [
"hash-db",
"hashbrown",
@@ -11355,9 +11462,9 @@
[[package]]
name = "trie-root"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd"
+checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891"
dependencies = [
"hash-db",
]
@@ -11424,7 +11531,7 @@
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.15#d36550a8da62fc968fac415c3379ad95d85105d1"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
dependencies = [
"jsonrpsee",
"log",
@@ -11443,6 +11550,7 @@
"sp-state-machine",
"sp-version",
"structopt",
+ "zstd",
]
[[package]]
@@ -11558,6 +11666,8 @@
"cumulus-client-service",
"cumulus-primitives-core",
"cumulus-primitives-parachain-inherent",
+ "cumulus-relay-chain-interface",
+ "cumulus-relay-chain-local",
"fc-consensus",
"fc-db",
"fc-mapping-sync",
@@ -11827,7 +11937,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.15#1d3a83d61b6ea2162a55784efaa165624da3a9f6"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.16#a08e9828d44c54ec9905e9c7f642f0e734f92780"
dependencies = [
"impl-trait-for-tuples",
]
@@ -12006,6 +12116,15 @@
]
[[package]]
+name = "wasm-instrument"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "962e5b0401bbb6c887f54e69b8c496ea36f704df65db73e81fd5ff8dc3e63a9f"
+dependencies = [
+ "parity-wasm 0.42.2",
+]
+
+[[package]]
name = "wasm-timer"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12028,7 +12147,6 @@
dependencies = [
"downcast-rs",
"libc",
- "libm",
"memory_units",
"num-rational 0.2.4",
"num-traits",
@@ -12053,9 +12171,9 @@
[[package]]
name = "wasmtime"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "311d06b0c49346d1fbf48a17052e844036b95a7753c1afb34e8c0af3f6b5bb13"
+checksum = "414be1bc5ca12e755ffd3ff7acc3a6d1979922f8237fc34068b2156cebcc3270"
dependencies = [
"anyhow",
"backtrace",
@@ -12085,9 +12203,9 @@
[[package]]
name = "wasmtime-cache"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36147930a4995137dc096e5b17a573b446799be2bbaea433e821ce6a80abe2c5"
+checksum = "8b9b4cd1949206fda9241faf8c460a7d797aa1692594d3dd6bc1cbfa57ee20d0"
dependencies = [
"anyhow",
"base64",
@@ -12095,7 +12213,7 @@
"directories-next",
"file-per-thread-logger",
"log",
- "rsix",
+ "rustix",
"serde",
"sha2 0.9.9",
"toml",
@@ -12105,9 +12223,9 @@
[[package]]
name = "wasmtime-cranelift"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab3083a47e1ede38aac06a1d9831640d673f9aeda0b82a64e4ce002f3432e2e7"
+checksum = "a4693d33725773615a4c9957e4aa731af57b27dca579702d1d8ed5750760f1a9"
dependencies = [
"anyhow",
"cranelift-codegen",
@@ -12115,7 +12233,7 @@
"cranelift-frontend",
"cranelift-native",
"cranelift-wasm",
- "gimli 0.25.0",
+ "gimli",
"log",
"more-asserts",
"object",
@@ -12127,14 +12245,13 @@
[[package]]
name = "wasmtime-environ"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c2d194b655321053bc4111a1aa4ead552655c8a17d17264bc97766e70073510"
+checksum = "5b17e47116a078b9770e6fb86cff8b9a660826623cebcfff251b047c8d8993ef"
dependencies = [
"anyhow",
- "cfg-if 1.0.0",
"cranelift-entity",
- "gimli 0.25.0",
+ "gimli",
"indexmap",
"log",
"more-asserts",
@@ -12148,24 +12265,21 @@
[[package]]
name = "wasmtime-jit"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "864ac8dfe4ce310ac59f16fdbd560c257389cb009ee5d030ac6e30523b023d11"
+checksum = "60ea5b380bdf92e32911400375aeefb900ac9d3f8e350bb6ba555a39315f2ee7"
dependencies = [
- "addr2line 0.16.0",
+ "addr2line",
"anyhow",
"bincode",
"cfg-if 1.0.0",
- "gimli 0.25.0",
- "log",
- "more-asserts",
+ "gimli",
"object",
"region",
- "rsix",
+ "rustix",
"serde",
"target-lexicon",
"thiserror",
- "wasmparser",
"wasmtime-environ",
"wasmtime-runtime",
"winapi 0.3.9",
@@ -12173,9 +12287,9 @@
[[package]]
name = "wasmtime-runtime"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab97da813a26b98c9abfd3b0c2d99e42f6b78b749c0646344e2e262d212d8c8b"
+checksum = "abc7cd79937edd6e238b337608ebbcaf9c086a8457f01dfd598324f7fa56d81a"
dependencies = [
"anyhow",
"backtrace",
@@ -12190,7 +12304,7 @@
"more-asserts",
"rand 0.8.4",
"region",
- "rsix",
+ "rustix",
"thiserror",
"wasmtime-environ",
"winapi 0.3.9",
@@ -12198,9 +12312,9 @@
[[package]]
name = "wasmtime-types"
-version = "0.31.0"
+version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff94409cc3557bfbbcce6b14520ccd6bd3727e965c0fe68d63ef2c185bf379c6"
+checksum = "d9e5e51a461a2cf2b69e1fc48f325b17d78a8582816e18479e8ead58844b23f8"
dependencies = [
"cranelift-entity",
"serde",
@@ -12248,8 +12362,8 @@
[[package]]
name = "westend-runtime"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -12282,6 +12396,7 @@
"pallet-nicks",
"pallet-offences",
"pallet-offences-benchmarking",
+ "pallet-preimage",
"pallet-proxy",
"pallet-recovery",
"pallet-scheduler",
@@ -12325,12 +12440,25 @@
"sp-transaction-pool",
"sp-version",
"substrate-wasm-builder",
+ "westend-runtime-constants",
"xcm",
"xcm-builder",
"xcm-executor",
]
[[package]]
+name = "westend-runtime-constants"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
+dependencies = [
+ "frame-support",
+ "polkadot-primitives",
+ "polkadot-runtime-common",
+ "smallvec",
+ "sp-runtime",
+]
+
+[[package]]
name = "which"
version = "4.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12428,8 +12556,8 @@
[[package]]
name = "xcm"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"derivative",
"impl-trait-for-tuples",
@@ -12441,8 +12569,8 @@
[[package]]
name = "xcm-builder"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-support",
"frame-system",
@@ -12461,8 +12589,8 @@
[[package]]
name = "xcm-executor"
-version = "0.9.15"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+version = "0.9.16"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -12480,8 +12608,9 @@
[[package]]
name = "xcm-procedural"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.15#4d94aea03300b85ddbfaa5b28e1078545e0545a2"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#6e3e9e60c2615f1cd715923aea9816ac6b9b59f7"
dependencies = [
+ "Inflector",
"proc-macro2",
"quote",
"syn",
Dockerfile-parachaindiffbeforeafterboth--- a/Dockerfile-parachain
+++ b/Dockerfile-parachain
@@ -4,7 +4,7 @@
ARG RUST_TOOLCHAIN=nightly-2021-11-11
#ARG RUST_C=1.58.0-nightly
-ARG POLKA_VERSION=release-v0.9.15
+ARG POLKA_VERSION=release-v0.9.16
ARG UNIQUE_BRANCH=develop
#ARG USER=***
client/rpc/Cargo.tomldiffbeforeafterboth--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -12,8 +12,8 @@
jsonrpc-core-client = "18.0.0"
jsonrpc-derive = "18.0.0"
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.15" }
-sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.15" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.15" }
-sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.15" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.15" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
client/rpc/src/lib.rsdiffbeforeafterboth--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -31,7 +31,7 @@
collection: CollectionId,
token: TokenId,
at: Option<BlockHash>,
- ) -> Result<CrossAccountId>;
+ ) -> Result<Option<CrossAccountId>>;
#[rpc(name = "unique_constMetadata")]
fn const_metadata(
&self,
@@ -168,7 +168,7 @@
{
pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);
pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);
- pass_method!(token_owner(collection: CollectionId, token: TokenId) -> CrossAccountId);
+ pass_method!(token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>);
pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
pass_method!(variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
pass_method!(collection_tokens(collection: CollectionId) -> u32);
crates/evm-coder/Cargo.tomldiffbeforeafterboth--- a/crates/evm-coder/Cargo.toml
+++ b/crates/evm-coder/Cargo.toml
@@ -8,7 +8,7 @@
primitive-types = { version = "0.10.1", default-features = false }
hex-literal = "0.3.3"
ethereum = { version = "0.11.1", default-features = false }
-evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-polkadot-v0.9.15" }
+evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-polkadot-v0.9.16" }
impl-trait-for-tuples = "0.2.1"
[dev-dependencies]
node/cli/Cargo.tomldiffbeforeafterboth--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -3,7 +3,7 @@
[build-dependencies.substrate-build-script-utils]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
################################################################################
# Substrate Dependecies
@@ -16,150 +16,150 @@
[dependencies.frame-benchmarking]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-benchmarking-cli]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment-rpc]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.substrate-prometheus-endpoint]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-basic-authorship]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-chain-spec]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-cli]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-client-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-consensus]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-consensus-aura]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-executor]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-finality-grandpa]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-keystore]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-rpc]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-rpc-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-service]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-telemetry]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-transaction-pool]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-tracing]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-block-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-blockchain]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-consensus]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-consensus-aura]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-finality-grandpa]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-inherents]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-keystore]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-offchain]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-runtime]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-session]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-timestamp]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-transaction-pool]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-trie]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.substrate-frame-rpc-system]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-network]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.serde]
features = ['derive']
@@ -174,58 +174,65 @@
[dependencies.cumulus-client-consensus-aura]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-consensus-common]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-collator]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-cli]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-network]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-primitives-core]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-primitives-parachain-inherent]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-service]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
+
+[dependencies.cumulus-relay-chain-interface]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
+[dependencies.cumulus-relay-chain-local]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
################################################################################
# Polkadot dependencies
[dependencies.polkadot-primitives]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
[dependencies.polkadot-service]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
[dependencies.polkadot-cli]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
[dependencies.polkadot-test-service]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
[dependencies.polkadot-parachain]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
################################################################################
@@ -268,13 +275,13 @@
jsonrpc-core = '18.0.0'
jsonrpc-pubsub = "18.0.0"
-fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
unique-rpc = { path = "../rpc" }
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -85,6 +85,7 @@
None,
// Protocol ID
None,
+ None,
// Properties
Some(properties),
// Extensions
@@ -134,6 +135,7 @@
None,
// Protocol ID
None,
+ None,
// Properties
None,
// Extensions
@@ -186,6 +188,7 @@
None,
// Protocol ID
None,
+ None,
// Properties
None,
// Extensions
@@ -217,7 +220,9 @@
.collect(),
},
treasury: Default::default(),
- sudo: SudoConfig { key: root_key },
+ sudo: SudoConfig {
+ key: Some(root_key),
+ },
vesting: VestingConfig { vesting: vec![] },
parachain_info: unique_runtime::ParachainInfoConfig { parachain_id: id },
parachain_system: Default::default(),
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -213,8 +213,10 @@
builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
let _ = builder.init();
+ let spec = load_spec(¶ms.chain.clone().unwrap_or_default())?;
+ let state_version = Cli::native_runtime_version(&spec).state_version();
let block: Block =
- generate_genesis_block(&load_spec(¶ms.chain.clone().unwrap_or_default())?)?;
+ generate_genesis_block(&spec, state_version)?;
let raw_header = block.header().encode();
let output_buf = if params.raw {
raw_header
@@ -282,8 +284,10 @@
let parachain_account =
AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);
+ let state_version =
+ RelayChainCli::native_runtime_version(&config.chain_spec).state_version();
let block: Block =
- generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;
+ generate_genesis_block(&config.chain_spec, state_version).map_err(|e| format!("{:?}", e))?;
let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));
let polkadot_config = SubstrateCli::create_configuration(
@@ -368,11 +372,21 @@
self.base.base.rpc_ws(default_listen_port)
}
- fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {
- self.base.base.prometheus_config(default_listen_port)
+ fn prometheus_config(
+ &self,
+ default_listen_port: u16,
+ chain_spec: &Box<dyn ChainSpec>,
+ ) -> Result<Option<PrometheusConfig>> {
+ self.base.base.prometheus_config(default_listen_port, chain_spec)
}
- fn init<C: SubstrateCli>(&self) -> Result<()> {
+ fn init<F>(
+ &self,
+ _support_url: &String,
+ _impl_version: &String,
+ _logger_hook: F,
+ _config: &sc_service::Configuration,
+ ) -> Result<()> {
unreachable!("PolkadotCli is never initialized; qed");
}
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -18,13 +18,15 @@
use unique_runtime::RuntimeApi;
// Cumulus Imports
-use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams, SlotProportion};
+use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion};
use cumulus_client_consensus_common::ParachainConsensus;
-use cumulus_client_network::build_block_announce_validator;
use cumulus_client_service::{
prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
};
+use cumulus_client_network::BlockAnnounceValidator;
use cumulus_primitives_core::ParaId;
+use cumulus_relay_chain_interface::RelayChainInterface;
+use cumulus_relay_chain_local::build_relay_chain_interface;
// Substrate Imports
use sc_client_api::ExecutorProvider;
@@ -152,6 +154,7 @@
config.wasm_method,
config.default_heap_pages,
config.max_runtime_instances,
+ config.runtime_cache_size,
);
let (client, backend, keystore_container, task_manager) =
@@ -238,7 +241,7 @@
Option<&Registry>,
Option<TelemetryHandle>,
&TaskManager,
- &polkadot_service::NewFull<polkadot_service::Client>,
+ Arc<dyn RelayChainInterface>,
Arc<sc_transaction_pool::FullPool<Block, FullClient>>,
Arc<NetworkService<Block, Hash>>,
SyncCryptoStorePtr,
@@ -254,28 +257,23 @@
let params = new_partial::<BIQ>(¶chain_config, build_import_queue)?;
let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle, fee_history_cache) =
params.other;
+ let mut task_manager = params.task_manager;
- let relay_chain_full_node =
- cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle)
+ let (relay_chain_interface, collator_key) =
+ build_relay_chain_interface(polkadot_config, telemetry_worker_handle, &mut task_manager)
.map_err(|e| match e {
polkadot_service::Error::Sub(x) => x,
s => format!("{}", s).into(),
})?;
+ let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);
let client = params.client.clone();
let backend = params.backend.clone();
- let block_announce_validator = build_block_announce_validator(
- relay_chain_full_node.client.clone(),
- id,
- Box::new(relay_chain_full_node.network.clone()),
- relay_chain_full_node.backend.clone(),
- );
let force_authoring = parachain_config.force_authoring;
let validator = parachain_config.role.is_authority();
let prometheus_registry = parachain_config.prometheus_registry().cloned();
let transaction_pool = params.transaction_pool.clone();
- let mut task_manager = params.task_manager;
let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
let (network, system_rpc_tx, start_network) =
@@ -285,7 +283,9 @@
transaction_pool: transaction_pool.clone(),
spawn_handle: task_manager.spawn_handle(),
import_queue: import_queue.clone(),
- block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),
+ block_announce_validator_builder: Some(Box::new(|_| {
+ Box::new(block_announce_validator)
+ })),
warp_sync: None,
})?;
@@ -364,13 +364,15 @@
Arc::new(move |hash, data| network.announce_block(hash, data))
};
+ let relay_chain_slot_duration = Duration::from_secs(6);
+
if validator {
let parachain_consensus = build_consensus(
client.clone(),
prometheus_registry.as_ref(),
telemetry.as_ref().map(|t| t.handle()),
&task_manager,
- &relay_chain_full_node,
+ relay_chain_interface.clone(),
transaction_pool,
network,
params.keystore_container.sync_keystore(),
@@ -385,10 +387,12 @@
announce_block,
client: client.clone(),
task_manager: &mut task_manager,
- relay_chain_full_node,
spawner,
parachain_consensus,
import_queue,
+ collator_key,
+ relay_chain_interface,
+ relay_chain_slot_duration,
};
start_collator(params).await?;
@@ -398,7 +402,9 @@
announce_block,
task_manager: &mut task_manager,
para_id: id,
- relay_chain_full_node,
+ import_queue,
+ relay_chain_interface,
+ relay_chain_slot_duration,
};
start_full_node(params)?;
@@ -463,7 +469,7 @@
prometheus_registry,
telemetry,
task_manager,
- relay_chain_node,
+ relay_chain_interface,
transaction_pool,
sync_oracle,
keystore,
@@ -478,31 +484,27 @@
telemetry.clone(),
);
- let relay_chain_backend = relay_chain_node.backend.clone();
- let relay_chain_client = relay_chain_node.client.clone();
- Ok(build_aura_consensus::<
+ Ok(AuraConsensus::build::<
sp_consensus_aura::sr25519::AuthorityPair,
- _,
- _,
_,
_,
_,
_,
_,
_,
- _,
>(BuildAuraConsensusParams {
proposer_factory,
create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
- let parachain_inherent =
- cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(
- relay_parent,
- &relay_chain_client,
- &*relay_chain_backend,
- &validation_data,
- id,
- );
+ let relay_chain_interface = relay_chain_interface.clone();
async move {
+ let parachain_inherent =
+ cumulus_primitives_parachain_inherent::ParachainInherentData::create_at(
+ relay_parent,
+ &relay_chain_interface,
+ &validation_data,
+ id,
+ ).await;
+
let time = sp_timestamp::InherentDataProvider::from_system_time();
let slot =
@@ -520,8 +522,6 @@
}
},
block_import: client.clone(),
- relay_chain_client: relay_chain_node.client.clone(),
- relay_chain_backend: relay_chain_node.backend.clone(),
para_client: client,
backoff_authoring_blocks: Option::<()>::None,
sync_oracle,
node/rpc/Cargo.tomldiffbeforeafterboth--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -13,40 +13,40 @@
futures = { version = "0.3.17", features = ["compat"] }
jsonrpc-core = "18.0.0"
jsonrpc-pubsub = "18.0.0"
-# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
tokio = { version = "0.2.25", features = ["macros", "sync"] }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
pallet-unique = { path = "../../pallets/unique" }
uc-rpc = { path = "../../client/rpc" }
pallets/common/Cargo.tomldiffbeforeafterboth--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -10,16 +10,16 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
serde = { version = "1.0.130", default-features = false }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
pallets/common/src/account.rsdiffbeforeafterboth--- a/pallets/common/src/account.rs
+++ b/pallets/common/src/account.rs
@@ -1,5 +1,5 @@
use crate::Config;
-use codec::{Encode, EncodeLike, Decode};
+use codec::{Encode, EncodeLike, Decode, MaxEncodedLen};
use sp_core::H160;
use scale_info::{Type, TypeInfo};
use core::cmp::Ordering;
@@ -10,7 +10,7 @@
pub use up_evm_mapping::EvmBackwardsAddressMapping;
pub trait CrossAccountId<AccountId>:
- Encode + EncodeLike + Decode + TypeInfo + Clone + PartialEq + Ord + core::fmt::Debug + Default
+ Encode + EncodeLike + Decode + TypeInfo + MaxEncodedLen + Clone + PartialEq + Ord + core::fmt::Debug
// +
// Serialize + Deserialize<'static>
{
@@ -23,7 +23,7 @@
fn conv_eq(&self, other: &Self) -> bool;
}
-#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo)]
+#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo, MaxEncodedLen)]
#[serde(rename_all = "camelCase")]
enum BasicCrossAccountIdRepr<AccountId> {
Substrate(AccountId),
@@ -38,17 +38,17 @@
ethereum: H160,
}
+impl<T: Config> MaxEncodedLen for BasicCrossAccountId<T> {
+ fn max_encoded_len() -> usize {
+ <BasicCrossAccountIdRepr<T::AccountId>>::max_encoded_len()
+ }
+}
+
impl<T: Config> TypeInfo for BasicCrossAccountId<T> {
type Identity = Self;
fn type_info() -> Type {
<BasicCrossAccountIdRepr<T::AccountId>>::type_info()
- }
-}
-
-impl<T: Config> Default for BasicCrossAccountId<T> {
- fn default() -> Self {
- Self::from_sub(T::AccountId::default())
}
}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -8,13 +8,13 @@
dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},
ensure, fail,
traits::{Imbalance, Get, Currency},
+ BoundedVec,
};
use pallet_evm::GasWeightMapping;
use up_data_structs::{
COLLECTION_NUMBER_LIMIT, Collection, CollectionId, CreateItemData, ExistenceRequirement,
- MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_COLLECTION_NAME_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
- COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo, TokenId, Weight,
- WithdrawReasons, CollectionStats,
+ MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo,
+ TokenId, Weight, WithdrawReasons, CollectionStats, CustomDataLimit,
};
pub use pallet::*;
use sp_core::H160;
@@ -398,15 +398,7 @@
pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {
{
ensure!(
- data.name.len() <= MAX_COLLECTION_NAME_LENGTH,
- Error::<T>::CollectionNameLimitExceeded
- );
- ensure!(
- data.description.len() <= MAX_COLLECTION_DESCRIPTION_LENGTH,
- Error::<T>::CollectionDescriptionLimitExceeded
- );
- ensure!(
- data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH,
+ data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH as usize,
Error::<T>::CollectionTokenPrefixLimitExceeded
);
}
@@ -610,14 +602,14 @@
&self,
sender: T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo;
fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId>;
fn token_exists(&self, token: TokenId) -> bool;
fn last_token_id(&self) -> TokenId;
- fn token_owner(&self, token: TokenId) -> T::CrossAccountId;
+ fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId>;
fn const_metadata(&self, token: TokenId) -> Vec<u8>;
fn variable_metadata(&self, token: TokenId) -> Vec<u8>;
pallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -7,15 +7,15 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
ethereum = { version = "0.11.1", default-features = false }
evm-coder = { default-features = false, path = "../../crates/evm-coder" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[dependencies.codec]
default-features = false
pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -7,15 +7,15 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.15' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
log = "0.4.14"
[dependencies.codec]
pallets/evm-migration/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-migration/Cargo.toml
+++ b/pallets/evm-migration/Cargo.toml
@@ -7,15 +7,15 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
[dependencies.codec]
default-features = false
pallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -7,16 +7,16 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
[dependencies.codec]
pallets/fungible/Cargo.tomldiffbeforeafterboth--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -10,17 +10,17 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
pallet-common = { default-features = false, path = '../common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
ethereum = { version = "0.11.1", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -1,10 +1,11 @@
use core::marker::PhantomData;
-use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
+use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
use up_data_structs::TokenId;
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::ArithmeticError;
use sp_std::{vec::Vec, vec};
+use up_data_structs::CustomDataLimit;
use crate::{
Allowance, Balance, Config, Error, FungibleHandle, Pallet, SelfWeightOf, weights::WeightInfo,
@@ -180,7 +181,7 @@
&self,
_sender: T::CrossAccountId,
_token: TokenId,
- _data: Vec<u8>,
+ _data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
fail!(<Error<T>>::FungibleItemsDontHaveData)
}
@@ -201,8 +202,8 @@
TokenId::default()
}
- fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {
- T::CrossAccountId::default()
+ fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {
+ None
}
fn const_metadata(&self, _token: TokenId) -> Vec<u8> {
Vec::new()
pallets/inflation/Cargo.tomldiffbeforeafterboth--- a/pallets/inflation/Cargo.toml
+++ b/pallets/inflation/Cargo.toml
@@ -43,37 +43,37 @@
default-features = false
optional = true
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.serde]
default-features = false
@@ -83,17 +83,17 @@
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies]
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
pallets/nonfungible/Cargo.tomldiffbeforeafterboth--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -10,17 +10,17 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
pallet-common = { default-features = false, path = '../common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
ethereum = { version = "0.11.1", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -1,7 +1,7 @@
use core::marker::PhantomData;
-use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
-use up_data_structs::TokenId;
+use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
+use up_data_structs::{TokenId, CustomDataLimit};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::DispatchError;
use sp_std::vec::Vec;
@@ -188,7 +188,7 @@
&self,
sender: T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
let len = data.len();
with_weight(
@@ -211,20 +211,20 @@
TokenId(<TokensMinted<T>>::get(self.id))
}
- fn token_owner(&self, token: TokenId) -> T::CrossAccountId {
- <TokenData<T>>::get((self.id, token))
- .map(|t| t.owner)
- .unwrap_or_default()
+ fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId> {
+ <TokenData<T>>::get((self.id, token)).map(|t| t.owner)
}
fn const_metadata(&self, token: TokenId) -> Vec<u8> {
<TokenData<T>>::get((self.id, token))
.map(|t| t.const_data)
.unwrap_or_default()
+ .into_inner()
}
fn variable_metadata(&self, token: TokenId) -> Vec<u8> {
<TokenData<T>>::get((self.id, token))
.map(|t| t.variable_data)
.unwrap_or_default()
+ .into_inner()
}
fn collection_tokens(&self) -> u32 {
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -338,8 +338,14 @@
let caller = T::CrossAccountId::from_eth(caller);
let token = token_id.try_into()?;
- <Pallet<T>>::set_variable_metadata(self, &caller, token, data)
- .map_err(dispatch_to_evm::<T>)?;
+ <Pallet<T>>::set_variable_metadata(
+ self,
+ &caller,
+ token,
+ data.try_into()
+ .map_err(|_| "metadata size exceeded limit")?,
+ )
+ .map_err(dispatch_to_evm::<T>)?;
Ok(())
}
@@ -349,7 +355,8 @@
Ok(<TokenData<T>>::get((self.id, token))
.ok_or("token not found")?
- .variable_data)
+ .variable_data
+ .into_inner())
}
#[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -2,9 +2,7 @@
use erc::ERC721Events;
use frame_support::{BoundedVec, ensure};
-use up_data_structs::{
- AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit, TokenId,
-};
+use up_data_structs::{AccessMode, Collection, CollectionId, CustomDataLimit, TokenId};
use pallet_common::{
Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,
};
@@ -14,7 +12,7 @@
use sp_std::{vec::Vec, vec};
use core::ops::Deref;
use sp_std::collections::btree_map::BTreeMap;
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
pub use pallet::*;
@@ -31,11 +29,11 @@
}
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
-#[derive(Encode, Decode, TypeInfo)]
-pub struct ItemData<T: Config> {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
- pub owner: T::CrossAccountId,
+#[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
+pub struct ItemData<CrossAccountId> {
+ pub const_data: BoundedVec<u8, CustomDataLimit>,
+ pub variable_data: BoundedVec<u8, CustomDataLimit>,
+ pub owner: CrossAccountId,
}
#[frame_support::pallet]
@@ -72,7 +70,7 @@
#[pallet::storage]
pub type TokenData<T: Config> = StorageNMap<
Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
- Value = ItemData<T>,
+ Value = ItemData<T::CrossAccountId>,
QueryKind = OptionQuery,
>;
@@ -535,12 +533,8 @@
collection: &NonfungibleHandle<T>,
sender: &T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResult {
- ensure!(
- data.len() as u32 <= CUSTOM_DATA_LIMIT,
- <CommonError<T>>::TokenVariableDataLimitExceeded
- );
let token_data =
<TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;
collection.check_can_update_meta(sender, &token_data.owner)?;
pallets/refungible/Cargo.tomldiffbeforeafterboth--- a/pallets/refungible/Cargo.toml
+++ b/pallets/refungible/Cargo.toml
@@ -10,14 +10,14 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
pallet-common = { default-features = false, path = '../common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
pallets/refungible/src/common.rsdiffbeforeafterboth--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -1,8 +1,8 @@
use core::marker::PhantomData;
use sp_std::collections::btree_map::BTreeMap;
-use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight};
-use up_data_structs::TokenId;
+use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight, BoundedVec};
+use up_data_structs::{TokenId, CustomDataLimit};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::DispatchError;
use sp_std::vec::Vec;
@@ -184,7 +184,7 @@
&self,
sender: T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
let len = data.len();
with_weight(
@@ -207,14 +207,18 @@
TokenId(<TokensMinted<T>>::get(self.id))
}
- fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {
- T::CrossAccountId::default()
+ fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {
+ None
}
fn const_metadata(&self, token: TokenId) -> Vec<u8> {
- <TokenData<T>>::get((self.id, token)).const_data
+ <TokenData<T>>::get((self.id, token))
+ .const_data
+ .into_inner()
}
fn variable_metadata(&self, token: TokenId) -> Vec<u8> {
- <TokenData<T>>::get((self.id, token)).variable_data
+ <TokenData<T>>::get((self.id, token))
+ .variable_data
+ .into_inner()
}
fn collection_tokens(&self) -> u32 {
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -2,8 +2,7 @@
use frame_support::{ensure, BoundedVec};
use up_data_structs::{
- AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit,
- MAX_REFUNGIBLE_PIECES, TokenId,
+ AccessMode, Collection, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId,
};
use pallet_common::{
Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
@@ -11,7 +10,7 @@
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
use core::ops::Deref;
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
pub use pallet::*;
@@ -27,10 +26,10 @@
}
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
-#[derive(Encode, Decode, Default, TypeInfo)]
+#[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]
pub struct ItemData {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
+ pub const_data: BoundedVec<u8, CustomDataLimit>,
+ pub variable_data: BoundedVec<u8, CustomDataLimit>,
}
#[frame_support::pallet]
@@ -579,12 +578,8 @@
collection: &RefungibleHandle<T>,
sender: &T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResult {
- ensure!(
- data.len() as u32 <= CUSTOM_DATA_LIMIT,
- <CommonError<T>>::TokenVariableDataLimitExceeded
- );
collection.check_can_update_meta(
sender,
&T::CrossAccountId::from_sub(collection.owner.clone()),
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -13,19 +13,19 @@
serde = { version = "1.0.130", default-features = false }
codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false }
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.15' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
log = { version = "0.4.14", default-features = false }
[dev-dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[features]
default = ["std"]
pallets/scheduler/src/lib.rsdiffbeforeafterboth--- a/pallets/scheduler/src/lib.rs
+++ b/pallets/scheduler/src/lib.rs
@@ -413,7 +413,11 @@
let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(
s.origin.clone()
).into();
- let sender = ensure_signed(origin).unwrap_or_default();
+ let sender = match ensure_signed(origin) {
+ Ok(v) => v,
+ // TODO: Support for unsigned extrinsics?
+ Err(_) => return Some(Some(s))
+ };
let who_will_pay = T::SponsorshipHandler::get_sponsor(&sender, &s.call).unwrap_or(sender);
let sponsor = T::PalletsOrigin::from(system::RawOrigin::Signed(who_will_pay));
let r = s.call.clone().dispatch(sponsor.into());
@@ -661,74 +665,6 @@
Ok((new_time, new_index))
},
)
- }
-}
-
-impl<T: Config> schedule::Anon<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>
- for Module<T>
-{
- type Address = TaskAddress<T::BlockNumber>;
-
- fn schedule(
- when: DispatchTime<T::BlockNumber>,
- maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
- priority: schedule::Priority,
- origin: T::PalletsOrigin,
- call: <T as Config>::Call,
- ) -> Result<Self::Address, DispatchError> {
- Self::do_schedule(when, maybe_periodic, priority, origin, call)
- }
-
- fn cancel((when, index): Self::Address) -> Result<(), ()> {
- Self::do_cancel(None, (when, index)).map_err(|_| ())
- }
-
- fn reschedule(
- address: Self::Address,
- when: DispatchTime<T::BlockNumber>,
- ) -> Result<Self::Address, DispatchError> {
- Self::do_reschedule(address, when)
- }
-
- fn next_dispatch_time((when, index): Self::Address) -> Result<T::BlockNumber, ()> {
- Agenda::<T>::get(when)
- .get(index as usize)
- .ok_or(())
- .map(|_| when)
- }
-}
-
-impl<T: Config> schedule::Named<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>
- for Module<T>
-{
- type Address = TaskAddress<T::BlockNumber>;
-
- fn schedule_named(
- id: Vec<u8>,
- when: DispatchTime<T::BlockNumber>,
- maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
- priority: schedule::Priority,
- origin: T::PalletsOrigin,
- call: <T as Config>::Call,
- ) -> Result<Self::Address, ()> {
- Self::do_schedule_named(id, when, maybe_periodic, priority, origin, call).map_err(|_| ())
- }
-
- fn cancel_named(id: Vec<u8>) -> Result<(), ()> {
- Self::do_cancel_named(None, id).map_err(|_| ())
- }
-
- fn reschedule_named(
- id: Vec<u8>,
- when: DispatchTime<T::BlockNumber>,
- ) -> Result<Self::Address, DispatchError> {
- Self::do_reschedule_named(id, when)
- }
-
- fn next_dispatch_time(id: Vec<u8>) -> Result<T::BlockNumber, ()> {
- Lookup::<T>::get(id)
- .and_then(|(when, index)| Agenda::<T>::get(when).get(index as usize).map(|_| when))
- .ok_or(())
}
}
pallets/unique/Cargo.tomldiffbeforeafterboth--- a/pallets/unique/Cargo.toml
+++ b/pallets/unique/Cargo.toml
@@ -61,42 +61,42 @@
default-features = false
optional = true
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.serde]
default-features = false
@@ -106,17 +106,17 @@
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
################################################################################
@@ -129,9 +129,9 @@
] }
ethereum = { version = "0.11.1", default-features = false }
rlp = { default-features = false, version = "0.5.0" }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.15" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.15' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
evm-coder = { default-features = false, path = "../../crates/evm-coder" }
pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
@@ -139,9 +139,9 @@
"serde_no_std",
] }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
hex-literal = "0.3.3"
pallet-common = { default-features = false, path = "../common" }
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -29,7 +29,8 @@
WeightToFeePolynomial, DispatchClass,
},
StorageValue, transactional,
- pallet_prelude::DispatchResultWithPostInfo,
+ pallet_prelude::{DispatchResultWithPostInfo, ConstU32},
+ BoundedVec,
};
use scale_info::TypeInfo;
use frame_system::{self as system, ensure_signed};
@@ -38,8 +39,10 @@
MAX_DECIMAL_POINTS, MAX_SPONSOR_TIMEOUT, MAX_TOKEN_OWNERSHIP, CUSTOM_DATA_LIMIT,
VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT,
FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
- NFT_SPONSOR_TRANSFER_TIMEOUT, AccessMode, Collection, CreateItemData, CollectionLimits,
+ NFT_SPONSOR_TRANSFER_TIMEOUT, MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH,
+ MAX_TOKEN_PREFIX_LENGTH, AccessMode, Collection, CreateItemData, CollectionLimits,
CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
+ CustomDataLimit,
};
use pallet_common::{
account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,
@@ -319,9 +322,9 @@
#[weight = <SelfWeightOf<T>>::create_collection()]
#[transactional]
pub fn create_collection(origin,
- collection_name: Vec<u16>,
- collection_description: Vec<u16>,
- token_prefix: Vec<u8>,
+ collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+ collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+ token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
mode: CollectionMode) -> DispatchResult {
// Anyone can create a collection
@@ -336,11 +339,11 @@
access: AccessMode::Normal,
description: collection_description,
token_prefix,
- offchain_schema: Vec::new(),
+ offchain_schema: BoundedVec::default(),
schema_version: SchemaVersion::ImageURL,
sponsorship: SponsorshipState::Disabled,
- variable_on_chain_schema: Vec::new(),
- const_on_chain_schema: Vec::new(),
+ variable_on_chain_schema: BoundedVec::default(),
+ const_on_chain_schema: BoundedVec::default(),
limits: Default::default(),
meta_update_permission: Default::default(),
};
@@ -919,7 +922,7 @@
origin,
collection_id: CollectionId,
item_id: TokenId,
- data: Vec<u8>
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -1004,15 +1007,12 @@
pub fn set_offchain_schema(
origin,
collection_id: CollectionId,
- schema: Vec<u8>
+ schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_owner_or_admin(&sender)?;
- // check schema limit
- ensure!(schema.len() as u32 <= OFFCHAIN_SCHEMA_LIMIT, "");
-
target_collection.offchain_schema = schema;
<Pallet<T>>::deposit_event(Event::<T>::OffchainSchemaSet(
@@ -1039,15 +1039,12 @@
pub fn set_const_on_chain_schema (
origin,
collection_id: CollectionId,
- schema: Vec<u8>
+ schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_owner_or_admin(&sender)?;
- // check schema limit
- ensure!(schema.len() as u32 <= CONST_ON_CHAIN_SCHEMA_LIMIT, "");
-
target_collection.const_on_chain_schema = schema;
<Pallet<T>>::deposit_event(Event::<T>::ConstOnChainSchemaSet(
@@ -1074,14 +1071,11 @@
pub fn set_variable_on_chain_schema (
origin,
collection_id: CollectionId,
- schema: Vec<u8>
+ schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_owner_or_admin(&sender)?;
-
- // check schema limit
- ensure!(schema.len() as u32 <= VARIABLE_ON_CHAIN_SCHEMA_LIMIT, "");
target_collection.variable_on_chain_schema = schema;
primitives/data-structs/Cargo.tomldiffbeforeafterboth--- a/primitives/data-structs/Cargo.toml
+++ b/primitives/data-structs/Cargo.toml
@@ -16,11 +16,11 @@
serde = { version = "1.0.130", features = [
'derive',
], default-features = false, optional = true }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
derivative = "2.2.0"
[features]
primitives/data-structs/src/lib.rsdiffbeforeafterboth--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -22,6 +22,7 @@
WeightToFeePolynomial, DispatchClass,
},
StorageValue, transactional,
+ pallet_prelude::ConstU32,
};
use derivative::Derivative;
use scale_info::TypeInfo;
@@ -65,9 +66,9 @@
pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;
pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 1048576;
-pub const MAX_COLLECTION_NAME_LENGTH: usize = 64;
-pub const MAX_COLLECTION_DESCRIPTION_LENGTH: usize = 256;
-pub const MAX_TOKEN_PREFIX_LENGTH: usize = 16;
+pub const MAX_COLLECTION_NAME_LENGTH: u32 = 64;
+pub const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = 256;
+pub const MAX_TOKEN_PREFIX_LENGTH: u32 = 16;
/// How much items can be created per single
/// create_many call
@@ -77,13 +78,39 @@
pub const CustomDataLimit: u32 = CUSTOM_DATA_LIMIT;
}
-#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]
+#[derive(
+ Encode,
+ Decode,
+ PartialEq,
+ Eq,
+ PartialOrd,
+ Ord,
+ Clone,
+ Copy,
+ Debug,
+ Default,
+ TypeInfo,
+ MaxEncodedLen,
+)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct CollectionId(pub u32);
impl EncodeLike<u32> for CollectionId {}
impl EncodeLike<CollectionId> for u32 {}
-#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]
+#[derive(
+ Encode,
+ Decode,
+ PartialEq,
+ Eq,
+ PartialOrd,
+ Ord,
+ Clone,
+ Copy,
+ Debug,
+ Default,
+ TypeInfo,
+ MaxEncodedLen,
+)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct TokenId(pub u32);
impl EncodeLike<u32> for TokenId {}
@@ -121,7 +148,7 @@
pub type DecimalPoints = u8;
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum CollectionMode {
NFT,
@@ -144,7 +171,7 @@
fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;
}
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum AccessMode {
Normal,
@@ -156,7 +183,7 @@
}
}
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum SchemaVersion {
ImageURL,
@@ -175,7 +202,7 @@
pub fraction: u128,
}
-#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum SponsorshipState<AccountId> {
/// The fees are applied to the transaction sender
@@ -211,22 +238,28 @@
}
}
-#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct Collection<AccountId> {
pub owner: AccountId,
pub mode: CollectionMode,
pub access: AccessMode,
- pub name: Vec<u16>, // 64 include null escape char
- pub description: Vec<u16>, // 256 include null escape char
- pub token_prefix: Vec<u8>, // 16 include null escape char
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
pub mint_mode: bool,
- pub offchain_schema: Vec<u8>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
pub schema_version: SchemaVersion,
pub sponsorship: SponsorshipState<AccountId>,
- pub limits: CollectionLimits, // Collection private restrictions
- pub variable_on_chain_schema: Vec<u8>, //
- pub const_on_chain_schema: Vec<u8>, //
+ pub limits: CollectionLimits, // Collection private restrictions
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,
pub meta_update_permission: MetaUpdatePermission,
}
@@ -253,7 +286,7 @@
}
/// All fields are wrapped in `Option`s, where None means chain default
-#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct CollectionLimits {
pub account_token_ownership_limit: Option<u32>,
@@ -378,7 +411,7 @@
pub pieces: u128,
}
-#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
pub enum MetaUpdatePermission {
ItemOwner,
primitives/evm-mapping/Cargo.tomldiffbeforeafterboth--- a/primitives/evm-mapping/Cargo.toml
+++ b/primitives/evm-mapping/Cargo.toml
@@ -4,8 +4,8 @@
edition = "2021"
[dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[features]
default = ["std"]
primitives/rpc/Cargo.tomldiffbeforeafterboth--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -9,10 +9,10 @@
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [
"derive",
] }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.15' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[features]
default = ["std"]
primitives/rpc/src/lib.rsdiffbeforeafterboth--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -16,7 +16,7 @@
fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>>;
fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool>;
- fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
+ fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
runtime/Cargo.tomldiffbeforeafterboth--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -118,33 +118,33 @@
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-executive]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.hex-literal]
optional = true
@@ -159,131 +159,131 @@
[dependencies.pallet-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
# Contracts specific packages
# [dependencies.pallet-contracts]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.15'
+# branch = 'polkadot-v0.9.16'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-primitives]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.15'
+# branch = 'polkadot-v0.9.16'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-rpc-runtime-api]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.15'
+# branch = 'polkadot-v0.9.16'
# version = '4.0.0-dev'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-sudo]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-treasury]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
# [dependencies.pallet-vesting]
# default-features = false
# git = 'https://github.com/paritytech/substrate.git'
-# branch = 'polkadot-v0.9.15'
+# branch = 'polkadot-v0.9.16'
[dependencies.sp-arithmetic]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-block-builder]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-consensus-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-inherents]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-offchain]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-session]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-transaction-pool]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-version]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.smallvec]
version = '1.6.1'
@@ -294,46 +294,46 @@
[dependencies.parachain-info]
default-features = false
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-pallet-aura-ext]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-parachain-system]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-primitives-core]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-xcm]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-dmp-queue]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-xcmp-queue]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-primitives-utility]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-primitives-timestamp]
git = 'https://github.com/paritytech/cumulus.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
default-features = false
################################################################################
@@ -341,32 +341,32 @@
[dependencies.polkadot-parachain]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.xcm-builder]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.xcm-executor]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.pallet-xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.15'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.orml-vesting]
git = 'https://github.com/UniqueNetwork/open-runtime-module-library'
-branch = 'polkadot-v0.9.15'
+branch = 'unique-polkadot-v0.9.16'
version = "0.4.1-dev"
default-features = false
@@ -389,21 +389,21 @@
pallet-nonfungible = { default-features = false, path = "../pallets/nonfungible" }
pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.15', package = "pallet-template-transaction-payment", default-features = false, version = '3.0.0' }
+pallet-charge-transaction = { git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16', package = "pallet-template-transaction-payment", default-features = false, version = '3.0.0' }
pallet-evm-migration = { path = '../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../pallets/evm-transaction-payment', default-features = false }
pallet-evm-coder-substrate = { default-features = false, path = "../pallets/evm-coder-substrate" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.15" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.15'
+branch = 'polkadot-v0.9.16'
runtime/src/lib.rsdiffbeforeafterboth1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.78#![cfg_attr(not(feature = "std"), no_std)]9// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.10#![recursion_limit = "1024"]11#![allow(clippy::from_over_into, clippy::identity_op)]12#![allow(clippy::fn_to_numeric_cast_with_truncation)]13// Make the WASM binary available.14#[cfg(feature = "std")]15include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));1617use sp_api::impl_runtime_apis;18use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160};19use sp_runtime::DispatchError;20// #[cfg(any(feature = "std", test))]21// pub use sp_runtime::BuildStorage;2223use sp_runtime::{24 Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,25 traits::{26 AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify, AccountIdConversion,27 },28 transaction_validity::{TransactionSource, TransactionValidity},29 ApplyExtrinsicResult, MultiSignature,30};3132use sp_std::prelude::*;3334#[cfg(feature = "std")]35use sp_version::NativeVersion;36use sp_version::RuntimeVersion;37pub use pallet_transaction_payment::{38 Multiplier, TargetedFeeAdjustment, FeeDetails, RuntimeDispatchInfo,39};40// A few exports that help ease life for downstream crates.41pub use pallet_balances::Call as BalancesCall;42pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};43pub use frame_support::{44 construct_runtime, match_type,45 dispatch::DispatchResult,46 PalletId, parameter_types, StorageValue, ConsensusEngineId,47 traits::{48 Everything, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem,49 LockIdentifier, OnUnbalanced, Randomness, FindAuthor,50 },51 weights::{52 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},53 DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,54 WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients,55 },56};57use up_data_structs::*;58// use pallet_contracts::weights::WeightInfo;59// #[cfg(any(feature = "std", test))]60use frame_system::{61 self as frame_system, EnsureRoot, EnsureSigned,62 limits::{BlockWeights, BlockLength},63};64use sp_arithmetic::{65 traits::{BaseArithmetic, Unsigned},66};67use smallvec::smallvec;68use codec::{Encode, Decode};69use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};70use fp_rpc::TransactionStatus;71use sp_core::crypto::Public;72use sp_runtime::{73 traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf},74 transaction_validity::TransactionValidityError,75};7677// pub use pallet_timestamp::Call as TimestampCall;78pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;7980// Polkadot imports81use pallet_xcm::XcmPassthrough;82use polkadot_parachain::primitives::Sibling;83use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};84use xcm_builder::{85 AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,86 EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,87 ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative,88 SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32,89 SovereignSignedViaLocation, TakeWeightCredit, UsingComponents,90};91use xcm_executor::{Config, XcmExecutor};9293// mod chain_extension;94// use crate::chain_extension::{NFTExtension, Imbalance};9596/// An index to a block.97pub type BlockNumber = u32;9899/// Alias to 512-bit hash when used in the context of a transaction signature on the chain.100pub type Signature = MultiSignature;101102/// Some way of identifying an account on the chain. We intentionally make it equivalent103/// to the public key of our transaction signing scheme.104pub type AccountId = <<Signature as Verify>::Signer as IdentifyAccount>::AccountId;105106pub type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;107108/// The type for looking up accounts. We don't expect more than 4 billion of them, but you109/// never know...110pub type AccountIndex = u32;111112/// Balance of an account.113pub type Balance = u128;114115/// Index of a transaction in the chain.116pub type Index = u32;117118/// A hash of some data used by the chain.119pub type Hash = sp_core::H256;120121/// Digest item type.122pub type DigestItem = generic::DigestItem;123124/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know125/// the specifics of the runtime. They can then be made to be agnostic over specific formats126/// of data like extrinsics, allowing for them to continue syncing the network through upgrades127/// to even the core data structures.128pub mod opaque {129 use super::*;130131 pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic;132133 /// Opaque block type.134 pub type Block = generic::Block<Header, UncheckedExtrinsic>;135136 pub type SessionHandlers = ();137138 impl_opaque_keys! {139 pub struct SessionKeys {140 pub aura: Aura,141 }142 }143}144145/// This runtime version.146pub const VERSION: RuntimeVersion = RuntimeVersion {147 spec_name: create_runtime_str!("opal"),148 impl_name: create_runtime_str!("opal"),149 authoring_version: 1,150 spec_version: 914000,151 impl_version: 1,152 apis: RUNTIME_API_VERSIONS,153 transaction_version: 1,154};155156pub const MILLISECS_PER_BLOCK: u64 = 12000;157158pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK;159160// These time units are defined in number of blocks.161pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber);162pub const HOURS: BlockNumber = MINUTES * 60;163pub const DAYS: BlockNumber = HOURS * 24;164165parameter_types! {166 pub const DefaultSponsoringRateLimit: BlockNumber = 1 * DAYS;167}168169#[derive(codec::Encode, codec::Decode)]170pub enum XCMPMessage<XAccountId, XBalance> {171 /// Transfer tokens to the given account from the Parachain account.172 TransferToken(XAccountId, XBalance),173}174175/// The version information used to identify this runtime when compiled natively.176#[cfg(feature = "std")]177pub fn native_version() -> NativeVersion {178 NativeVersion {179 runtime_version: VERSION,180 can_author_with: Default::default(),181 }182}183184type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;185186pub struct DealWithFees;187impl OnUnbalanced<NegativeImbalance> for DealWithFees {188 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item = NegativeImbalance>) {189 if let Some(fees) = fees_then_tips.next() {190 // for fees, 100% to treasury191 let mut split = fees.ration(100, 0);192 if let Some(tips) = fees_then_tips.next() {193 // for tips, if any, 100% to treasury194 tips.ration_merge_into(100, 0, &mut split);195 }196 Treasury::on_unbalanced(split.0);197 // Author::on_unbalanced(split.1);198 }199 }200}201202/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.203/// This is used to limit the maximal weight of a single extrinsic.204const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10);205/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used206/// by Operational extrinsics.207const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);208/// We allow for 2 seconds of compute with a 6 second average block time.209const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND / 2;210211parameter_types! {212 pub const BlockHashCount: BlockNumber = 2400;213 pub RuntimeBlockLength: BlockLength =214 BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);215 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);216 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;217 pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()218 .base_block(BlockExecutionWeight::get())219 .for_class(DispatchClass::all(), |weights| {220 weights.base_extrinsic = ExtrinsicBaseWeight::get();221 })222 .for_class(DispatchClass::Normal, |weights| {223 weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);224 })225 .for_class(DispatchClass::Operational, |weights| {226 weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);227 // Operational transactions have some extra reserved space, so that they228 // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.229 weights.reserved = Some(230 MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT231 );232 })233 .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)234 .build_or_panic();235 pub const Version: RuntimeVersion = VERSION;236 pub const SS58Prefix: u8 = 42;237}238239parameter_types! {240 pub const ChainId: u64 = 8888;241}242243pub struct FixedFee;244impl FeeCalculator for FixedFee {245 fn min_gas_price() -> U256 {246 // Targeting 0.15 UNQ per transfer247 1_024_947_215_000u64.into()248 }249}250251// Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case252// (contract, which only writes a lot of data),253// approximating on top of our real store write weight254parameter_types! {255 pub const WritesPerSecond: u64 = WEIGHT_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;256 pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;257 pub const WeightPerGas: u64 = WEIGHT_PER_SECOND / GasPerSecond::get();258}259260/// Limiting EVM execution to 50% of block for substrate users and management tasks261/// EVM transaction consumes more weight than substrate's, so we can't rely on them being262/// scheduled fairly263const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);264parameter_types! {265 pub BlockGasLimit: U256 = U256::from(NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightPerGas::get());266}267268pub enum FixedGasWeightMapping {}269impl GasWeightMapping for FixedGasWeightMapping {270 fn gas_to_weight(gas: u64) -> Weight {271 gas.saturating_mul(WeightPerGas::get())272 }273 fn weight_to_gas(weight: Weight) -> u64 {274 weight / WeightPerGas::get()275 }276}277278impl pallet_evm::Config for Runtime {279 type BlockGasLimit = BlockGasLimit;280 type FeeCalculator = FixedFee;281 type GasWeightMapping = FixedGasWeightMapping;282 type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;283 type CallOrigin = EnsureAddressTruncated;284 type WithdrawOrigin = EnsureAddressTruncated;285 type AddressMapping = HashedAddressMapping<Self::Hashing>;286 type PrecompilesType = ();287 type PrecompilesValue = ();288 type Currency = Balances;289 type Event = Event;290 type OnMethodCall = (291 pallet_evm_migration::OnMethodCall<Self>,292 pallet_unique::UniqueErcSupport<Self>,293 pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,294 );295 type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;296 type ChainId = ChainId;297 type Runner = pallet_evm::runner::stack::Runner<Self>;298 type OnChargeTransaction = pallet_evm_transaction_payment::OnChargeTransaction<Self>;299 type TransactionValidityHack = pallet_evm_transaction_payment::TransactionValidityHack<Self>;300 type FindAuthor = EthereumFindAuthor<Aura>;301}302303impl pallet_evm_migration::Config for Runtime {304 type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;305}306307pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);308impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F> {309 fn find_author<'a, I>(digests: I) -> Option<H160>310 where311 I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,312 {313 if let Some(author_index) = F::find_author(digests) {314 let authority_id = Aura::authorities()[author_index as usize].clone();315 return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]));316 }317 None318 }319}320321impl pallet_ethereum::Config for Runtime {322 type Event = Event;323 type StateRoot = pallet_ethereum::IntermediateStateRoot;324}325326impl pallet_randomness_collective_flip::Config for Runtime {}327328impl frame_system::Config for Runtime {329 /// The data to be stored in an account.330 type AccountData = pallet_balances::AccountData<Balance>;331 /// The identifier used to distinguish between accounts.332 type AccountId = AccountId;333 /// The basic call filter to use in dispatchable.334 type BaseCallFilter = Everything;335 /// Maximum number of block number to block hash mappings to keep (oldest pruned first).336 type BlockHashCount = BlockHashCount;337 /// The maximum length of a block (in bytes).338 type BlockLength = RuntimeBlockLength;339 /// The index type for blocks.340 type BlockNumber = BlockNumber;341 /// The weight of the overhead invoked on the block import process, independent of the extrinsics included in that block.342 type BlockWeights = RuntimeBlockWeights;343 /// The aggregated dispatch type that is available for extrinsics.344 type Call = Call;345 /// The weight of database operations that the runtime can invoke.346 type DbWeight = RocksDbWeight;347 /// The ubiquitous event type.348 type Event = Event;349 /// The type for hashing blocks and tries.350 type Hash = Hash;351 /// The hashing algorithm used.352 type Hashing = BlakeTwo256;353 /// The header type.354 type Header = generic::Header<BlockNumber, BlakeTwo256>;355 /// The index type for storing how many extrinsics an account has signed.356 type Index = Index;357 /// The lookup mechanism to get account ID from whatever is passed in dispatchers.358 type Lookup = AccountIdLookup<AccountId, ()>;359 /// What to do if an account is fully reaped from the system.360 type OnKilledAccount = ();361 /// What to do if a new account is created.362 type OnNewAccount = ();363 type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;364 /// The ubiquitous origin type.365 type Origin = Origin;366 /// This type is being generated by `construct_runtime!`.367 type PalletInfo = PalletInfo;368 /// This is used as an identifier of the chain. 42 is the generic substrate prefix.369 type SS58Prefix = SS58Prefix;370 /// Weight information for the extrinsics of this pallet.371 type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;372 /// Version of the runtime.373 type Version = Version;374}375376parameter_types! {377 pub const MinimumPeriod: u64 = SLOT_DURATION / 2;378}379380impl pallet_timestamp::Config for Runtime {381 /// A timestamp: milliseconds since the unix epoch.382 type Moment = u64;383 type OnTimestampSet = ();384 type MinimumPeriod = MinimumPeriod;385 type WeightInfo = ();386}387388parameter_types! {389 // pub const ExistentialDeposit: u128 = 500;390 pub const ExistentialDeposit: u128 = 0;391 pub const MaxLocks: u32 = 50;392}393394impl pallet_balances::Config for Runtime {395 type MaxLocks = MaxLocks;396 type MaxReserves = ();397 type ReserveIdentifier = [u8; 8];398 /// The type for recording an account's balance.399 type Balance = Balance;400 /// The ubiquitous event type.401 type Event = Event;402 type DustRemoval = Treasury;403 type ExistentialDeposit = ExistentialDeposit;404 type AccountStore = System;405 type WeightInfo = pallet_balances::weights::SubstrateWeight<Self>;406}407408pub const MICROUNIQUE: Balance = 1_000_000_000_000;409pub const MILLIUNIQUE: Balance = 1_000 * MICROUNIQUE;410pub const CENTIUNIQUE: Balance = 10 * MILLIUNIQUE;411pub const UNIQUE: Balance = 100 * CENTIUNIQUE;412413pub const fn deposit(items: u32, bytes: u32) -> Balance {414 items as Balance * 15 * CENTIUNIQUE + (bytes as Balance) * 6 * CENTIUNIQUE415}416417/*418parameter_types! {419 pub TombstoneDeposit: Balance = deposit(420 1,421 sp_std::mem::size_of::<pallet_contracts::Pallet<Runtime>> as u32,422 );423 pub DepositPerContract: Balance = TombstoneDeposit::get();424 pub const DepositPerStorageByte: Balance = deposit(0, 1);425 pub const DepositPerStorageItem: Balance = deposit(1, 0);426 pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS);427 pub const SurchargeReward: Balance = 150 * MILLIUNIQUE;428 pub const SignedClaimHandicap: u32 = 2;429 pub const MaxDepth: u32 = 32;430 pub const MaxValueSize: u32 = 16 * 1024;431 pub const MaxCodeSize: u32 = 1024 * 1024 * 25; // 25 Mb432 // The lazy deletion runs inside on_initialize.433 pub DeletionWeightLimit: Weight = AVERAGE_ON_INITIALIZE_RATIO *434 RuntimeBlockWeights::get().max_block;435 // The weight needed for decoding the queue should be less or equal than a fifth436 // of the overall weight dedicated to the lazy deletion.437 pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / (438 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(1) -439 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(0)440 )) / 5) as u32;441 pub Schedule: pallet_contracts::Schedule<Runtime> = Default::default();442}443444impl pallet_contracts::Config for Runtime {445 type Time = Timestamp;446 type Randomness = RandomnessCollectiveFlip;447 type Currency = Balances;448 type Event = Event;449 type RentPayment = ();450 type SignedClaimHandicap = SignedClaimHandicap;451 type TombstoneDeposit = TombstoneDeposit;452 type DepositPerContract = DepositPerContract;453 type DepositPerStorageByte = DepositPerStorageByte;454 type DepositPerStorageItem = DepositPerStorageItem;455 type RentFraction = RentFraction;456 type SurchargeReward = SurchargeReward;457 type WeightPrice = pallet_transaction_payment::Pallet<Self>;458 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;459 type ChainExtension = NFTExtension;460 type DeletionQueueDepth = DeletionQueueDepth;461 type DeletionWeightLimit = DeletionWeightLimit;462 type Schedule = Schedule;463 type CallStack = [pallet_contracts::Frame<Self>; 31];464}465*/466467parameter_types! {468 pub const TransactionByteFee: Balance = 501 * MICROUNIQUE; // Targeting 0.1 Unique per NFT transfer469 /// This value increases the priority of `Operational` transactions by adding470 /// a "virtual tip" that's equal to the `OperationalFeeMultiplier * final_fee`.471 pub const OperationalFeeMultiplier: u8 = 5;472}473474/// Linear implementor of `WeightToFeePolynomial`475pub struct LinearFee<T>(sp_std::marker::PhantomData<T>);476477impl<T> WeightToFeePolynomial for LinearFee<T>478where479 T: BaseArithmetic + From<u32> + Copy + Unsigned,480{481 type Balance = T;482483 fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {484 smallvec!(WeightToFeeCoefficient {485 // Targeting 0.1 Unique per NFT transfer486 coeff_integer: 142_688_000u32.into(),487 coeff_frac: Perbill::zero(),488 negative: false,489 degree: 1,490 })491 }492}493494impl pallet_transaction_payment::Config for Runtime {495 type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, DealWithFees>;496 type TransactionByteFee = TransactionByteFee;497 type OperationalFeeMultiplier = OperationalFeeMultiplier;498 type WeightToFee = LinearFee<Balance>;499 type FeeMultiplierUpdate = ();500}501502parameter_types! {503 pub const ProposalBond: Permill = Permill::from_percent(5);504 pub const ProposalBondMinimum: Balance = 1 * UNIQUE;505 pub const SpendPeriod: BlockNumber = 5 * MINUTES;506 pub const Burn: Permill = Permill::from_percent(0);507 pub const TipCountdown: BlockNumber = 1 * DAYS;508 pub const TipFindersFee: Percent = Percent::from_percent(20);509 pub const TipReportDepositBase: Balance = 1 * UNIQUE;510 pub const DataDepositPerByte: Balance = 1 * CENTIUNIQUE;511 pub const BountyDepositBase: Balance = 1 * UNIQUE;512 pub const BountyDepositPayoutDelay: BlockNumber = 1 * DAYS;513 pub const TreasuryModuleId: PalletId = PalletId(*b"py/trsry");514 pub const BountyUpdatePeriod: BlockNumber = 14 * DAYS;515 pub const MaximumReasonLength: u32 = 16384;516 pub const BountyCuratorDeposit: Permill = Permill::from_percent(50);517 pub const BountyValueMinimum: Balance = 5 * UNIQUE;518 pub const MaxApprovals: u32 = 100;519}520521impl pallet_treasury::Config for Runtime {522 type PalletId = TreasuryModuleId;523 type Currency = Balances;524 type ApproveOrigin = EnsureRoot<AccountId>;525 type RejectOrigin = EnsureRoot<AccountId>;526 type Event = Event;527 type OnSlash = ();528 type ProposalBond = ProposalBond;529 type ProposalBondMinimum = ProposalBondMinimum;530 type SpendPeriod = SpendPeriod;531 type Burn = Burn;532 type BurnDestination = ();533 type SpendFunds = ();534 type WeightInfo = pallet_treasury::weights::SubstrateWeight<Self>;535 type MaxApprovals = MaxApprovals;536}537538impl pallet_sudo::Config for Runtime {539 type Event = Event;540 type Call = Call;541}542543pub struct RelayChainBlockNumberProvider<T>(sp_std::marker::PhantomData<T>);544545impl<T: cumulus_pallet_parachain_system::Config> BlockNumberProvider546 for RelayChainBlockNumberProvider<T>547{548 type BlockNumber = BlockNumber;549550 fn current_block_number() -> Self::BlockNumber {551 cumulus_pallet_parachain_system::Pallet::<T>::validation_data()552 .map(|d| d.relay_parent_number)553 .unwrap_or_default()554 }555}556557parameter_types! {558 pub const MinVestedTransfer: Balance = 10 * UNIQUE;559 pub const MaxVestingSchedules: u32 = 28;560}561562impl orml_vesting::Config for Runtime {563 type Event = Event;564 type Currency = pallet_balances::Pallet<Runtime>;565 type MinVestedTransfer = MinVestedTransfer;566 type VestedTransferOrigin = EnsureSigned<AccountId>;567 type WeightInfo = ();568 type MaxVestingSchedules = MaxVestingSchedules;569 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;570}571572parameter_types! {573 pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;574 pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;575}576577impl cumulus_pallet_parachain_system::Config for Runtime {578 type Event = Event;579 type OnValidationData = ();580 type SelfParaId = parachain_info::Pallet<Self>;581 // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<582 // MaxDownwardMessageWeight,583 // XcmExecutor<XcmConfig>,584 // Call,585 // >;586 type OutboundXcmpMessageSource = XcmpQueue;587 type DmpMessageHandler = DmpQueue;588 type ReservedDmpWeight = ReservedDmpWeight;589 type ReservedXcmpWeight = ReservedXcmpWeight;590 type XcmpMessageHandler = XcmpQueue;591}592593impl parachain_info::Config for Runtime {}594595impl cumulus_pallet_aura_ext::Config for Runtime {}596597parameter_types! {598 pub const RelayLocation: MultiLocation = MultiLocation::parent();599 pub const RelayNetwork: NetworkId = NetworkId::Polkadot;600 pub RelayOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into();601 pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();602}603604/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used605/// when determining ownership of accounts for asset transacting and when attempting to use XCM606/// `Transact` in order to determine the dispatch Origin.607pub type LocationToAccountId = (608 // The parent (Relay-chain) origin converts to the default `AccountId`.609 ParentIsDefault<AccountId>,610 // Sibling parachain origins convert to AccountId via the `ParaId::into`.611 SiblingParachainConvertsVia<Sibling, AccountId>,612 // Straight up local `AccountId32` origins just alias directly to `AccountId`.613 AccountId32Aliases<RelayNetwork, AccountId>,614);615616/// Means for transacting assets on this chain.617pub type LocalAssetTransactor = CurrencyAdapter<618 // Use this currency:619 Balances,620 // Use this currency when it is a fungible asset matching the given location or name:621 IsConcrete<RelayLocation>,622 // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:623 LocationToAccountId,624 // Our chain's account ID type (we can't get away without mentioning it explicitly):625 AccountId,626 // We don't track any teleports.627 (),628>;629630/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,631/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can632/// biases the kind of local `Origin` it will become.633pub type XcmOriginToTransactDispatchOrigin = (634 // Sovereign account converter; this attempts to derive an `AccountId` from the origin location635 // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for636 // foreign chains who want to have a local sovereign account on this chain which they control.637 SovereignSignedViaLocation<LocationToAccountId, Origin>,638 // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when639 // recognised.640 RelayChainAsNative<RelayOrigin, Origin>,641 // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when642 // recognised.643 SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>,644 // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a645 // transaction from the Root origin.646 ParentAsSuperuser<Origin>,647 // Native signed account converter; this just converts an `AccountId32` origin into a normal648 // `Origin::Signed` origin of the same 32-byte value.649 SignedAccountId32AsNative<RelayNetwork, Origin>,650 // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.651 XcmPassthrough<Origin>,652);653654parameter_types! {655 // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.656 pub UnitWeightCost: Weight = 1_000_000;657 // 1200 UNIQUEs buy 1 second of weight.658 pub const WeightPrice: (MultiLocation, u128) = (MultiLocation::parent(), 1_200 * UNIQUE);659 pub const MaxInstructions: u32 = 100;660 pub const MaxAuthorities: u32 = 100_000;661}662663match_type! {664 pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {665 MultiLocation { parents: 1, interior: Here } |666 MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Unit, .. }) }667 };668}669670pub type Barrier = (671 TakeWeightCredit,672 AllowTopLevelPaidExecutionFrom<Everything>,673 AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,674 // ^^^ Parent & its unit plurality gets free execution675);676677pub struct XcmConfig;678impl Config for XcmConfig {679 type Call = Call;680 type XcmSender = XcmRouter;681 // How to withdraw and deposit an asset.682 type AssetTransactor = LocalAssetTransactor;683 type OriginConverter = XcmOriginToTransactDispatchOrigin;684 type IsReserve = NativeAsset;685 type IsTeleporter = (); // Teleportation is disabled686 type LocationInverter = LocationInverter<Ancestry>;687 type Barrier = Barrier;688 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;689 type Trader = UsingComponents<IdentityFee<Balance>, RelayLocation, AccountId, Balances, ()>;690 type ResponseHandler = (); // Don't handle responses for now.691 type SubscriptionService = PolkadotXcm;692693 type AssetTrap = PolkadotXcm;694 type AssetClaims = PolkadotXcm;695}696697// parameter_types! {698// pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10;699// }700701/// No local origins on this chain are allowed to dispatch XCM sends/executions.702pub type LocalOriginToLocation = (SignedToAccountId32<Origin, AccountId, RelayNetwork>,);703704/// The means for routing XCM messages which are not for local execution into the right message705/// queues.706pub type XcmRouter = (707 // Two routers - use UMP to communicate with the relay chain:708 cumulus_primitives_utility::ParentAsUmp<ParachainSystem, ()>,709 // ..and XCMP to communicate with the sibling chains.710 XcmpQueue,711);712713impl pallet_evm_coder_substrate::Config for Runtime {714 type EthereumTransactionSender = pallet_ethereum::Pallet<Self>;715 type GasWeightMapping = FixedGasWeightMapping;716}717718impl pallet_xcm::Config for Runtime {719 type Event = Event;720 type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;721 type XcmRouter = XcmRouter;722 type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;723 type XcmExecuteFilter = Everything;724 type XcmExecutor = XcmExecutor<XcmConfig>;725 type XcmTeleportFilter = Everything;726 type XcmReserveTransferFilter = Everything;727 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;728 type LocationInverter = LocationInverter<Ancestry>;729 type Origin = Origin;730 type Call = Call;731 const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;732 type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;733}734735impl cumulus_pallet_xcm::Config for Runtime {736 type Event = Event;737 type XcmExecutor = XcmExecutor<XcmConfig>;738}739740impl cumulus_pallet_xcmp_queue::Config for Runtime {741 type Event = Event;742 type XcmExecutor = XcmExecutor<XcmConfig>;743 type ChannelInfo = ParachainSystem;744 type VersionWrapper = ();745}746747impl cumulus_pallet_dmp_queue::Config for Runtime {748 type Event = Event;749 type XcmExecutor = XcmExecutor<XcmConfig>;750 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;751}752753impl pallet_aura::Config for Runtime {754 type AuthorityId = AuraId;755 type DisabledValidators = ();756 type MaxAuthorities = MaxAuthorities;757}758759parameter_types! {760 pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account();761 pub const CollectionCreationPrice: Balance = 100 * UNIQUE;762}763764impl pallet_common::Config for Runtime {765 type Event = Event;766 type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;767 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;768 type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;769770 type Currency = Balances;771 type CollectionCreationPrice = CollectionCreationPrice;772 type TreasuryAccountId = TreasuryAccountId;773}774775impl pallet_fungible::Config for Runtime {776 type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;777}778impl pallet_refungible::Config for Runtime {779 type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;780}781impl pallet_nonfungible::Config for Runtime {782 type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;783}784785impl pallet_unique::Config for Runtime {786 type Event = Event;787 type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;788}789790parameter_types! {791 pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied792}793794/// Used for the pallet inflation795impl pallet_inflation::Config for Runtime {796 type Currency = Balances;797 type TreasuryAccountId = TreasuryAccountId;798 type InflationBlockInterval = InflationBlockInterval;799 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;800}801802// parameter_types! {803// pub MaximumSchedulerWeight: Weight = Perbill::from_percent(50) *804// RuntimeBlockWeights::get().max_block;805// pub const MaxScheduledPerBlock: u32 = 50;806// }807808type EvmSponsorshipHandler = (809 pallet_unique::UniqueEthSponsorshipHandler<Runtime>,810 pallet_evm_contract_helpers::HelpersContractSponsoring<Runtime>,811);812type SponsorshipHandler = (813 pallet_unique::UniqueSponsorshipHandler<Runtime>,814 //pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,815 pallet_evm_transaction_payment::BridgeSponsorshipHandler<Runtime>,816);817818// impl pallet_unq_scheduler::Config for Runtime {819// type Event = Event;820// type Origin = Origin;821// type PalletsOrigin = OriginCaller;822// type Call = Call;823// type MaximumWeight = MaximumSchedulerWeight;824// type ScheduleOrigin = EnsureSigned<AccountId>;825// type MaxScheduledPerBlock = MaxScheduledPerBlock;826// type SponsorshipHandler = SponsorshipHandler;827// type WeightInfo = ();828// }829830impl pallet_evm_transaction_payment::Config for Runtime {831 type EvmSponsorshipHandler = EvmSponsorshipHandler;832 type Currency = Balances;833 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;834 type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;835}836837impl pallet_charge_transaction::Config for Runtime {838 type SponsorshipHandler = SponsorshipHandler;839}840841// impl pallet_contract_helpers::Config for Runtime {842// type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;843// }844845parameter_types! {846 // 0x842899ECF380553E8a4de75bF534cdf6fBF64049847 pub const HelpersContractAddress: H160 = H160([848 0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,849 ]);850}851852impl pallet_evm_contract_helpers::Config for Runtime {853 type ContractAddress = HelpersContractAddress;854 type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;855}856857construct_runtime!(858 pub enum Runtime where859 Block = Block,860 NodeBlock = opaque::Block,861 UncheckedExtrinsic = UncheckedExtrinsic862 {863 ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,864 ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,865866 Aura: pallet_aura::{Pallet, Config<T>} = 22,867 AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,868869 Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,870 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,871 Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,872 TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 33,873 Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,874 Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,875 System: frame_system::{Pallet, Call, Storage, Config, Event<T>} = 36,876 Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,877 // Vesting: pallet_vesting::{Pallet, Call, Config<T>, Storage, Event<T>} = 37,878 // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,879880 // XCM helpers.881 XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,882 PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,883 CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,884 DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,885886 // Unique Pallets887 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,888 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,889 // Scheduler: pallet_unq_scheduler::{Pallet, Call, Storage, Event<T>} = 62,890 // free = 63891 Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,892 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,893 Common: pallet_common::{Pallet, Storage, Event<T>} = 66,894 Fungible: pallet_fungible::{Pallet, Storage} = 67,895 Refungible: pallet_refungible::{Pallet, Storage} = 68,896 Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,897898 // Frontier899 EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,900 Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,901902 EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,903 EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage} = 151,904 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,905 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,906 }907);908909pub struct TransactionConverter;910911impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {912 fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic {913 UncheckedExtrinsic::new_unsigned(914 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),915 )916 }917}918919impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConverter {920 fn convert_transaction(921 &self,922 transaction: pallet_ethereum::Transaction,923 ) -> opaque::UncheckedExtrinsic {924 let extrinsic = UncheckedExtrinsic::new_unsigned(925 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),926 );927 let encoded = extrinsic.encode();928 opaque::UncheckedExtrinsic::decode(&mut &encoded[..])929 .expect("Encoded extrinsic is always valid")930 }931}932933/// The address format for describing accounts.934pub type Address = sp_runtime::MultiAddress<AccountId, ()>;935/// Block header type as expected by this runtime.936pub type Header = generic::Header<BlockNumber, BlakeTwo256>;937/// Block type as expected by this runtime.938pub type Block = generic::Block<Header, UncheckedExtrinsic>;939/// A Block signed with a Justification940pub type SignedBlock = generic::SignedBlock<Block>;941/// BlockId type as expected by this runtime.942pub type BlockId = generic::BlockId<Block>;943/// The SignedExtension to the basic transaction logic.944pub type SignedExtra = (945 frame_system::CheckSpecVersion<Runtime>,946 // system::CheckTxVersion<Runtime>,947 frame_system::CheckGenesis<Runtime>,948 frame_system::CheckEra<Runtime>,949 frame_system::CheckNonce<Runtime>,950 frame_system::CheckWeight<Runtime>,951 pallet_charge_transaction::ChargeTransactionPayment<Runtime>,952 //pallet_contract_helpers::ContractHelpersExtension<Runtime>,953);954/// Unchecked extrinsic type as expected by this runtime.955pub type UncheckedExtrinsic =956 fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;957/// Extrinsic type that has already been checked.958pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;959/// Executive: handles dispatch to the various modules.960pub type Executive = frame_executive::Executive<961 Runtime,962 Block,963 frame_system::ChainContext<Runtime>,964 Runtime,965 AllPalletsWithSystem,966>;967968impl_opaque_keys! {969 pub struct SessionKeys {970 pub aura: Aura,971 }972}973974impl fp_self_contained::SelfContainedCall for Call {975 type SignedInfo = H160;976977 fn is_self_contained(&self) -> bool {978 match self {979 Call::Ethereum(call) => call.is_self_contained(),980 _ => false,981 }982 }983984 fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {985 match self {986 Call::Ethereum(call) => call.check_self_contained(),987 _ => None,988 }989 }990991 fn validate_self_contained(&self, info: &Self::SignedInfo) -> Option<TransactionValidity> {992 match self {993 Call::Ethereum(call) => call.validate_self_contained(info),994 _ => None,995 }996 }997998 fn pre_dispatch_self_contained(999 &self,1000 info: &Self::SignedInfo,1001 ) -> Option<Result<(), TransactionValidityError>> {1002 match self {1003 Call::Ethereum(call) => call.pre_dispatch_self_contained(info),1004 _ => None,1005 }1006 }10071008 fn apply_self_contained(1009 self,1010 info: Self::SignedInfo,1011 ) -> Option<sp_runtime::DispatchResultWithInfo<PostDispatchInfoOf<Self>>> {1012 match self {1013 call @ Call::Ethereum(pallet_ethereum::Call::transact { .. }) => Some(call.dispatch(1014 Origin::from(pallet_ethereum::RawOrigin::EthereumTransaction(info)),1015 )),1016 _ => None,1017 }1018 }1019}10201021macro_rules! dispatch_unique_runtime {1022 ($collection:ident.$method:ident($($name:ident),*)) => {{1023 use pallet_unique::dispatch::Dispatched;10241025 let collection = Dispatched::dispatch(<pallet_common::CollectionHandle<Runtime>>::try_get($collection)?);1026 let dispatch = collection.as_dyn();10271028 Ok(dispatch.$method($($name),*))1029 }};1030}1031impl_runtime_apis! {1032 impl up_rpc::UniqueApi<Block, CrossAccountId, AccountId>1033 for Runtime1034 {1035 fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>, DispatchError> {1036 dispatch_unique_runtime!(collection.account_tokens(account))1037 }1038 fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool, DispatchError> {1039 dispatch_unique_runtime!(collection.token_exists(token))1040 }10411042 fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId, DispatchError> {1043 dispatch_unique_runtime!(collection.token_owner(token))1044 }1045 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {1046 dispatch_unique_runtime!(collection.const_metadata(token))1047 }1048 fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {1049 dispatch_unique_runtime!(collection.variable_metadata(token))1050 }10511052 fn collection_tokens(collection: CollectionId) -> Result<u32, DispatchError> {1053 dispatch_unique_runtime!(collection.collection_tokens())1054 }1055 fn account_balance(collection: CollectionId, account: CrossAccountId) -> Result<u32, DispatchError> {1056 dispatch_unique_runtime!(collection.account_balance(account))1057 }1058 fn balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<u128, DispatchError> {1059 dispatch_unique_runtime!(collection.balance(account, token))1060 }1061 fn allowance(1062 collection: CollectionId,1063 sender: CrossAccountId,1064 spender: CrossAccountId,1065 token: TokenId,1066 ) -> Result<u128, DispatchError> {1067 dispatch_unique_runtime!(collection.allowance(sender, spender, token))1068 }10691070 fn eth_contract_code(account: H160) -> Option<Vec<u8>> {1071 <pallet_unique::UniqueErcSupport<Runtime>>::get_code(&account)1072 .or_else(|| <pallet_evm_migration::OnMethodCall<Runtime>>::get_code(&account))1073 .or_else(|| <pallet_evm_contract_helpers::HelpersOnMethodCall<Self>>::get_code(&account))1074 }1075 fn adminlist(collection: CollectionId) -> Result<Vec<CrossAccountId>, DispatchError> {1076 Ok(<pallet_common::Pallet<Runtime>>::adminlist(collection))1077 }1078 fn allowlist(collection: CollectionId) -> Result<Vec<CrossAccountId>, DispatchError> {1079 Ok(<pallet_common::Pallet<Runtime>>::allowlist(collection))1080 }1081 fn allowed(collection: CollectionId, user: CrossAccountId) -> Result<bool, DispatchError> {1082 Ok(<pallet_common::Pallet<Runtime>>::allowed(collection, user))1083 }1084 fn last_token_id(collection: CollectionId) -> Result<TokenId, DispatchError> {1085 dispatch_unique_runtime!(collection.last_token_id())1086 }1087 fn collection_by_id(collection: CollectionId) -> Result<Option<Collection<AccountId>>, DispatchError> {1088 Ok(<pallet_common::CollectionById<Runtime>>::get(collection))1089 }1090 fn collection_stats() -> Result<CollectionStats, DispatchError> {1091 Ok(<pallet_common::Pallet<Runtime>>::collection_stats())1092 }1093 }10941095 impl sp_api::Core<Block> for Runtime {1096 fn version() -> RuntimeVersion {1097 VERSION1098 }10991100 fn execute_block(block: Block) {1101 Executive::execute_block(block)1102 }11031104 fn initialize_block(header: &<Block as BlockT>::Header) {1105 Executive::initialize_block(header)1106 }1107 }11081109 impl sp_api::Metadata<Block> for Runtime {1110 fn metadata() -> OpaqueMetadata {1111 OpaqueMetadata::new(Runtime::metadata().into())1112 }1113 }11141115 impl sp_block_builder::BlockBuilder<Block> for Runtime {1116 fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {1117 Executive::apply_extrinsic(extrinsic)1118 }11191120 fn finalize_block() -> <Block as BlockT>::Header {1121 Executive::finalize_block()1122 }11231124 fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {1125 data.create_extrinsics()1126 }11271128 fn check_inherents(1129 block: Block,1130 data: sp_inherents::InherentData,1131 ) -> sp_inherents::CheckInherentsResult {1132 data.check_extrinsics(&block)1133 }11341135 // fn random_seed() -> <Block as BlockT>::Hash {1136 // RandomnessCollectiveFlip::random_seed().01137 // }1138 }11391140 impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {1141 fn validate_transaction(1142 source: TransactionSource,1143 tx: <Block as BlockT>::Extrinsic,1144 hash: <Block as BlockT>::Hash,1145 ) -> TransactionValidity {1146 Executive::validate_transaction(source, tx, hash)1147 }1148 }11491150 impl sp_offchain::OffchainWorkerApi<Block> for Runtime {1151 fn offchain_worker(header: &<Block as BlockT>::Header) {1152 Executive::offchain_worker(header)1153 }1154 }11551156 impl fp_rpc::EthereumRuntimeRPCApi<Block> for Runtime {1157 fn chain_id() -> u64 {1158 <Runtime as pallet_evm::Config>::ChainId::get()1159 }11601161 fn account_basic(address: H160) -> EVMAccount {1162 EVM::account_basic(&address)1163 }11641165 fn gas_price() -> U256 {1166 <Runtime as pallet_evm::Config>::FeeCalculator::min_gas_price()1167 }11681169 fn account_code_at(address: H160) -> Vec<u8> {1170 EVM::account_codes(address)1171 }11721173 fn author() -> H160 {1174 <pallet_evm::Pallet<Runtime>>::find_author()1175 }11761177 fn storage_at(address: H160, index: U256) -> H256 {1178 let mut tmp = [0u8; 32];1179 index.to_big_endian(&mut tmp);1180 EVM::account_storages(address, H256::from_slice(&tmp[..]))1181 }11821183 #[allow(clippy::redundant_closure)]1184 fn call(1185 from: H160,1186 to: H160,1187 data: Vec<u8>,1188 value: U256,1189 gas_limit: U256,1190 max_fee_per_gas: Option<U256>,1191 max_priority_fee_per_gas: Option<U256>,1192 nonce: Option<U256>,1193 estimate: bool,1194 access_list: Option<Vec<(H160, Vec<H256>)>>,1195 ) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {1196 let config = if estimate {1197 let mut config = <Runtime as pallet_evm::Config>::config().clone();1198 config.estimate = true;1199 Some(config)1200 } else {1201 None1202 };12031204 <Runtime as pallet_evm::Config>::Runner::call(1205 from,1206 to,1207 data,1208 value,1209 gas_limit.low_u64(),1210 max_fee_per_gas,1211 max_priority_fee_per_gas,1212 nonce,1213 access_list.unwrap_or_default(),1214 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1215 ).map_err(|err| err.into())1216 }12171218 #[allow(clippy::redundant_closure)]1219 fn create(1220 from: H160,1221 data: Vec<u8>,1222 value: U256,1223 gas_limit: U256,1224 max_fee_per_gas: Option<U256>,1225 max_priority_fee_per_gas: Option<U256>,1226 nonce: Option<U256>,1227 estimate: bool,1228 access_list: Option<Vec<(H160, Vec<H256>)>>,1229 ) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {1230 let config = if estimate {1231 let mut config = <Runtime as pallet_evm::Config>::config().clone();1232 config.estimate = true;1233 Some(config)1234 } else {1235 None1236 };12371238 <Runtime as pallet_evm::Config>::Runner::create(1239 from,1240 data,1241 value,1242 gas_limit.low_u64(),1243 max_fee_per_gas,1244 max_priority_fee_per_gas,1245 nonce,1246 access_list.unwrap_or_default(),1247 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1248 ).map_err(|err| err.into())1249 }12501251 fn current_transaction_statuses() -> Option<Vec<TransactionStatus>> {1252 Ethereum::current_transaction_statuses()1253 }12541255 fn current_block() -> Option<pallet_ethereum::Block> {1256 Ethereum::current_block()1257 }12581259 fn current_receipts() -> Option<Vec<pallet_ethereum::Receipt>> {1260 Ethereum::current_receipts()1261 }12621263 fn current_all() -> (1264 Option<pallet_ethereum::Block>,1265 Option<Vec<pallet_ethereum::Receipt>>,1266 Option<Vec<TransactionStatus>>1267 ) {1268 (1269 Ethereum::current_block(),1270 Ethereum::current_receipts(),1271 Ethereum::current_transaction_statuses()1272 )1273 }12741275 fn extrinsic_filter(xts: Vec<<Block as sp_api::BlockT>::Extrinsic>) -> Vec<pallet_ethereum::Transaction> {1276 xts.into_iter().filter_map(|xt| match xt.0.function {1277 Call::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction),1278 _ => None1279 }).collect()1280 }12811282 fn elasticity() -> Option<Permill> {1283 None1284 }1285 }12861287 impl sp_session::SessionKeys<Block> for Runtime {1288 fn decode_session_keys(1289 encoded: Vec<u8>,1290 ) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {1291 SessionKeys::decode_into_raw_public_keys(&encoded)1292 }12931294 fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {1295 SessionKeys::generate(seed)1296 }1297 }12981299 impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {1300 fn slot_duration() -> sp_consensus_aura::SlotDuration {1301 sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())1302 }13031304 fn authorities() -> Vec<AuraId> {1305 Aura::authorities().to_vec()1306 }1307 }13081309 impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {1310 fn collect_collation_info() -> cumulus_primitives_core::CollationInfo {1311 ParachainSystem::collect_collation_info()1312 }1313 }13141315 impl frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Index> for Runtime {1316 fn account_nonce(account: AccountId) -> Index {1317 System::account_nonce(account)1318 }1319 }13201321 impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance> for Runtime {1322 fn query_info(uxt: <Block as BlockT>::Extrinsic, len: u32) -> RuntimeDispatchInfo<Balance> {1323 TransactionPayment::query_info(uxt, len)1324 }1325 fn query_fee_details(uxt: <Block as BlockT>::Extrinsic, len: u32) -> FeeDetails<Balance> {1326 TransactionPayment::query_fee_details(uxt, len)1327 }1328 }13291330 /*1331 impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>1332 for Runtime1333 {1334 fn call(1335 origin: AccountId,1336 dest: AccountId,1337 value: Balance,1338 gas_limit: u64,1339 input_data: Vec<u8>,1340 ) -> pallet_contracts_primitives::ContractExecResult {1341 Contracts::bare_call(origin, dest, value, gas_limit, input_data, false)1342 }13431344 fn instantiate(1345 origin: AccountId,1346 endowment: Balance,1347 gas_limit: u64,1348 code: pallet_contracts_primitives::Code<Hash>,1349 data: Vec<u8>,1350 salt: Vec<u8>,1351 ) -> pallet_contracts_primitives::ContractInstantiateResult<AccountId, BlockNumber>1352 {1353 Contracts::bare_instantiate(origin, endowment, gas_limit, code, data, salt, true, false)1354 }13551356 fn get_storage(1357 address: AccountId,1358 key: [u8; 32],1359 ) -> pallet_contracts_primitives::GetStorageResult {1360 Contracts::get_storage(address, key)1361 }13621363 fn rent_projection(1364 address: AccountId,1365 ) -> pallet_contracts_primitives::RentProjectionResult<BlockNumber> {1366 Contracts::rent_projection(address)1367 }1368 }1369 */13701371 #[cfg(feature = "runtime-benchmarks")]1372 impl frame_benchmarking::Benchmark<Block> for Runtime {1373 fn benchmark_metadata(extra: bool) -> (1374 Vec<frame_benchmarking::BenchmarkList>,1375 Vec<frame_support::traits::StorageInfo>,1376 ) {1377 use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};1378 use frame_support::traits::StorageInfoTrait;13791380 let mut list = Vec::<BenchmarkList>::new();13811382 list_benchmark!(list, extra, pallet_evm_migration, EvmMigration);1383 list_benchmark!(list, extra, pallet_unique, Unique);1384 list_benchmark!(list, extra, pallet_inflation, Inflation);1385 list_benchmark!(list, extra, pallet_fungible, Fungible);1386 list_benchmark!(list, extra, pallet_refungible, Refungible);1387 list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);1388 // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);13891390 let storage_info = AllPalletsWithSystem::storage_info();13911392 return (list, storage_info)1393 }13941395 fn dispatch_benchmark(1396 config: frame_benchmarking::BenchmarkConfig1397 ) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {1398 use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey};13991400 let allowlist: Vec<TrackedStorageKey> = vec![1401 // Block Number1402 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),1403 // Total Issuance1404 hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),1405 // Execution Phase1406 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),1407 // Event Count1408 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),1409 // System Events1410 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),1411 ];14121413 let mut batches = Vec::<BenchmarkBatch>::new();1414 let params = (&config, &allowlist);14151416 add_benchmark!(params, batches, pallet_evm_migration, EvmMigration);1417 add_benchmark!(params, batches, pallet_unique, Unique);1418 add_benchmark!(params, batches, pallet_inflation, Inflation);1419 add_benchmark!(params, batches, pallet_fungible, Fungible);1420 add_benchmark!(params, batches, pallet_refungible, Refungible);1421 add_benchmark!(params, batches, pallet_nonfungible, Nonfungible);1422 // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);14231424 if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }1425 Ok(batches)1426 }1427 }1428}14291430struct CheckInherents;14311432impl cumulus_pallet_parachain_system::CheckInherents<Block> for CheckInherents {1433 fn check_inherents(1434 block: &Block,1435 relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,1436 ) -> sp_inherents::CheckInherentsResult {1437 let relay_chain_slot = relay_state_proof1438 .read_slot()1439 .expect("Could not read the relay chain slot from the proof");14401441 let inherent_data =1442 cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(1443 relay_chain_slot,1444 sp_std::time::Duration::from_secs(6),1445 )1446 .create_inherent_data()1447 .expect("Could not create the timestamp inherent data");14481449 inherent_data.check_extrinsics(block)1450 }1451}14521453cumulus_pallet_parachain_system::register_validate_block!(1454 Runtime = Runtime,1455 BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,1456 CheckInherents = CheckInherents,1457);1//2// This file is subject to the terms and conditions defined in3// file 'LICENSE', which is part of this source code package.4//56//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.78#![cfg_attr(not(feature = "std"), no_std)]9// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.10#![recursion_limit = "1024"]11#![allow(clippy::from_over_into, clippy::identity_op)]12#![allow(clippy::fn_to_numeric_cast_with_truncation)]13// Make the WASM binary available.14#[cfg(feature = "std")]15include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));1617use sp_api::impl_runtime_apis;18use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160};19use sp_runtime::DispatchError;20// #[cfg(any(feature = "std", test))]21// pub use sp_runtime::BuildStorage;2223use sp_runtime::{24 Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,25 traits::{26 AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify, AccountIdConversion,27 },28 transaction_validity::{TransactionSource, TransactionValidity},29 ApplyExtrinsicResult, MultiSignature, RuntimeAppPublic,30};3132use sp_std::prelude::*;3334#[cfg(feature = "std")]35use sp_version::NativeVersion;36use sp_version::RuntimeVersion;37pub use pallet_transaction_payment::{38 Multiplier, TargetedFeeAdjustment, FeeDetails, RuntimeDispatchInfo,39};40// A few exports that help ease life for downstream crates.41pub use pallet_balances::Call as BalancesCall;42pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};43pub use frame_support::{44 construct_runtime, match_type,45 dispatch::DispatchResult,46 PalletId, parameter_types, StorageValue, ConsensusEngineId,47 traits::{48 Everything, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem,49 LockIdentifier, OnUnbalanced, Randomness, FindAuthor,50 },51 weights::{52 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},53 DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,54 WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients,55 },56};57use up_data_structs::*;58// use pallet_contracts::weights::WeightInfo;59// #[cfg(any(feature = "std", test))]60use frame_system::{61 self as frame_system, EnsureRoot, EnsureSigned,62 limits::{BlockWeights, BlockLength},63};64use sp_arithmetic::{65 traits::{BaseArithmetic, Unsigned},66};67use smallvec::smallvec;68use codec::{Encode, Decode};69use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};70use fp_rpc::TransactionStatus;71use sp_core::crypto::Public;72use sp_runtime::{73 traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf},74 transaction_validity::TransactionValidityError,75};7677// pub use pallet_timestamp::Call as TimestampCall;78pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;7980// Polkadot imports81use pallet_xcm::XcmPassthrough;82use polkadot_parachain::primitives::Sibling;83use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};84use xcm_builder::{85 AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,86 EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,87 ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative,88 SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32,89 SovereignSignedViaLocation, TakeWeightCredit, UsingComponents,90};91use xcm_executor::{Config, XcmExecutor};9293// mod chain_extension;94// use crate::chain_extension::{NFTExtension, Imbalance};9596/// An index to a block.97pub type BlockNumber = u32;9899/// Alias to 512-bit hash when used in the context of a transaction signature on the chain.100pub type Signature = MultiSignature;101102/// Some way of identifying an account on the chain. We intentionally make it equivalent103/// to the public key of our transaction signing scheme.104pub type AccountId = <<Signature as Verify>::Signer as IdentifyAccount>::AccountId;105106pub type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;107108/// The type for looking up accounts. We don't expect more than 4 billion of them, but you109/// never know...110pub type AccountIndex = u32;111112/// Balance of an account.113pub type Balance = u128;114115/// Index of a transaction in the chain.116pub type Index = u32;117118/// A hash of some data used by the chain.119pub type Hash = sp_core::H256;120121/// Digest item type.122pub type DigestItem = generic::DigestItem;123124/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know125/// the specifics of the runtime. They can then be made to be agnostic over specific formats126/// of data like extrinsics, allowing for them to continue syncing the network through upgrades127/// to even the core data structures.128pub mod opaque {129 use super::*;130131 pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic;132133 /// Opaque block type.134 pub type Block = generic::Block<Header, UncheckedExtrinsic>;135136 pub type SessionHandlers = ();137138 impl_opaque_keys! {139 pub struct SessionKeys {140 pub aura: Aura,141 }142 }143}144145/// This runtime version.146pub const VERSION: RuntimeVersion = RuntimeVersion {147 spec_name: create_runtime_str!("opal"),148 impl_name: create_runtime_str!("opal"),149 authoring_version: 1,150 spec_version: 914000,151 impl_version: 1,152 state_version: 1,153 apis: RUNTIME_API_VERSIONS,154 transaction_version: 1,155};156157pub const MILLISECS_PER_BLOCK: u64 = 12000;158159pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK;160161// These time units are defined in number of blocks.162pub const MINUTES: BlockNumber = 60_000 / (MILLISECS_PER_BLOCK as BlockNumber);163pub const HOURS: BlockNumber = MINUTES * 60;164pub const DAYS: BlockNumber = HOURS * 24;165166parameter_types! {167 pub const DefaultSponsoringRateLimit: BlockNumber = 1 * DAYS;168}169170#[derive(codec::Encode, codec::Decode)]171pub enum XCMPMessage<XAccountId, XBalance> {172 /// Transfer tokens to the given account from the Parachain account.173 TransferToken(XAccountId, XBalance),174}175176/// The version information used to identify this runtime when compiled natively.177#[cfg(feature = "std")]178pub fn native_version() -> NativeVersion {179 NativeVersion {180 runtime_version: VERSION,181 can_author_with: Default::default(),182 }183}184185type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;186187pub struct DealWithFees;188impl OnUnbalanced<NegativeImbalance> for DealWithFees {189 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item = NegativeImbalance>) {190 if let Some(fees) = fees_then_tips.next() {191 // for fees, 100% to treasury192 let mut split = fees.ration(100, 0);193 if let Some(tips) = fees_then_tips.next() {194 // for tips, if any, 100% to treasury195 tips.ration_merge_into(100, 0, &mut split);196 }197 Treasury::on_unbalanced(split.0);198 // Author::on_unbalanced(split.1);199 }200 }201}202203/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.204/// This is used to limit the maximal weight of a single extrinsic.205const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10);206/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used207/// by Operational extrinsics.208const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);209/// We allow for 2 seconds of compute with a 6 second average block time.210const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND / 2;211212parameter_types! {213 pub const BlockHashCount: BlockNumber = 2400;214 pub RuntimeBlockLength: BlockLength =215 BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);216 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);217 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;218 pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()219 .base_block(BlockExecutionWeight::get())220 .for_class(DispatchClass::all(), |weights| {221 weights.base_extrinsic = ExtrinsicBaseWeight::get();222 })223 .for_class(DispatchClass::Normal, |weights| {224 weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);225 })226 .for_class(DispatchClass::Operational, |weights| {227 weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);228 // Operational transactions have some extra reserved space, so that they229 // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.230 weights.reserved = Some(231 MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT232 );233 })234 .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)235 .build_or_panic();236 pub const Version: RuntimeVersion = VERSION;237 pub const SS58Prefix: u8 = 42;238}239240parameter_types! {241 pub const ChainId: u64 = 8888;242}243244pub struct FixedFee;245impl FeeCalculator for FixedFee {246 fn min_gas_price() -> U256 {247 // Targeting 0.15 UNQ per transfer248 1_024_947_215_000u64.into()249 }250}251252// Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case253// (contract, which only writes a lot of data),254// approximating on top of our real store write weight255parameter_types! {256 pub const WritesPerSecond: u64 = WEIGHT_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;257 pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;258 pub const WeightPerGas: u64 = WEIGHT_PER_SECOND / GasPerSecond::get();259}260261/// Limiting EVM execution to 50% of block for substrate users and management tasks262/// EVM transaction consumes more weight than substrate's, so we can't rely on them being263/// scheduled fairly264const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);265parameter_types! {266 pub BlockGasLimit: U256 = U256::from(NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightPerGas::get());267}268269pub enum FixedGasWeightMapping {}270impl GasWeightMapping for FixedGasWeightMapping {271 fn gas_to_weight(gas: u64) -> Weight {272 gas.saturating_mul(WeightPerGas::get())273 }274 fn weight_to_gas(weight: Weight) -> u64 {275 weight / WeightPerGas::get()276 }277}278279impl pallet_evm::Config for Runtime {280 type BlockGasLimit = BlockGasLimit;281 type FeeCalculator = FixedFee;282 type GasWeightMapping = FixedGasWeightMapping;283 type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;284 type CallOrigin = EnsureAddressTruncated;285 type WithdrawOrigin = EnsureAddressTruncated;286 type AddressMapping = HashedAddressMapping<Self::Hashing>;287 type PrecompilesType = ();288 type PrecompilesValue = ();289 type Currency = Balances;290 type Event = Event;291 type OnMethodCall = (292 pallet_evm_migration::OnMethodCall<Self>,293 pallet_unique::UniqueErcSupport<Self>,294 pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,295 );296 type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;297 type ChainId = ChainId;298 type Runner = pallet_evm::runner::stack::Runner<Self>;299 type OnChargeTransaction = pallet_evm_transaction_payment::OnChargeTransaction<Self>;300 type TransactionValidityHack = pallet_evm_transaction_payment::TransactionValidityHack<Self>;301 type FindAuthor = EthereumFindAuthor<Aura>;302}303304impl pallet_evm_migration::Config for Runtime {305 type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;306}307308pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);309impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F> {310 fn find_author<'a, I>(digests: I) -> Option<H160>311 where312 I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,313 {314 if let Some(author_index) = F::find_author(digests) {315 let authority_id = Aura::authorities()[author_index as usize].clone();316 return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]));317 }318 None319 }320}321322impl pallet_ethereum::Config for Runtime {323 type Event = Event;324 type StateRoot = pallet_ethereum::IntermediateStateRoot;325}326327impl pallet_randomness_collective_flip::Config for Runtime {}328329impl frame_system::Config for Runtime {330 /// The data to be stored in an account.331 type AccountData = pallet_balances::AccountData<Balance>;332 /// The identifier used to distinguish between accounts.333 type AccountId = AccountId;334 /// The basic call filter to use in dispatchable.335 type BaseCallFilter = Everything;336 /// Maximum number of block number to block hash mappings to keep (oldest pruned first).337 type BlockHashCount = BlockHashCount;338 /// The maximum length of a block (in bytes).339 type BlockLength = RuntimeBlockLength;340 /// The index type for blocks.341 type BlockNumber = BlockNumber;342 /// The weight of the overhead invoked on the block import process, independent of the extrinsics included in that block.343 type BlockWeights = RuntimeBlockWeights;344 /// The aggregated dispatch type that is available for extrinsics.345 type Call = Call;346 /// The weight of database operations that the runtime can invoke.347 type DbWeight = RocksDbWeight;348 /// The ubiquitous event type.349 type Event = Event;350 /// The type for hashing blocks and tries.351 type Hash = Hash;352 /// The hashing algorithm used.353 type Hashing = BlakeTwo256;354 /// The header type.355 type Header = generic::Header<BlockNumber, BlakeTwo256>;356 /// The index type for storing how many extrinsics an account has signed.357 type Index = Index;358 /// The lookup mechanism to get account ID from whatever is passed in dispatchers.359 type Lookup = AccountIdLookup<AccountId, ()>;360 /// What to do if an account is fully reaped from the system.361 type OnKilledAccount = ();362 /// What to do if a new account is created.363 type OnNewAccount = ();364 type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;365 /// The ubiquitous origin type.366 type Origin = Origin;367 /// This type is being generated by `construct_runtime!`.368 type PalletInfo = PalletInfo;369 /// This is used as an identifier of the chain. 42 is the generic substrate prefix.370 type SS58Prefix = SS58Prefix;371 /// Weight information for the extrinsics of this pallet.372 type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;373 /// Version of the runtime.374 type Version = Version;375 type MaxConsumers = ConstU32<16>;376}377378parameter_types! {379 pub const MinimumPeriod: u64 = SLOT_DURATION / 2;380}381382impl pallet_timestamp::Config for Runtime {383 /// A timestamp: milliseconds since the unix epoch.384 type Moment = u64;385 type OnTimestampSet = ();386 type MinimumPeriod = MinimumPeriod;387 type WeightInfo = ();388}389390parameter_types! {391 // pub const ExistentialDeposit: u128 = 500;392 pub const ExistentialDeposit: u128 = 0;393 pub const MaxLocks: u32 = 50;394}395396impl pallet_balances::Config for Runtime {397 type MaxLocks = MaxLocks;398 type MaxReserves = ();399 type ReserveIdentifier = [u8; 8];400 /// The type for recording an account's balance.401 type Balance = Balance;402 /// The ubiquitous event type.403 type Event = Event;404 type DustRemoval = Treasury;405 type ExistentialDeposit = ExistentialDeposit;406 type AccountStore = System;407 type WeightInfo = pallet_balances::weights::SubstrateWeight<Self>;408}409410pub const MICROUNIQUE: Balance = 1_000_000_000_000;411pub const MILLIUNIQUE: Balance = 1_000 * MICROUNIQUE;412pub const CENTIUNIQUE: Balance = 10 * MILLIUNIQUE;413pub const UNIQUE: Balance = 100 * CENTIUNIQUE;414415pub const fn deposit(items: u32, bytes: u32) -> Balance {416 items as Balance * 15 * CENTIUNIQUE + (bytes as Balance) * 6 * CENTIUNIQUE417}418419/*420parameter_types! {421 pub TombstoneDeposit: Balance = deposit(422 1,423 sp_std::mem::size_of::<pallet_contracts::Pallet<Runtime>> as u32,424 );425 pub DepositPerContract: Balance = TombstoneDeposit::get();426 pub const DepositPerStorageByte: Balance = deposit(0, 1);427 pub const DepositPerStorageItem: Balance = deposit(1, 0);428 pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS);429 pub const SurchargeReward: Balance = 150 * MILLIUNIQUE;430 pub const SignedClaimHandicap: u32 = 2;431 pub const MaxDepth: u32 = 32;432 pub const MaxValueSize: u32 = 16 * 1024;433 pub const MaxCodeSize: u32 = 1024 * 1024 * 25; // 25 Mb434 // The lazy deletion runs inside on_initialize.435 pub DeletionWeightLimit: Weight = AVERAGE_ON_INITIALIZE_RATIO *436 RuntimeBlockWeights::get().max_block;437 // The weight needed for decoding the queue should be less or equal than a fifth438 // of the overall weight dedicated to the lazy deletion.439 pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / (440 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(1) -441 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(0)442 )) / 5) as u32;443 pub Schedule: pallet_contracts::Schedule<Runtime> = Default::default();444}445446impl pallet_contracts::Config for Runtime {447 type Time = Timestamp;448 type Randomness = RandomnessCollectiveFlip;449 type Currency = Balances;450 type Event = Event;451 type RentPayment = ();452 type SignedClaimHandicap = SignedClaimHandicap;453 type TombstoneDeposit = TombstoneDeposit;454 type DepositPerContract = DepositPerContract;455 type DepositPerStorageByte = DepositPerStorageByte;456 type DepositPerStorageItem = DepositPerStorageItem;457 type RentFraction = RentFraction;458 type SurchargeReward = SurchargeReward;459 type WeightPrice = pallet_transaction_payment::Pallet<Self>;460 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;461 type ChainExtension = NFTExtension;462 type DeletionQueueDepth = DeletionQueueDepth;463 type DeletionWeightLimit = DeletionWeightLimit;464 type Schedule = Schedule;465 type CallStack = [pallet_contracts::Frame<Self>; 31];466}467*/468469parameter_types! {470 pub const TransactionByteFee: Balance = 501 * MICROUNIQUE; // Targeting 0.1 Unique per NFT transfer471 /// This value increases the priority of `Operational` transactions by adding472 /// a "virtual tip" that's equal to the `OperationalFeeMultiplier * final_fee`.473 pub const OperationalFeeMultiplier: u8 = 5;474}475476/// Linear implementor of `WeightToFeePolynomial`477pub struct LinearFee<T>(sp_std::marker::PhantomData<T>);478479impl<T> WeightToFeePolynomial for LinearFee<T>480where481 T: BaseArithmetic + From<u32> + Copy + Unsigned,482{483 type Balance = T;484485 fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {486 smallvec!(WeightToFeeCoefficient {487 // Targeting 0.1 Unique per NFT transfer488 coeff_integer: 142_688_000u32.into(),489 coeff_frac: Perbill::zero(),490 negative: false,491 degree: 1,492 })493 }494}495496impl pallet_transaction_payment::Config for Runtime {497 type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, DealWithFees>;498 type TransactionByteFee = TransactionByteFee;499 type OperationalFeeMultiplier = OperationalFeeMultiplier;500 type WeightToFee = LinearFee<Balance>;501 type FeeMultiplierUpdate = ();502}503504parameter_types! {505 pub const ProposalBond: Permill = Permill::from_percent(5);506 pub const ProposalBondMinimum: Balance = 1 * UNIQUE;507 pub const ProposalBondMaximum: Balance = 1000 * UNIQUE;508 pub const SpendPeriod: BlockNumber = 5 * MINUTES;509 pub const Burn: Permill = Permill::from_percent(0);510 pub const TipCountdown: BlockNumber = 1 * DAYS;511 pub const TipFindersFee: Percent = Percent::from_percent(20);512 pub const TipReportDepositBase: Balance = 1 * UNIQUE;513 pub const DataDepositPerByte: Balance = 1 * CENTIUNIQUE;514 pub const BountyDepositBase: Balance = 1 * UNIQUE;515 pub const BountyDepositPayoutDelay: BlockNumber = 1 * DAYS;516 pub const TreasuryModuleId: PalletId = PalletId(*b"py/trsry");517 pub const BountyUpdatePeriod: BlockNumber = 14 * DAYS;518 pub const MaximumReasonLength: u32 = 16384;519 pub const BountyCuratorDeposit: Permill = Permill::from_percent(50);520 pub const BountyValueMinimum: Balance = 5 * UNIQUE;521 pub const MaxApprovals: u32 = 100;522}523524impl pallet_treasury::Config for Runtime {525 type PalletId = TreasuryModuleId;526 type Currency = Balances;527 type ApproveOrigin = EnsureRoot<AccountId>;528 type RejectOrigin = EnsureRoot<AccountId>;529 type Event = Event;530 type OnSlash = ();531 type ProposalBond = ProposalBond;532 type ProposalBondMinimum = ProposalBondMinimum;533 type ProposalBondMaximum = ProposalBondMaximum;534 type SpendPeriod = SpendPeriod;535 type Burn = Burn;536 type BurnDestination = ();537 type SpendFunds = ();538 type WeightInfo = pallet_treasury::weights::SubstrateWeight<Self>;539 type MaxApprovals = MaxApprovals;540}541542impl pallet_sudo::Config for Runtime {543 type Event = Event;544 type Call = Call;545}546547pub struct RelayChainBlockNumberProvider<T>(sp_std::marker::PhantomData<T>);548549impl<T: cumulus_pallet_parachain_system::Config> BlockNumberProvider550 for RelayChainBlockNumberProvider<T>551{552 type BlockNumber = BlockNumber;553554 fn current_block_number() -> Self::BlockNumber {555 cumulus_pallet_parachain_system::Pallet::<T>::validation_data()556 .map(|d| d.relay_parent_number)557 .unwrap_or_default()558 }559}560561parameter_types! {562 pub const MinVestedTransfer: Balance = 10 * UNIQUE;563 pub const MaxVestingSchedules: u32 = 28;564}565566impl orml_vesting::Config for Runtime {567 type Event = Event;568 type Currency = pallet_balances::Pallet<Runtime>;569 type MinVestedTransfer = MinVestedTransfer;570 type VestedTransferOrigin = EnsureSigned<AccountId>;571 type WeightInfo = ();572 type MaxVestingSchedules = MaxVestingSchedules;573 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;574}575576parameter_types! {577 pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;578 pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;579}580581impl cumulus_pallet_parachain_system::Config for Runtime {582 type Event = Event;583 type SelfParaId = parachain_info::Pallet<Self>;584 type OnSystemEvent = ();585 // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<586 // MaxDownwardMessageWeight,587 // XcmExecutor<XcmConfig>,588 // Call,589 // >;590 type OutboundXcmpMessageSource = XcmpQueue;591 type DmpMessageHandler = DmpQueue;592 type ReservedDmpWeight = ReservedDmpWeight;593 type ReservedXcmpWeight = ReservedXcmpWeight;594 type XcmpMessageHandler = XcmpQueue;595}596597impl parachain_info::Config for Runtime {}598599impl cumulus_pallet_aura_ext::Config for Runtime {}600601parameter_types! {602 pub const RelayLocation: MultiLocation = MultiLocation::parent();603 pub const RelayNetwork: NetworkId = NetworkId::Polkadot;604 pub RelayOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into();605 pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();606}607608/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used609/// when determining ownership of accounts for asset transacting and when attempting to use XCM610/// `Transact` in order to determine the dispatch Origin.611pub type LocationToAccountId = (612 // The parent (Relay-chain) origin converts to the default `AccountId`.613 ParentIsDefault<AccountId>,614 // Sibling parachain origins convert to AccountId via the `ParaId::into`.615 SiblingParachainConvertsVia<Sibling, AccountId>,616 // Straight up local `AccountId32` origins just alias directly to `AccountId`.617 AccountId32Aliases<RelayNetwork, AccountId>,618);619620/// Means for transacting assets on this chain.621pub type LocalAssetTransactor = CurrencyAdapter<622 // Use this currency:623 Balances,624 // Use this currency when it is a fungible asset matching the given location or name:625 IsConcrete<RelayLocation>,626 // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:627 LocationToAccountId,628 // Our chain's account ID type (we can't get away without mentioning it explicitly):629 AccountId,630 // We don't track any teleports.631 (),632>;633634/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,635/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can636/// biases the kind of local `Origin` it will become.637pub type XcmOriginToTransactDispatchOrigin = (638 // Sovereign account converter; this attempts to derive an `AccountId` from the origin location639 // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for640 // foreign chains who want to have a local sovereign account on this chain which they control.641 SovereignSignedViaLocation<LocationToAccountId, Origin>,642 // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when643 // recognised.644 RelayChainAsNative<RelayOrigin, Origin>,645 // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when646 // recognised.647 SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>,648 // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a649 // transaction from the Root origin.650 ParentAsSuperuser<Origin>,651 // Native signed account converter; this just converts an `AccountId32` origin into a normal652 // `Origin::Signed` origin of the same 32-byte value.653 SignedAccountId32AsNative<RelayNetwork, Origin>,654 // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.655 XcmPassthrough<Origin>,656);657658parameter_types! {659 // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.660 pub UnitWeightCost: Weight = 1_000_000;661 // 1200 UNIQUEs buy 1 second of weight.662 pub const WeightPrice: (MultiLocation, u128) = (MultiLocation::parent(), 1_200 * UNIQUE);663 pub const MaxInstructions: u32 = 100;664 pub const MaxAuthorities: u32 = 100_000;665}666667match_type! {668 pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {669 MultiLocation { parents: 1, interior: Here } |670 MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Unit, .. }) }671 };672}673674pub type Barrier = (675 TakeWeightCredit,676 AllowTopLevelPaidExecutionFrom<Everything>,677 AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,678 // ^^^ Parent & its unit plurality gets free execution679);680681pub struct XcmConfig;682impl Config for XcmConfig {683 type Call = Call;684 type XcmSender = XcmRouter;685 // How to withdraw and deposit an asset.686 type AssetTransactor = LocalAssetTransactor;687 type OriginConverter = XcmOriginToTransactDispatchOrigin;688 type IsReserve = NativeAsset;689 type IsTeleporter = (); // Teleportation is disabled690 type LocationInverter = LocationInverter<Ancestry>;691 type Barrier = Barrier;692 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;693 type Trader = UsingComponents<IdentityFee<Balance>, RelayLocation, AccountId, Balances, ()>;694 type ResponseHandler = (); // Don't handle responses for now.695 type SubscriptionService = PolkadotXcm;696697 type AssetTrap = PolkadotXcm;698 type AssetClaims = PolkadotXcm;699}700701// parameter_types! {702// pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10;703// }704705/// No local origins on this chain are allowed to dispatch XCM sends/executions.706pub type LocalOriginToLocation = (SignedToAccountId32<Origin, AccountId, RelayNetwork>,);707708/// The means for routing XCM messages which are not for local execution into the right message709/// queues.710pub type XcmRouter = (711 // Two routers - use UMP to communicate with the relay chain:712 cumulus_primitives_utility::ParentAsUmp<ParachainSystem, ()>,713 // ..and XCMP to communicate with the sibling chains.714 XcmpQueue,715);716717impl pallet_evm_coder_substrate::Config for Runtime {718 type EthereumTransactionSender = pallet_ethereum::Pallet<Self>;719 type GasWeightMapping = FixedGasWeightMapping;720}721722impl pallet_xcm::Config for Runtime {723 type Event = Event;724 type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;725 type XcmRouter = XcmRouter;726 type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;727 type XcmExecuteFilter = Everything;728 type XcmExecutor = XcmExecutor<XcmConfig>;729 type XcmTeleportFilter = Everything;730 type XcmReserveTransferFilter = Everything;731 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;732 type LocationInverter = LocationInverter<Ancestry>;733 type Origin = Origin;734 type Call = Call;735 const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;736 type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;737}738739impl cumulus_pallet_xcm::Config for Runtime {740 type Event = Event;741 type XcmExecutor = XcmExecutor<XcmConfig>;742}743744impl cumulus_pallet_xcmp_queue::Config for Runtime {745 type Event = Event;746 type XcmExecutor = XcmExecutor<XcmConfig>;747 type ChannelInfo = ParachainSystem;748 type VersionWrapper = ();749 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;750}751752impl cumulus_pallet_dmp_queue::Config for Runtime {753 type Event = Event;754 type XcmExecutor = XcmExecutor<XcmConfig>;755 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;756}757758impl pallet_aura::Config for Runtime {759 type AuthorityId = AuraId;760 type DisabledValidators = ();761 type MaxAuthorities = MaxAuthorities;762}763764parameter_types! {765 pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account();766 pub const CollectionCreationPrice: Balance = 100 * UNIQUE;767}768769impl pallet_common::Config for Runtime {770 type Event = Event;771 type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;772 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;773 type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;774775 type Currency = Balances;776 type CollectionCreationPrice = CollectionCreationPrice;777 type TreasuryAccountId = TreasuryAccountId;778}779780impl pallet_fungible::Config for Runtime {781 type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;782}783impl pallet_refungible::Config for Runtime {784 type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;785}786impl pallet_nonfungible::Config for Runtime {787 type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;788}789790impl pallet_unique::Config for Runtime {791 type Event = Event;792 type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;793}794795parameter_types! {796 pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied797}798799/// Used for the pallet inflation800impl pallet_inflation::Config for Runtime {801 type Currency = Balances;802 type TreasuryAccountId = TreasuryAccountId;803 type InflationBlockInterval = InflationBlockInterval;804 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;805}806807// parameter_types! {808// pub MaximumSchedulerWeight: Weight = Perbill::from_percent(50) *809// RuntimeBlockWeights::get().max_block;810// pub const MaxScheduledPerBlock: u32 = 50;811// }812813type EvmSponsorshipHandler = (814 pallet_unique::UniqueEthSponsorshipHandler<Runtime>,815 pallet_evm_contract_helpers::HelpersContractSponsoring<Runtime>,816);817type SponsorshipHandler = (818 pallet_unique::UniqueSponsorshipHandler<Runtime>,819 //pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,820 pallet_evm_transaction_payment::BridgeSponsorshipHandler<Runtime>,821);822823// impl pallet_unq_scheduler::Config for Runtime {824// type Event = Event;825// type Origin = Origin;826// type PalletsOrigin = OriginCaller;827// type Call = Call;828// type MaximumWeight = MaximumSchedulerWeight;829// type ScheduleOrigin = EnsureSigned<AccountId>;830// type MaxScheduledPerBlock = MaxScheduledPerBlock;831// type SponsorshipHandler = SponsorshipHandler;832// type WeightInfo = ();833// }834835impl pallet_evm_transaction_payment::Config for Runtime {836 type EvmSponsorshipHandler = EvmSponsorshipHandler;837 type Currency = Balances;838 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;839 type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;840}841842impl pallet_charge_transaction::Config for Runtime {843 type SponsorshipHandler = SponsorshipHandler;844}845846// impl pallet_contract_helpers::Config for Runtime {847// type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;848// }849850parameter_types! {851 // 0x842899ECF380553E8a4de75bF534cdf6fBF64049852 pub const HelpersContractAddress: H160 = H160([853 0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,854 ]);855}856857impl pallet_evm_contract_helpers::Config for Runtime {858 type ContractAddress = HelpersContractAddress;859 type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;860}861862construct_runtime!(863 pub enum Runtime where864 Block = Block,865 NodeBlock = opaque::Block,866 UncheckedExtrinsic = UncheckedExtrinsic867 {868 ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,869 ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,870871 Aura: pallet_aura::{Pallet, Config<T>} = 22,872 AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,873874 Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,875 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,876 Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,877 TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 33,878 Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,879 Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,880 System: frame_system::{Pallet, Call, Storage, Config, Event<T>} = 36,881 Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,882 // Vesting: pallet_vesting::{Pallet, Call, Config<T>, Storage, Event<T>} = 37,883 // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,884885 // XCM helpers.886 XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,887 PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,888 CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,889 DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,890891 // Unique Pallets892 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,893 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,894 // Scheduler: pallet_unq_scheduler::{Pallet, Call, Storage, Event<T>} = 62,895 // free = 63896 Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,897 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,898 Common: pallet_common::{Pallet, Storage, Event<T>} = 66,899 Fungible: pallet_fungible::{Pallet, Storage} = 67,900 Refungible: pallet_refungible::{Pallet, Storage} = 68,901 Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,902903 // Frontier904 EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,905 Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,906907 EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,908 EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage} = 151,909 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,910 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,911 }912);913914pub struct TransactionConverter;915916impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {917 fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic {918 UncheckedExtrinsic::new_unsigned(919 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),920 )921 }922}923924impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConverter {925 fn convert_transaction(926 &self,927 transaction: pallet_ethereum::Transaction,928 ) -> opaque::UncheckedExtrinsic {929 let extrinsic = UncheckedExtrinsic::new_unsigned(930 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),931 );932 let encoded = extrinsic.encode();933 opaque::UncheckedExtrinsic::decode(&mut &encoded[..])934 .expect("Encoded extrinsic is always valid")935 }936}937938/// The address format for describing accounts.939pub type Address = sp_runtime::MultiAddress<AccountId, ()>;940/// Block header type as expected by this runtime.941pub type Header = generic::Header<BlockNumber, BlakeTwo256>;942/// Block type as expected by this runtime.943pub type Block = generic::Block<Header, UncheckedExtrinsic>;944/// A Block signed with a Justification945pub type SignedBlock = generic::SignedBlock<Block>;946/// BlockId type as expected by this runtime.947pub type BlockId = generic::BlockId<Block>;948/// The SignedExtension to the basic transaction logic.949pub type SignedExtra = (950 frame_system::CheckSpecVersion<Runtime>,951 // system::CheckTxVersion<Runtime>,952 frame_system::CheckGenesis<Runtime>,953 frame_system::CheckEra<Runtime>,954 frame_system::CheckNonce<Runtime>,955 frame_system::CheckWeight<Runtime>,956 pallet_charge_transaction::ChargeTransactionPayment<Runtime>,957 //pallet_contract_helpers::ContractHelpersExtension<Runtime>,958);959/// Unchecked extrinsic type as expected by this runtime.960pub type UncheckedExtrinsic =961 fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;962/// Extrinsic type that has already been checked.963pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;964/// Executive: handles dispatch to the various modules.965pub type Executive = frame_executive::Executive<966 Runtime,967 Block,968 frame_system::ChainContext<Runtime>,969 Runtime,970 AllPalletsWithSystem,971>;972973impl_opaque_keys! {974 pub struct SessionKeys {975 pub aura: Aura,976 }977}978979impl fp_self_contained::SelfContainedCall for Call {980 type SignedInfo = H160;981982 fn is_self_contained(&self) -> bool {983 match self {984 Call::Ethereum(call) => call.is_self_contained(),985 _ => false,986 }987 }988989 fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {990 match self {991 Call::Ethereum(call) => call.check_self_contained(),992 _ => None,993 }994 }995996 fn validate_self_contained(&self, info: &Self::SignedInfo) -> Option<TransactionValidity> {997 match self {998 Call::Ethereum(call) => call.validate_self_contained(info),999 _ => None,1000 }1001 }10021003 fn pre_dispatch_self_contained(1004 &self,1005 info: &Self::SignedInfo,1006 ) -> Option<Result<(), TransactionValidityError>> {1007 match self {1008 Call::Ethereum(call) => call.pre_dispatch_self_contained(info),1009 _ => None,1010 }1011 }10121013 fn apply_self_contained(1014 self,1015 info: Self::SignedInfo,1016 ) -> Option<sp_runtime::DispatchResultWithInfo<PostDispatchInfoOf<Self>>> {1017 match self {1018 call @ Call::Ethereum(pallet_ethereum::Call::transact { .. }) => Some(call.dispatch(1019 Origin::from(pallet_ethereum::RawOrigin::EthereumTransaction(info)),1020 )),1021 _ => None,1022 }1023 }1024}10251026macro_rules! dispatch_unique_runtime {1027 ($collection:ident.$method:ident($($name:ident),*)) => {{1028 use pallet_unique::dispatch::Dispatched;10291030 let collection = Dispatched::dispatch(<pallet_common::CollectionHandle<Runtime>>::try_get($collection)?);1031 let dispatch = collection.as_dyn();10321033 Ok(dispatch.$method($($name),*))1034 }};1035}1036impl_runtime_apis! {1037 impl up_rpc::UniqueApi<Block, CrossAccountId, AccountId>1038 for Runtime1039 {1040 fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>, DispatchError> {1041 dispatch_unique_runtime!(collection.account_tokens(account))1042 }1043 fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool, DispatchError> {1044 dispatch_unique_runtime!(collection.token_exists(token))1045 }10461047 fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {1048 dispatch_unique_runtime!(collection.token_owner(token))1049 }1050 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {1051 dispatch_unique_runtime!(collection.const_metadata(token))1052 }1053 fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {1054 dispatch_unique_runtime!(collection.variable_metadata(token))1055 }10561057 fn collection_tokens(collection: CollectionId) -> Result<u32, DispatchError> {1058 dispatch_unique_runtime!(collection.collection_tokens())1059 }1060 fn account_balance(collection: CollectionId, account: CrossAccountId) -> Result<u32, DispatchError> {1061 dispatch_unique_runtime!(collection.account_balance(account))1062 }1063 fn balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<u128, DispatchError> {1064 dispatch_unique_runtime!(collection.balance(account, token))1065 }1066 fn allowance(1067 collection: CollectionId,1068 sender: CrossAccountId,1069 spender: CrossAccountId,1070 token: TokenId,1071 ) -> Result<u128, DispatchError> {1072 dispatch_unique_runtime!(collection.allowance(sender, spender, token))1073 }10741075 fn eth_contract_code(account: H160) -> Option<Vec<u8>> {1076 <pallet_unique::UniqueErcSupport<Runtime>>::get_code(&account)1077 .or_else(|| <pallet_evm_migration::OnMethodCall<Runtime>>::get_code(&account))1078 .or_else(|| <pallet_evm_contract_helpers::HelpersOnMethodCall<Self>>::get_code(&account))1079 }1080 fn adminlist(collection: CollectionId) -> Result<Vec<CrossAccountId>, DispatchError> {1081 Ok(<pallet_common::Pallet<Runtime>>::adminlist(collection))1082 }1083 fn allowlist(collection: CollectionId) -> Result<Vec<CrossAccountId>, DispatchError> {1084 Ok(<pallet_common::Pallet<Runtime>>::allowlist(collection))1085 }1086 fn allowed(collection: CollectionId, user: CrossAccountId) -> Result<bool, DispatchError> {1087 Ok(<pallet_common::Pallet<Runtime>>::allowed(collection, user))1088 }1089 fn last_token_id(collection: CollectionId) -> Result<TokenId, DispatchError> {1090 dispatch_unique_runtime!(collection.last_token_id())1091 }1092 fn collection_by_id(collection: CollectionId) -> Result<Option<Collection<AccountId>>, DispatchError> {1093 Ok(<pallet_common::CollectionById<Runtime>>::get(collection))1094 }1095 fn collection_stats() -> Result<CollectionStats, DispatchError> {1096 Ok(<pallet_common::Pallet<Runtime>>::collection_stats())1097 }1098 }10991100 impl sp_api::Core<Block> for Runtime {1101 fn version() -> RuntimeVersion {1102 VERSION1103 }11041105 fn execute_block(block: Block) {1106 Executive::execute_block(block)1107 }11081109 fn initialize_block(header: &<Block as BlockT>::Header) {1110 Executive::initialize_block(header)1111 }1112 }11131114 impl sp_api::Metadata<Block> for Runtime {1115 fn metadata() -> OpaqueMetadata {1116 OpaqueMetadata::new(Runtime::metadata().into())1117 }1118 }11191120 impl sp_block_builder::BlockBuilder<Block> for Runtime {1121 fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {1122 Executive::apply_extrinsic(extrinsic)1123 }11241125 fn finalize_block() -> <Block as BlockT>::Header {1126 Executive::finalize_block()1127 }11281129 fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {1130 data.create_extrinsics()1131 }11321133 fn check_inherents(1134 block: Block,1135 data: sp_inherents::InherentData,1136 ) -> sp_inherents::CheckInherentsResult {1137 data.check_extrinsics(&block)1138 }11391140 // fn random_seed() -> <Block as BlockT>::Hash {1141 // RandomnessCollectiveFlip::random_seed().01142 // }1143 }11441145 impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {1146 fn validate_transaction(1147 source: TransactionSource,1148 tx: <Block as BlockT>::Extrinsic,1149 hash: <Block as BlockT>::Hash,1150 ) -> TransactionValidity {1151 Executive::validate_transaction(source, tx, hash)1152 }1153 }11541155 impl sp_offchain::OffchainWorkerApi<Block> for Runtime {1156 fn offchain_worker(header: &<Block as BlockT>::Header) {1157 Executive::offchain_worker(header)1158 }1159 }11601161 impl fp_rpc::EthereumRuntimeRPCApi<Block> for Runtime {1162 fn chain_id() -> u64 {1163 <Runtime as pallet_evm::Config>::ChainId::get()1164 }11651166 fn account_basic(address: H160) -> EVMAccount {1167 EVM::account_basic(&address)1168 }11691170 fn gas_price() -> U256 {1171 <Runtime as pallet_evm::Config>::FeeCalculator::min_gas_price()1172 }11731174 fn account_code_at(address: H160) -> Vec<u8> {1175 EVM::account_codes(address)1176 }11771178 fn author() -> H160 {1179 <pallet_evm::Pallet<Runtime>>::find_author()1180 }11811182 fn storage_at(address: H160, index: U256) -> H256 {1183 let mut tmp = [0u8; 32];1184 index.to_big_endian(&mut tmp);1185 EVM::account_storages(address, H256::from_slice(&tmp[..]))1186 }11871188 #[allow(clippy::redundant_closure)]1189 fn call(1190 from: H160,1191 to: H160,1192 data: Vec<u8>,1193 value: U256,1194 gas_limit: U256,1195 max_fee_per_gas: Option<U256>,1196 max_priority_fee_per_gas: Option<U256>,1197 nonce: Option<U256>,1198 estimate: bool,1199 access_list: Option<Vec<(H160, Vec<H256>)>>,1200 ) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {1201 let config = if estimate {1202 let mut config = <Runtime as pallet_evm::Config>::config().clone();1203 config.estimate = true;1204 Some(config)1205 } else {1206 None1207 };12081209 <Runtime as pallet_evm::Config>::Runner::call(1210 from,1211 to,1212 data,1213 value,1214 gas_limit.low_u64(),1215 max_fee_per_gas,1216 max_priority_fee_per_gas,1217 nonce,1218 access_list.unwrap_or_default(),1219 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1220 ).map_err(|err| err.into())1221 }12221223 #[allow(clippy::redundant_closure)]1224 fn create(1225 from: H160,1226 data: Vec<u8>,1227 value: U256,1228 gas_limit: U256,1229 max_fee_per_gas: Option<U256>,1230 max_priority_fee_per_gas: Option<U256>,1231 nonce: Option<U256>,1232 estimate: bool,1233 access_list: Option<Vec<(H160, Vec<H256>)>>,1234 ) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {1235 let config = if estimate {1236 let mut config = <Runtime as pallet_evm::Config>::config().clone();1237 config.estimate = true;1238 Some(config)1239 } else {1240 None1241 };12421243 <Runtime as pallet_evm::Config>::Runner::create(1244 from,1245 data,1246 value,1247 gas_limit.low_u64(),1248 max_fee_per_gas,1249 max_priority_fee_per_gas,1250 nonce,1251 access_list.unwrap_or_default(),1252 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1253 ).map_err(|err| err.into())1254 }12551256 fn current_transaction_statuses() -> Option<Vec<TransactionStatus>> {1257 Ethereum::current_transaction_statuses()1258 }12591260 fn current_block() -> Option<pallet_ethereum::Block> {1261 Ethereum::current_block()1262 }12631264 fn current_receipts() -> Option<Vec<pallet_ethereum::Receipt>> {1265 Ethereum::current_receipts()1266 }12671268 fn current_all() -> (1269 Option<pallet_ethereum::Block>,1270 Option<Vec<pallet_ethereum::Receipt>>,1271 Option<Vec<TransactionStatus>>1272 ) {1273 (1274 Ethereum::current_block(),1275 Ethereum::current_receipts(),1276 Ethereum::current_transaction_statuses()1277 )1278 }12791280 fn extrinsic_filter(xts: Vec<<Block as sp_api::BlockT>::Extrinsic>) -> Vec<pallet_ethereum::Transaction> {1281 xts.into_iter().filter_map(|xt| match xt.0.function {1282 Call::Ethereum(pallet_ethereum::Call::transact { transaction }) => Some(transaction),1283 _ => None1284 }).collect()1285 }12861287 fn elasticity() -> Option<Permill> {1288 None1289 }1290 }12911292 impl sp_session::SessionKeys<Block> for Runtime {1293 fn decode_session_keys(1294 encoded: Vec<u8>,1295 ) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {1296 SessionKeys::decode_into_raw_public_keys(&encoded)1297 }12981299 fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {1300 SessionKeys::generate(seed)1301 }1302 }13031304 impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {1305 fn slot_duration() -> sp_consensus_aura::SlotDuration {1306 sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())1307 }13081309 fn authorities() -> Vec<AuraId> {1310 Aura::authorities().to_vec()1311 }1312 }13131314 impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {1315 fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo {1316 ParachainSystem::collect_collation_info(header)1317 }1318 }13191320 impl frame_system_rpc_runtime_api::AccountNonceApi<Block, AccountId, Index> for Runtime {1321 fn account_nonce(account: AccountId) -> Index {1322 System::account_nonce(account)1323 }1324 }13251326 impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance> for Runtime {1327 fn query_info(uxt: <Block as BlockT>::Extrinsic, len: u32) -> RuntimeDispatchInfo<Balance> {1328 TransactionPayment::query_info(uxt, len)1329 }1330 fn query_fee_details(uxt: <Block as BlockT>::Extrinsic, len: u32) -> FeeDetails<Balance> {1331 TransactionPayment::query_fee_details(uxt, len)1332 }1333 }13341335 /*1336 impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>1337 for Runtime1338 {1339 fn call(1340 origin: AccountId,1341 dest: AccountId,1342 value: Balance,1343 gas_limit: u64,1344 input_data: Vec<u8>,1345 ) -> pallet_contracts_primitives::ContractExecResult {1346 Contracts::bare_call(origin, dest, value, gas_limit, input_data, false)1347 }13481349 fn instantiate(1350 origin: AccountId,1351 endowment: Balance,1352 gas_limit: u64,1353 code: pallet_contracts_primitives::Code<Hash>,1354 data: Vec<u8>,1355 salt: Vec<u8>,1356 ) -> pallet_contracts_primitives::ContractInstantiateResult<AccountId, BlockNumber>1357 {1358 Contracts::bare_instantiate(origin, endowment, gas_limit, code, data, salt, true, false)1359 }13601361 fn get_storage(1362 address: AccountId,1363 key: [u8; 32],1364 ) -> pallet_contracts_primitives::GetStorageResult {1365 Contracts::get_storage(address, key)1366 }13671368 fn rent_projection(1369 address: AccountId,1370 ) -> pallet_contracts_primitives::RentProjectionResult<BlockNumber> {1371 Contracts::rent_projection(address)1372 }1373 }1374 */13751376 #[cfg(feature = "runtime-benchmarks")]1377 impl frame_benchmarking::Benchmark<Block> for Runtime {1378 fn benchmark_metadata(extra: bool) -> (1379 Vec<frame_benchmarking::BenchmarkList>,1380 Vec<frame_support::traits::StorageInfo>,1381 ) {1382 use frame_benchmarking::{list_benchmark, Benchmarking, BenchmarkList};1383 use frame_support::traits::StorageInfoTrait;13841385 let mut list = Vec::<BenchmarkList>::new();13861387 list_benchmark!(list, extra, pallet_evm_migration, EvmMigration);1388 list_benchmark!(list, extra, pallet_unique, Unique);1389 list_benchmark!(list, extra, pallet_inflation, Inflation);1390 list_benchmark!(list, extra, pallet_fungible, Fungible);1391 list_benchmark!(list, extra, pallet_refungible, Refungible);1392 list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);1393 // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);13941395 let storage_info = AllPalletsWithSystem::storage_info();13961397 return (list, storage_info)1398 }13991400 fn dispatch_benchmark(1401 config: frame_benchmarking::BenchmarkConfig1402 ) -> Result<Vec<frame_benchmarking::BenchmarkBatch>, sp_runtime::RuntimeString> {1403 use frame_benchmarking::{Benchmarking, BenchmarkBatch, add_benchmark, TrackedStorageKey};14041405 let allowlist: Vec<TrackedStorageKey> = vec![1406 // Block Number1407 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),1408 // Total Issuance1409 hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),1410 // Execution Phase1411 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),1412 // Event Count1413 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),1414 // System Events1415 hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),1416 ];14171418 let mut batches = Vec::<BenchmarkBatch>::new();1419 let params = (&config, &allowlist);14201421 add_benchmark!(params, batches, pallet_evm_migration, EvmMigration);1422 add_benchmark!(params, batches, pallet_unique, Unique);1423 add_benchmark!(params, batches, pallet_inflation, Inflation);1424 add_benchmark!(params, batches, pallet_fungible, Fungible);1425 add_benchmark!(params, batches, pallet_refungible, Refungible);1426 add_benchmark!(params, batches, pallet_nonfungible, Nonfungible);1427 // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);14281429 if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }1430 Ok(batches)1431 }1432 }1433}14341435struct CheckInherents;14361437impl cumulus_pallet_parachain_system::CheckInherents<Block> for CheckInherents {1438 fn check_inherents(1439 block: &Block,1440 relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,1441 ) -> sp_inherents::CheckInherentsResult {1442 let relay_chain_slot = relay_state_proof1443 .read_slot()1444 .expect("Could not read the relay chain slot from the proof");14451446 let inherent_data =1447 cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(1448 relay_chain_slot,1449 sp_std::time::Duration::from_secs(6),1450 )1451 .create_inherent_data()1452 .expect("Could not create the timestamp inherent data");14531454 inherent_data.check_extrinsics(block)1455 }1456}14571458cumulus_pallet_parachain_system::register_validate_block!(1459 Runtime = Runtime,1460 BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,1461 CheckInherents = CheckInherents,1462);tests/README.mddiffbeforeafterboth--- a/tests/README.md
+++ b/tests/README.md
@@ -5,7 +5,7 @@
1. Checkout polkadot in sibling folder with this project
```bash
git clone https://github.com/paritytech/polkadot.git && cd polkadot
-git checkout release-v0.9.15
+git checkout release-v0.9.16
```
2. Build with nightly-2021-11-11