difftreelog
Merge branch 'develop' into feature/CORE-238
in: master
73 files changed
.envdiffbeforeafterboth--- a/.env
+++ b/.env
@@ -1,6 +1,6 @@
RUST_TOOLCHAIN=nightly-2021-11-11
RUST_C=1.58.0-nightly
-POLKA_VERSION=release-v0.9.17
+POLKA_VERSION=release-v0.9.18
UNIQUE_BRANCH=develop
USER=***
PASS=***
.gitignorediffbeforeafterboth--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
*store_key*.json
/.idea/
+/.cargo/
tests/.vscode
cumulus-parachain/
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -44,7 +44,7 @@
dependencies = [
"cfg-if 1.0.0",
"cipher",
- "cpufeatures 0.2.1",
+ "cpufeatures 0.2.2",
"opaque-debug 0.3.0",
]
@@ -68,7 +68,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
"once_cell",
"version_check",
]
@@ -99,9 +99,9 @@
[[package]]
name = "anyhow"
-version = "1.0.55"
+version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd"
+checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
[[package]]
name = "approx"
@@ -188,9 +188,9 @@
[[package]]
name = "async-global-executor"
-version = "2.0.3"
+version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c026b7e44f1316b567ee750fea85103f87fcb80792b860e979f221259796ca0a"
+checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43"
dependencies = [
"async-channel",
"async-executor",
@@ -258,16 +258,15 @@
[[package]]
name = "async-std"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952"
+checksum = "52580991739c5cdb36cde8b2a516371c0a3b70dda36d916cc08b82372916808c"
dependencies = [
"async-attributes",
"async-channel",
"async-global-executor",
"async-io",
"async-lock",
- "async-process",
"crossbeam-utils",
"futures-channel",
"futures-core",
@@ -301,15 +300,15 @@
[[package]]
name = "async-task"
-version = "4.1.0"
+version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d306121baf53310a3fd342d88dc0824f6bbeace68347593658525565abee8"
+checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
[[package]]
name = "async-trait"
-version = "0.1.52"
+version = "0.1.53"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3"
+checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
dependencies = [
"proc-macro2",
"quote",
@@ -387,6 +386,20 @@
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
+name = "backoff"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
+dependencies = [
+ "futures-core",
+ "getrandom 0.2.6",
+ "instant",
+ "pin-project-lite 0.2.8",
+ "rand 0.8.5",
+ "tokio 1.17.0",
+]
+
+[[package]]
name = "backtrace"
version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -408,6 +421,12 @@
checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
[[package]]
+name = "base16ct"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+
+[[package]]
name = "base58"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -420,6 +439,12 @@
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
[[package]]
+name = "base64ct"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dea908e7347a8c64e378c17e30ef880ad73e3b4498346b055c2c00ea342f3179"
+
+[[package]]
name = "beef"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -431,14 +456,15 @@
[[package]]
name = "beefy-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"beefy-primitives",
"fnv",
"futures 0.3.21",
+ "hex",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-chain-spec",
"sc-client-api",
"sc-keystore",
@@ -460,7 +486,7 @@
[[package]]
name = "beefy-gadget-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"beefy-gadget",
"beefy-primitives",
@@ -471,7 +497,7 @@
"jsonrpc-pubsub",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-rpc",
"sc-utils",
"serde",
@@ -483,12 +509,12 @@
[[package]]
name = "beefy-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
[[package]]
name = "beefy-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -541,11 +567,11 @@
[[package]]
name = "bitvec"
-version = "0.20.4"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848"
+checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b"
dependencies = [
- "funty",
+ "funty 2.0.0",
"radium",
"tap",
"wyz",
@@ -563,6 +589,15 @@
]
[[package]]
+name = "blake2"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388"
+dependencies = [
+ "digest 0.10.3",
+]
+
+[[package]]
name = "blake2-rfc"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -610,6 +645,20 @@
]
[[package]]
+name = "blake3"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f"
+dependencies = [
+ "arrayref",
+ "arrayvec 0.7.2",
+ "cc",
+ "cfg-if 1.0.0",
+ "constant_time_eq",
+ "digest 0.10.3",
+]
+
+[[package]]
name = "block-buffer"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -657,9 +706,9 @@
[[package]]
name = "blocking"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "046e47d4b2d391b1f6f8b407b1deb8dee56c1852ccd868becf2710f601b5f427"
+checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
dependencies = [
"async-channel",
"async-task",
@@ -681,7 +730,7 @@
[[package]]
name = "bp-header-chain"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"finality-grandpa",
"frame-support",
@@ -697,7 +746,7 @@
[[package]]
name = "bp-message-dispatch"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-runtime",
"frame-support",
@@ -709,7 +758,7 @@
[[package]]
name = "bp-messages"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"bp-runtime",
@@ -725,7 +774,7 @@
[[package]]
name = "bp-polkadot-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-messages",
"bp-runtime",
@@ -743,7 +792,7 @@
[[package]]
name = "bp-rococo"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -760,7 +809,7 @@
[[package]]
name = "bp-runtime"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"hash-db",
@@ -778,7 +827,7 @@
[[package]]
name = "bp-test-utils"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-header-chain",
"ed25519-dalek",
@@ -793,7 +842,7 @@
[[package]]
name = "bp-wococo"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-messages",
"bp-polkadot-core",
@@ -808,7 +857,7 @@
[[package]]
name = "bridge-runtime-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-message-dispatch",
"bp-messages",
@@ -899,6 +948,17 @@
checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
[[package]]
+name = "bzip2-sys"
+version = "0.1.11+1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
name = "cache-padded"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -930,7 +990,7 @@
dependencies = [
"camino",
"cargo-platform",
- "semver 1.0.6",
+ "semver 1.0.7",
"serde",
"serde_json",
]
@@ -1051,9 +1111,9 @@
[[package]]
name = "clap"
-version = "3.1.5"
+version = "3.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ced1892c55c910c1219e98d6fc8d71f6bddba7905866ce740066d8bfea859312"
+checksum = "71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c"
dependencies = [
"atty",
"bitflags",
@@ -1068,9 +1128,9 @@
[[package]]
name = "clap_derive"
-version = "3.1.4"
+version = "3.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16"
+checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1"
dependencies = [
"heck 0.4.0",
"proc-macro-error",
@@ -1080,15 +1140,6 @@
]
[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
name = "concurrent-queue"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1098,6 +1149,12 @@
]
[[package]]
+name = "const-oid"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3"
+
+[[package]]
name = "constant_time_eq"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1145,9 +1202,9 @@
[[package]]
name = "cpufeatures"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469"
+checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
dependencies = [
"libc",
]
@@ -1252,9 +1309,9 @@
[[package]]
name = "crossbeam-channel"
-version = "0.5.2"
+version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
+checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53"
dependencies = [
"cfg-if 1.0.0",
"crossbeam-utils",
@@ -1273,10 +1330,11 @@
[[package]]
name = "crossbeam-epoch"
-version = "0.9.7"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9"
+checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c"
dependencies = [
+ "autocfg",
"cfg-if 1.0.0",
"crossbeam-utils",
"lazy_static",
@@ -1286,9 +1344,9 @@
[[package]]
name = "crossbeam-utils"
-version = "0.8.7"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6"
+checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
dependencies = [
"cfg-if 1.0.0",
"lazy_static",
@@ -1301,6 +1359,18 @@
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
+name = "crypto-bigint"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
+dependencies = [
+ "generic-array 0.14.5",
+ "rand_core 0.6.3",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
name = "crypto-common"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1351,9 +1421,9 @@
[[package]]
name = "ctor"
-version = "0.1.21"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa"
+checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
dependencies = [
"quote",
"syn",
@@ -1382,17 +1452,18 @@
[[package]]
name = "cumulus-client-cli"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"clap",
"sc-cli",
"sc-service",
+ "url 2.2.2",
]
[[package]]
name = "cumulus-client-collator"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-client-consensus-common",
"cumulus-client-network",
@@ -1400,7 +1471,7 @@
"cumulus-relay-chain-interface",
"futures 0.3.21",
"parity-scale-codec",
- "parking_lot 0.10.2",
+ "parking_lot 0.12.0",
"polkadot-node-primitives",
"polkadot-node-subsystem",
"polkadot-overseer",
@@ -1416,7 +1487,7 @@
[[package]]
name = "cumulus-client-consensus-aura"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"async-trait",
"cumulus-client-consensus-common",
@@ -1445,7 +1516,7 @@
[[package]]
name = "cumulus-client-consensus-common"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"async-trait",
"cumulus-relay-chain-interface",
@@ -1466,7 +1537,7 @@
[[package]]
name = "cumulus-client-network"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"async-trait",
"cumulus-relay-chain-interface",
@@ -1491,7 +1562,7 @@
[[package]]
name = "cumulus-client-pov-recovery"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"cumulus-relay-chain-interface",
@@ -1515,8 +1586,9 @@
[[package]]
name = "cumulus-client-service"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
+ "cumulus-client-cli",
"cumulus-client-collator",
"cumulus-client-consensus-common",
"cumulus-client-pov-recovery",
@@ -1544,7 +1616,7 @@
[[package]]
name = "cumulus-pallet-aura-ext"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"frame-executive",
"frame-support",
@@ -1562,7 +1634,7 @@
[[package]]
name = "cumulus-pallet-dmp-queue"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1580,7 +1652,7 @@
[[package]]
name = "cumulus-pallet-parachain-system"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-pallet-parachain-system-proc-macro",
"cumulus-primitives-core",
@@ -1610,7 +1682,7 @@
[[package]]
name = "cumulus-pallet-parachain-system-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -1621,7 +1693,7 @@
[[package]]
name = "cumulus-pallet-xcm"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1638,7 +1710,7 @@
[[package]]
name = "cumulus-pallet-xcmp-queue"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1656,7 +1728,7 @@
[[package]]
name = "cumulus-primitives-core"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -1672,7 +1744,7 @@
[[package]]
name = "cumulus-primitives-parachain-inherent"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1695,9 +1767,11 @@
[[package]]
name = "cumulus-primitives-timestamp"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
+ "futures 0.3.21",
+ "parity-scale-codec",
"sp-inherents",
"sp-std",
"sp-timestamp",
@@ -1706,7 +1780,7 @@
[[package]]
name = "cumulus-primitives-utility"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1721,16 +1795,47 @@
]
[[package]]
+name = "cumulus-relay-chain-inprocess-interface"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
+dependencies = [
+ "async-trait",
+ "cumulus-primitives-core",
+ "cumulus-relay-chain-interface",
+ "futures 0.3.21",
+ "futures-timer",
+ "parking_lot 0.12.0",
+ "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-relay-chain-interface"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"async-trait",
"cumulus-primitives-core",
"derive_more",
"futures 0.3.21",
+ "jsonrpsee-core 0.9.0",
+ "parity-scale-codec",
"parking_lot 0.12.0",
"polkadot-overseer",
+ "polkadot-service",
"sc-client-api",
"sc-service",
"sp-api",
@@ -1742,37 +1847,35 @@
]
[[package]]
-name = "cumulus-relay-chain-local"
+name = "cumulus-relay-chain-rpc-interface"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"async-trait",
+ "backoff",
"cumulus-primitives-core",
"cumulus-relay-chain-interface",
"futures 0.3.21",
"futures-timer",
+ "jsonrpsee 0.9.0",
+ "parity-scale-codec",
"parking_lot 0.12.0",
- "polkadot-client",
"polkadot-service",
"sc-client-api",
- "sc-consensus-babe",
- "sc-network",
- "sc-service",
- "sc-telemetry",
- "sc-tracing",
+ "sc-rpc-api",
"sp-api",
- "sp-blockchain",
- "sp-consensus",
"sp-core",
"sp-runtime",
"sp-state-machine",
+ "sp-storage",
"tracing",
+ "url 2.2.2",
]
[[package]]
name = "cumulus-test-relay-sproof-builder"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
@@ -1810,9 +1913,9 @@
[[package]]
name = "darling"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4"
+checksum = "4e92cb285610dd935f60ee8b4d62dd1988bd12b7ea50579bd6a138201525318e"
dependencies = [
"darling_core",
"darling_macro",
@@ -1820,9 +1923,9 @@
[[package]]
name = "darling_core"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324"
+checksum = "5c29e95ab498b18131ea460b2c0baa18cbf041231d122b0b7bfebef8c8e88989"
dependencies = [
"fnv",
"ident_case",
@@ -1834,9 +1937,9 @@
[[package]]
name = "darling_macro"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b"
+checksum = "b21dd6b221dd547528bd6fb15f1a3b7ab03b9a06f76bff288a8c629bcfbe7f0e"
dependencies = [
"darling_core",
"quote",
@@ -1870,6 +1973,15 @@
]
[[package]]
+name = "der"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c"
+dependencies = [
+ "const-oid",
+]
+
+[[package]]
name = "derivative"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1919,6 +2031,7 @@
dependencies = [
"block-buffer 0.10.2",
"crypto-common",
+ "subtle 2.4.1",
]
[[package]]
@@ -1942,9 +2055,9 @@
[[package]]
name = "dirs-sys"
-version = "0.3.6"
+version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
+checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
dependencies = [
"libc",
"redox_users",
@@ -2007,15 +2120,26 @@
[[package]]
name = "dyn-clone"
-version = "1.0.4"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf"
+checksum = "21e50f3adc76d6a43f5ed73b698a87d0760ca74617f60f7c3b879003536fdd28"
[[package]]
+name = "ecdsa"
+version = "0.13.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9"
+dependencies = [
+ "der",
+ "elliptic-curve",
+ "signature",
+]
+
+[[package]]
name = "ed25519"
-version = "1.4.0"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eed12bbf7b5312f8da1c2722bc06d8c6b12c2d86a7fb35a194c7f3e6fc2bbe39"
+checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4"
dependencies = [
"signature",
]
@@ -2041,6 +2165,24 @@
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]]
+name = "elliptic-curve"
+version = "0.11.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6"
+dependencies = [
+ "base16ct",
+ "crypto-bigint",
+ "der",
+ "ff",
+ "generic-array 0.14.5",
+ "group",
+ "rand_core 0.6.3",
+ "sec1",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
name = "enum-as-inner"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2125,9 +2267,9 @@
[[package]]
name = "ethbloom"
-version = "0.11.1"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfb684ac8fa8f6c5759f788862bb22ec6fe3cb392f6bfd08e3c64b603661e3f8"
+checksum = "11da94e443c60508eb62cf256243a64da87304c2802ac2528847f79d750007ef"
dependencies = [
"crunchy",
"fixed-hash",
@@ -2140,9 +2282,9 @@
[[package]]
name = "ethereum"
-version = "0.11.1"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34c90e0a755da706ce0970ec0fa8cc48aabcc8e8efa1245336acf718dab06ffe"
+checksum = "23750149fe8834c0e24bb9adcbacbe06c45b9861f15df53e09f26cb7c4ab91ef"
dependencies = [
"bytes 1.1.0",
"ethereum-types",
@@ -2153,22 +2295,22 @@
"rlp-derive",
"scale-info",
"serde",
- "sha3 0.9.1",
+ "sha3 0.10.1",
"triehash",
]
[[package]]
name = "ethereum-types"
-version = "0.12.1"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05136f7057fe789f06e6d41d07b34e6f70d8c86e5693b60f97aaa6553553bdaf"
+checksum = "b2827b94c556145446fcce834ca86b7abf0c39a805883fe20e72c5bfdb5a0dc6"
dependencies = [
"ethbloom",
"fixed-hash",
"impl-codec",
"impl-rlp",
"impl-serde",
- "primitive-types 0.10.1",
+ "primitive-types",
"scale-info",
"uint",
]
@@ -2182,7 +2324,7 @@
[[package]]
name = "evm"
version = "0.33.1"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.18#5012fe9034f0a5cc6881d385890b11ef35d2e39a"
dependencies = [
"auto_impl",
"environmental",
@@ -2192,7 +2334,7 @@
"evm-runtime",
"log",
"parity-scale-codec",
- "primitive-types 0.10.1",
+ "primitive-types",
"rlp",
"scale-info",
"serde",
@@ -2209,7 +2351,7 @@
"hex",
"hex-literal",
"impl-trait-for-tuples",
- "primitive-types 0.10.1",
+ "primitive-types",
]
[[package]]
@@ -2228,11 +2370,11 @@
[[package]]
name = "evm-core"
version = "0.33.0"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.18#5012fe9034f0a5cc6881d385890b11ef35d2e39a"
dependencies = [
- "funty",
+ "funty 1.1.0",
"parity-scale-codec",
- "primitive-types 0.10.1",
+ "primitive-types",
"scale-info",
"serde",
]
@@ -2240,23 +2382,23 @@
[[package]]
name = "evm-gasometer"
version = "0.33.0"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.18#5012fe9034f0a5cc6881d385890b11ef35d2e39a"
dependencies = [
"environmental",
"evm-core",
"evm-runtime",
- "primitive-types 0.10.1",
+ "primitive-types",
]
[[package]]
name = "evm-runtime"
version = "0.33.0"
-source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
+source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.18#5012fe9034f0a5cc6881d385890b11ef35d2e39a"
dependencies = [
"auto_impl",
"environmental",
"evm-core",
- "primitive-types 0.10.1",
+ "primitive-types",
"sha3 0.8.2",
]
@@ -2270,6 +2412,30 @@
]
[[package]]
+name = "expander"
+version = "0.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a718c0675c555c5f976fff4ea9e2c150fa06cefa201cadef87cfbf9324075881"
+dependencies = [
+ "blake3 1.3.1",
+ "fs-err",
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
+name = "expander"
+version = "0.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "309f21c39e8e38e4b6eda07e155bd7a4e5fc4d707cefd0402cc82a8b6bb65aaa"
+dependencies = [
+ "blake2 0.10.4",
+ "fs-err",
+ "proc-macro2",
+ "quote",
+]
+
+[[package]]
name = "fake-simd"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2291,9 +2457,34 @@
]
[[package]]
+name = "fatality"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ad875162843b0d046276327afe0136e9ed3a23d5a754210fb6f1f33610d39ab"
+dependencies = [
+ "fatality-proc-macro",
+ "thiserror",
+]
+
+[[package]]
+name = "fatality-proc-macro"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd"
+dependencies = [
+ "expander 0.0.4",
+ "indexmap",
+ "proc-macro-crate 1.1.3",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "thiserror",
+]
+
+[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"async-trait",
"derive_more",
@@ -2320,7 +2511,7 @@
[[package]]
name = "fc-db"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"fp-storage",
"kvdb",
@@ -2336,7 +2527,7 @@
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"fc-consensus",
"fc-db",
@@ -2354,7 +2545,7 @@
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2400,7 +2591,7 @@
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2425,6 +2616,16 @@
]
[[package]]
+name = "ff"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2958d04124b9f27f175eaeb9a9f383d026098aa837eadd8ba22c11f13a05b9e"
+dependencies = [
+ "rand_core 0.6.3",
+ "subtle 2.4.1",
+]
+
+[[package]]
name = "file-per-thread-logger"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2436,9 +2637,9 @@
[[package]]
name = "finality-grandpa"
-version = "0.14.4"
+version = "0.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8ac3ff5224ef91f3c97e03eb1de2db82743427e91aaa5ac635f454f0b164f5a"
+checksum = "d9def033d8505edf199f6a5d07aa7e6d2d6185b164293b77f0efd108f4f3e11d"
dependencies = [
"either",
"futures 0.3.21",
@@ -2506,7 +2707,7 @@
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
]
@@ -2524,7 +2725,7 @@
[[package]]
name = "fp-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"parity-scale-codec",
@@ -2538,7 +2739,7 @@
[[package]]
name = "fp-evm"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"evm",
"impl-trait-for-tuples",
@@ -2550,9 +2751,18 @@
]
[[package]]
+name = "fp-evm-mapping"
+version = "0.1.0"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
+dependencies = [
+ "frame-support",
+ "sp-core",
+]
+
+[[package]]
name = "fp-rpc"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2569,7 +2779,7 @@
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"frame-support",
@@ -2586,12 +2796,12 @@
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -2613,7 +2823,7 @@
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"Inflector",
"chrono",
@@ -2621,26 +2831,40 @@
"frame-benchmarking",
"frame-support",
"handlebars",
+ "hash-db",
+ "hex",
+ "itertools",
+ "kvdb",
"linked-hash-map",
"log",
+ "memory-db",
"parity-scale-codec",
+ "rand 0.8.5",
"sc-cli",
+ "sc-client-api",
"sc-client-db",
"sc-executor",
"sc-service",
"serde",
"serde_json",
+ "serde_nanos",
+ "sp-api",
+ "sp-blockchain",
"sp-core",
+ "sp-database",
"sp-externalities",
"sp-keystore",
"sp-runtime",
"sp-state-machine",
+ "sp-std",
+ "sp-storage",
+ "sp-trie",
]
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -2654,7 +2878,7 @@
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -2669,9 +2893,9 @@
[[package]]
name = "frame-metadata"
-version = "14.2.0"
+version = "15.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ed5e5c346de62ca5c184b4325a6600d1eaca210666e4606fe4e449574978d0"
+checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d"
dependencies = [
"cfg-if 1.0.0",
"parity-scale-codec",
@@ -2682,7 +2906,7 @@
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"bitflags",
"frame-metadata",
@@ -2711,7 +2935,7 @@
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"Inflector",
"frame-support-procedural-tools",
@@ -2723,7 +2947,7 @@
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate 1.1.3",
@@ -2735,7 +2959,7 @@
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro2",
"quote",
@@ -2745,7 +2969,7 @@
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"log",
@@ -2762,7 +2986,7 @@
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -2777,7 +3001,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.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -2786,7 +3010,7 @@
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"sp-api",
@@ -2823,6 +3047,12 @@
]
[[package]]
+name = "fs_extra"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394"
+
+[[package]]
name = "fuchsia-zircon"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2845,6 +3075,12 @@
checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
name = "futures"
version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3007,9 +3243,9 @@
[[package]]
name = "getrandom"
-version = "0.2.5"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77"
+checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -3069,10 +3305,21 @@
]
[[package]]
+name = "group"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89"
+dependencies = [
+ "ff",
+ "rand_core 0.6.3",
+ "subtle 2.4.1",
+]
+
+[[package]]
name = "h2"
-version = "0.3.11"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e"
+checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
dependencies = [
"bytes 1.1.0",
"fnv",
@@ -3083,15 +3330,15 @@
"indexmap",
"slab",
"tokio 1.17.0",
- "tokio-util",
+ "tokio-util 0.7.1",
"tracing",
]
[[package]]
name = "handlebars"
-version = "4.2.1"
+version = "4.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25546a65e5cf1f471f3438796fc634650b31d7fcde01d444c309aeb28b92e3a8"
+checksum = "99d6a30320f094710245150395bc763ad23128d6a1ebbad7594dc4164b62c56b"
dependencies = [
"log",
"pest",
@@ -3281,9 +3528,9 @@
[[package]]
name = "hyper"
-version = "0.14.17"
+version = "0.14.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "043f0e083e9901b6cc658a77d1eb86f4fc650bbb977a4337dd63192826aa85dd"
+checksum = "b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2"
dependencies = [
"bytes 1.1.0",
"futures-channel",
@@ -3321,6 +3568,22 @@
]
[[package]]
+name = "hyper-rustls"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac"
+dependencies = [
+ "http",
+ "hyper",
+ "log",
+ "rustls 0.20.4",
+ "rustls-native-certs 0.6.1",
+ "tokio 1.17.0",
+ "tokio-rustls 0.23.3",
+ "webpki-roots 0.22.2",
+]
+
+[[package]]
name = "ident_case"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3387,9 +3650,9 @@
[[package]]
name = "impl-codec"
-version = "0.5.1"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "161ebdfec3c8e3b52bf61c4f3550a1eea4f9579d10dc1b936f3171ebdcd6c443"
+checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
dependencies = [
"parity-scale-codec",
]
@@ -3425,9 +3688,9 @@
[[package]]
name = "indexmap"
-version = "1.8.0"
+version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
+checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee"
dependencies = [
"autocfg",
"hashbrown 0.11.2",
@@ -3496,9 +3759,9 @@
[[package]]
name = "ipnet"
-version = "2.3.1"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9"
+checksum = "35e70ee094dc02fd9c13fdad4940090f22dbd6ac7c9e7094a46cf0232a50bc7c"
[[package]]
name = "itertools"
@@ -3652,7 +3915,7 @@
"log",
"tokio 1.17.0",
"tokio-stream",
- "tokio-util",
+ "tokio-util 0.6.9",
"unicase",
]
@@ -3688,13 +3951,25 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05fd8cd6c6b1bbd06881d2cf88f1fc83cc36c98f2219090f839115fb4a956cb9"
dependencies = [
- "jsonrpsee-core",
+ "jsonrpsee-core 0.8.0",
"jsonrpsee-proc-macros",
"jsonrpsee-types 0.8.0",
"jsonrpsee-ws-client 0.8.0",
]
[[package]]
+name = "jsonrpsee"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0d0b8cc1959f8c05256ace093b2317482da9127f1d9227564f47e7e6bf9bda8"
+dependencies = [
+ "jsonrpsee-core 0.9.0",
+ "jsonrpsee-http-client",
+ "jsonrpsee-types 0.9.0",
+ "jsonrpsee-ws-client 0.9.0",
+]
+
+[[package]]
name = "jsonrpsee-client-transport"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3702,20 +3977,41 @@
dependencies = [
"futures 0.3.21",
"http",
- "jsonrpsee-core",
+ "jsonrpsee-core 0.8.0",
"jsonrpsee-types 0.8.0",
"pin-project 1.0.10",
"rustls-native-certs 0.6.1",
"soketto",
"thiserror",
"tokio 1.17.0",
- "tokio-rustls 0.23.2",
- "tokio-util",
+ "tokio-rustls 0.23.3",
+ "tokio-util 0.6.9",
"tracing",
"webpki-roots 0.22.2",
]
[[package]]
+name = "jsonrpsee-client-transport"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa370c2c717d798c3c0a315ae3f0a707a388c6963c11f9da7dbbe1d3f7392f5f"
+dependencies = [
+ "futures 0.3.21",
+ "http",
+ "jsonrpsee-core 0.9.0",
+ "jsonrpsee-types 0.9.0",
+ "pin-project 1.0.10",
+ "rustls-native-certs 0.6.1",
+ "soketto",
+ "thiserror",
+ "tokio 1.17.0",
+ "tokio-rustls 0.23.3",
+ "tokio-util 0.6.9",
+ "tracing",
+ "webpki-roots 0.22.2",
+]
+
+[[package]]
name = "jsonrpsee-core"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3739,6 +4035,48 @@
]
[[package]]
+name = "jsonrpsee-core"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22abc3274b265dcefe2e26c4beecf9fda4fffa48cf94930443a6c73678f020d5"
+dependencies = [
+ "anyhow",
+ "arrayvec 0.7.2",
+ "async-trait",
+ "beef",
+ "futures-channel",
+ "futures-util",
+ "hyper",
+ "jsonrpsee-types 0.9.0",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "soketto",
+ "thiserror",
+ "tokio 1.17.0",
+ "tracing",
+]
+
+[[package]]
+name = "jsonrpsee-http-client"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d31b837273d09dd80051eefa57d337769dff6c3266108c43a3544ac7ffed9d68"
+dependencies = [
+ "async-trait",
+ "hyper",
+ "hyper-rustls 0.23.0",
+ "jsonrpsee-core 0.9.0",
+ "jsonrpsee-types 0.9.0",
+ "rustc-hash",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tokio 1.17.0",
+ "tracing",
+]
+
+[[package]]
name = "jsonrpsee-proc-macros"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3784,6 +4122,20 @@
]
[[package]]
+name = "jsonrpsee-types"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f4c45d2e2aa1db4c7d7d7dbaabc10a5b5258d99cd9d42fbfd5260b76f80c324"
+dependencies = [
+ "anyhow",
+ "beef",
+ "serde",
+ "serde_json",
+ "thiserror",
+ "tracing",
+]
+
+[[package]]
name = "jsonrpsee-utils"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3815,7 +4167,7 @@
"thiserror",
"tokio 1.17.0",
"tokio-rustls 0.22.0",
- "tokio-util",
+ "tokio-util 0.6.9",
]
[[package]]
@@ -3824,12 +4176,35 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aff425cee7c779e33920913bc695447416078ee6d119f443f3060feffa4e86b5"
dependencies = [
- "jsonrpsee-client-transport",
- "jsonrpsee-core",
+ "jsonrpsee-client-transport 0.8.0",
+ "jsonrpsee-core 0.8.0",
"jsonrpsee-types 0.8.0",
]
[[package]]
+name = "jsonrpsee-ws-client"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "31b58983485b2b626c276f1eb367d62dae82132451b281072a7bfa536a33ddf3"
+dependencies = [
+ "jsonrpsee-client-transport 0.9.0",
+ "jsonrpsee-core 0.9.0",
+ "jsonrpsee-types 0.9.0",
+]
+
+[[package]]
+name = "k256"
+version = "0.10.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19c3a5e0a0b8450278feda242592512e09f61c72e018b8cd5c859482802daf2d"
+dependencies = [
+ "cfg-if 1.0.0",
+ "ecdsa",
+ "elliptic-curve",
+ "sec1",
+]
+
+[[package]]
name = "keccak"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3847,8 +4222,8 @@
[[package]]
name = "kusama-runtime"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -3935,8 +4310,8 @@
[[package]]
name = "kusama-runtime-constants"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -3956,9 +4331,9 @@
[[package]]
name = "kvdb"
-version = "0.10.0"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45a3f58dc069ec0e205a27f5b45920722a46faed802a0541538241af6228f512"
+checksum = "a301d8ecb7989d4a6e2c57a49baca77d353bdbf879909debe3f375fe25d61f86"
dependencies = [
"parity-util-mem",
"smallvec",
@@ -3966,20 +4341,20 @@
[[package]]
name = "kvdb-memorydb"
-version = "0.10.0"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3b6b85fc643f5acd0bffb2cc8a6d150209379267af0d41db72170021841f9f5"
+checksum = "ece7e668abd21387aeb6628130a6f4c802787f014fa46bc83221448322250357"
dependencies = [
"kvdb",
"parity-util-mem",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
]
[[package]]
name = "kvdb-rocksdb"
-version = "0.14.0"
+version = "0.15.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b1b6ea8f2536f504b645ad78419c8246550e19d2c3419a167080ce08edee35a"
+checksum = "ca7fbdfd71cd663dceb0faf3367a99f8cf724514933e9867cec4995b6027cbc1"
dependencies = [
"fs-swap",
"kvdb",
@@ -3987,7 +4362,7 @@
"num_cpus",
"owning_ref",
"parity-util-mem",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"regex",
"rocksdb",
"smallvec",
@@ -4007,9 +4382,9 @@
[[package]]
name = "libc"
-version = "0.2.119"
+version = "0.2.121"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4"
+checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
[[package]]
name = "libloading"
@@ -4512,14 +4887,17 @@
[[package]]
name = "librocksdb-sys"
-version = "6.20.3"
+version = "0.6.1+6.28.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c309a9d2470844aceb9a4a098cf5286154d20596868b75a6b36357d2bb9ca25d"
+checksum = "81bc587013734dadb7cf23468e531aa120788b87243648be42e2d3a072186291"
dependencies = [
"bindgen",
+ "bzip2-sys",
"cc",
"glob",
"libc",
+ "libz-sys",
+ "tikv-jemalloc-sys",
]
[[package]]
@@ -4588,9 +4966,9 @@
[[package]]
name = "libz-sys"
-version = "1.1.3"
+version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
+checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859"
dependencies = [
"cc",
"pkg-config",
@@ -4630,27 +5008,19 @@
[[package]]
name = "lock_api"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
-dependencies = [
- "scopeguard",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.6"
+version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b"
+checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
dependencies = [
+ "autocfg",
"scopeguard",
]
[[package]]
name = "log"
-version = "0.4.14"
+version = "0.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
dependencies = [
"cfg-if 1.0.0",
"value-bag",
@@ -4685,9 +5055,9 @@
[[package]]
name = "lz4"
-version = "1.23.2"
+version = "1.23.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aac20ed6991e01bf6a2e68cc73df2b389707403662a8ba89f68511fb340f724c"
+checksum = "4edcb94251b1c375c459e5abe9fb0168c1c826c3370172684844f8f3f8d1a885"
dependencies = [
"libc",
"lz4-sys",
@@ -4695,9 +5065,9 @@
[[package]]
name = "lz4-sys"
-version = "1.9.2"
+version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dca79aa95d8b3226213ad454d328369853be3a1382d89532a854f4d69640acae"
+checksum = "d7be8908e2ed6f31c02db8a9fa962f03e36c53fbfde437363eae3306b85d7e17"
dependencies = [
"cc",
"libc",
@@ -4783,12 +5153,12 @@
[[package]]
name = "memory-db"
-version = "0.28.0"
+version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d505169b746dacf02f7d14d8c80b34edfd8212159c63d23c977739a0d960c626"
+checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a"
dependencies = [
"hash-db",
- "hashbrown 0.11.2",
+ "hashbrown 0.12.0",
"parity-util-mem",
]
@@ -4821,8 +5191,8 @@
[[package]]
name = "metered-channel"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"derive_more",
"futures 0.3.21",
@@ -4833,9 +5203,9 @@
[[package]]
name = "mick-jaeger"
-version = "0.1.7"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd2c2cc134e57461f0898b0e921f0a7819b5e3f3a4335b9aa390ce81a5f36fb9"
+checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532"
dependencies = [
"futures 0.3.21",
"rand 0.8.5",
@@ -4879,14 +5249,15 @@
[[package]]
name = "mio"
-version = "0.8.0"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2"
+checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9"
dependencies = [
"libc",
"log",
"miow 0.3.7",
"ntapi",
+ "wasi 0.11.0+wasi-snapshot-preview1",
"winapi 0.3.9",
]
@@ -4966,7 +5337,7 @@
dependencies = [
"blake2b_simd",
"blake2s_simd",
- "blake3",
+ "blake3 0.3.8",
"digest 0.9.0",
"generic-array 0.14.5",
"multihash-derive",
@@ -5085,13 +5456,12 @@
[[package]]
name = "nom"
-version = "7.1.0"
+version = "7.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109"
+checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
dependencies = [
"memchr",
"minimal-lexical",
- "version_check",
]
[[package]]
@@ -5124,6 +5494,16 @@
]
[[package]]
+name = "num-format"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465"
+dependencies = [
+ "arrayvec 0.4.12",
+ "itoa 0.4.8",
+]
+
+[[package]]
name = "num-integer"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5195,7 +5575,7 @@
[[package]]
name = "opal-runtime"
-version = "0.1.0"
+version = "0.9.18"
dependencies = [
"cumulus-pallet-aura-ext",
"cumulus-pallet-dmp-queue",
@@ -5206,6 +5586,7 @@
"cumulus-primitives-timestamp",
"cumulus-primitives-utility",
"derivative",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -5262,7 +5643,6 @@
"substrate-wasm-builder",
"unique-runtime-common",
"up-data-structs",
- "up-evm-mapping",
"up-rpc",
"xcm",
"xcm-builder",
@@ -5322,7 +5702,7 @@
[[package]]
name = "orml-vesting"
version = "0.4.1-dev"
-source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.17#8cea7142d6ac4471e226e92c20005794e8e78063"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.18#4690ac0d5e85a35351608d27c4304dfc6df4eb03"
dependencies = [
"frame-support",
"frame-system",
@@ -5355,7 +5735,7 @@
[[package]]
name = "pallet-aura"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -5371,7 +5751,7 @@
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -5387,7 +5767,7 @@
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -5402,7 +5782,7 @@
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5426,7 +5806,7 @@
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5446,7 +5826,7 @@
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5461,7 +5841,7 @@
[[package]]
name = "pallet-base-fee"
version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"frame-support",
"frame-system",
@@ -5476,7 +5856,7 @@
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"beefy-primitives",
"frame-support",
@@ -5492,14 +5872,14 @@
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"beefy-merkle-tree",
"beefy-primitives",
"frame-support",
"frame-system",
"hex",
- "libsecp256k1 0.7.0",
+ "k256",
"log",
"pallet-beefy",
"pallet-mmr",
@@ -5517,7 +5897,7 @@
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5535,7 +5915,7 @@
[[package]]
name = "pallet-bridge-dispatch"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-message-dispatch",
"bp-runtime",
@@ -5552,7 +5932,7 @@
[[package]]
name = "pallet-bridge-grandpa"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bp-header-chain",
"bp-runtime",
@@ -5574,7 +5954,7 @@
[[package]]
name = "pallet-bridge-messages"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"bp-message-dispatch",
@@ -5595,7 +5975,7 @@
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5614,6 +5994,7 @@
version = "0.1.0"
dependencies = [
"evm-coder",
+ "fp-evm-mapping",
"frame-support",
"frame-system",
"pallet-evm",
@@ -5625,13 +6006,12 @@
"sp-runtime",
"sp-std",
"up-data-structs",
- "up-evm-mapping",
]
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5647,7 +6027,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.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -5664,13 +6044,13 @@
"sp-runtime",
"sp-std",
"static_assertions",
- "strum",
+ "strum 0.23.0",
]
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5688,13 +6068,14 @@
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
"evm",
"fp-consensus",
"fp-evm",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"fp-storage",
@@ -5718,12 +6099,13 @@
[[package]]
name = "pallet-evm"
version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.17#f08656c065b5d7ba35393cd5d57a19b1997e382c"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"evm",
"evm-gasometer",
"evm-runtime",
"fp-evm",
+ "fp-evm-mapping",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -5733,7 +6115,7 @@
"pallet-balances",
"pallet-timestamp",
"parity-scale-codec",
- "primitive-types 0.9.1",
+ "primitive-types",
"rlp",
"scale-info",
"serde",
@@ -5766,6 +6148,7 @@
version = "0.1.0"
dependencies = [
"evm-coder",
+ "fp-evm-mapping",
"frame-support",
"frame-system",
"log",
@@ -5801,6 +6184,7 @@
version = "0.1.0"
dependencies = [
"fp-evm",
+ "fp-evm-mapping",
"frame-support",
"frame-system",
"pallet-ethereum",
@@ -5811,7 +6195,6 @@
"sp-io",
"sp-runtime",
"sp-std",
- "up-evm-mapping",
"up-sponsorship",
]
@@ -5825,6 +6208,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"pallet-evm-coder-substrate",
"parity-scale-codec",
"scale-info",
@@ -5837,7 +6221,7 @@
[[package]]
name = "pallet-gilt"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5852,7 +6236,7 @@
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5875,7 +6259,7 @@
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -5891,7 +6275,7 @@
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5911,7 +6295,7 @@
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5947,7 +6331,7 @@
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -5964,7 +6348,7 @@
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"ckb-merkle-mountain-range",
"frame-benchmarking",
@@ -5982,7 +6366,7 @@
[[package]]
name = "pallet-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -5998,7 +6382,7 @@
[[package]]
name = "pallet-mmr-rpc"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -6015,7 +6399,7 @@
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6030,7 +6414,7 @@
[[package]]
name = "pallet-nicks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6051,6 +6435,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"pallet-evm-coder-substrate",
"parity-scale-codec",
"scale-info",
@@ -6063,7 +6448,7 @@
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6080,7 +6465,7 @@
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6103,7 +6488,7 @@
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6119,7 +6504,7 @@
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6134,7 +6519,7 @@
[[package]]
name = "pallet-randomness-collective-flip"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6148,7 +6533,7 @@
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6167,6 +6552,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"scale-info",
"sp-core",
@@ -6178,7 +6564,7 @@
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6194,7 +6580,7 @@
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6215,7 +6601,7 @@
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6231,7 +6617,7 @@
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6245,7 +6631,7 @@
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6268,7 +6654,7 @@
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -6279,7 +6665,7 @@
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"log",
"sp-arithmetic",
@@ -6288,7 +6674,7 @@
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6302,7 +6688,7 @@
[[package]]
name = "pallet-template-transaction-payment"
version = "3.0.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.17#28f311f8de67155865d362f6ded1d0d5229f3202"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#7bc842b35a53f762ee6ee89e5f5bef84a284c9f4"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6322,7 +6708,7 @@
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6340,7 +6726,7 @@
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6359,7 +6745,7 @@
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-support",
"frame-system",
@@ -6376,7 +6762,7 @@
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -6393,7 +6779,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.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -6404,7 +6790,7 @@
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6425,6 +6811,7 @@
"ethereum",
"evm-coder",
"fp-evm",
+ "fp-evm-mapping",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -6441,7 +6828,7 @@
"pallet-timestamp",
"pallet-transaction-payment",
"parity-scale-codec",
- "primitive-types 0.10.1",
+ "primitive-types",
"rlp",
"scale-info",
"serde",
@@ -6451,7 +6838,6 @@
"sp-runtime",
"sp-std",
"up-data-structs",
- "up-evm-mapping",
"up-sponsorship",
]
@@ -6477,7 +6863,7 @@
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6493,7 +6879,7 @@
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6507,8 +6893,8 @@
[[package]]
name = "pallet-xcm"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"frame-system",
@@ -6525,8 +6911,8 @@
[[package]]
name = "pallet-xcm-benchmarks"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6543,7 +6929,7 @@
[[package]]
name = "parachain-info"
version = "0.1.0"
-source = "git+https://github.com/uniqueNetwork/cumulus.git?branch=polkadot-v0.9.17#0f5779b5e9f1e8bd851aaa94dad15870078d9528"
+source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.18#b1e91afb7421309b203d7627b736d9bcf58260eb"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -6555,9 +6941,9 @@
[[package]]
name = "parity-db"
-version = "0.3.8"
+version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "865edee5b792f537356d9e55cbc138e7f4718dc881a7ea45a18b37bf61c21e3d"
+checksum = "3d121a9af17a43efd0a38c6afa508b927ba07785bd4709efb2ac03bf77efef8d"
dependencies = [
"blake2-rfc",
"crc32fast",
@@ -6574,9 +6960,9 @@
[[package]]
name = "parity-scale-codec"
-version = "2.3.1"
+version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909"
+checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066"
dependencies = [
"arrayvec 0.7.2",
"bitvec",
@@ -6588,9 +6974,9 @@
[[package]]
name = "parity-scale-codec-derive"
-version = "2.3.1"
+version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27"
+checksum = "c45ed1f39709f5a89338fab50e59816b2e8815f5bb58276e7ddf9afd495f73f8"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -6620,18 +7006,18 @@
[[package]]
name = "parity-util-mem"
-version = "0.10.2"
+version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f4cb4e169446179cbc6b8b6320cc9fca49bd2e94e8db25f25f200a8ea774770"
+checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f"
dependencies = [
"cfg-if 1.0.0",
"ethereum-types",
- "hashbrown 0.11.2",
+ "hashbrown 0.12.0",
"impl-trait-for-tuples",
- "lru 0.6.6",
+ "lru 0.7.3",
"parity-util-mem-derive",
- "parking_lot 0.11.2",
- "primitive-types 0.10.1",
+ "parking_lot 0.12.0",
+ "primitive-types",
"smallvec",
"winapi 0.3.9",
]
@@ -6685,16 +7071,6 @@
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
-
-[[package]]
-name = "parking_lot"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3a704eb390aafdc107b0e392f56a82b668e3a71366993b5340f5833fd62505e"
-dependencies = [
- "lock_api 0.3.4",
- "parking_lot_core 0.7.2",
-]
[[package]]
name = "parking_lot"
@@ -6703,7 +7079,7 @@
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
dependencies = [
"instant",
- "lock_api 0.4.6",
+ "lock_api",
"parking_lot_core 0.8.5",
]
@@ -6713,22 +7089,8 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
dependencies = [
- "lock_api 0.4.6",
- "parking_lot_core 0.9.1",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d58c7c768d4ba344e3e8d72518ac13e259d7c7ade24167003b8488e10b6740a3"
-dependencies = [
- "cfg-if 0.1.10",
- "cloudabi",
- "libc",
- "redox_syscall 0.1.57",
- "smallvec",
- "winapi 0.3.9",
+ "lock_api",
+ "parking_lot_core 0.9.2",
]
[[package]]
@@ -6740,29 +7102,29 @@
"cfg-if 1.0.0",
"instant",
"libc",
- "redox_syscall 0.2.11",
+ "redox_syscall",
"smallvec",
"winapi 0.3.9",
]
[[package]]
name = "parking_lot_core"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954"
+checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37"
dependencies = [
"cfg-if 1.0.0",
"libc",
- "redox_syscall 0.2.11",
+ "redox_syscall",
"smallvec",
"windows-sys",
]
[[package]]
name = "paste"
-version = "1.0.6"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
+checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc"
[[package]]
name = "pbkdf2"
@@ -6912,10 +7274,21 @@
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
+name = "pkcs8"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0"
+dependencies = [
+ "der",
+ "spki",
+ "zeroize",
+]
+
+[[package]]
name = "pkg-config"
-version = "0.3.24"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
+checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
[[package]]
name = "platforms"
@@ -6925,8 +7298,8 @@
[[package]]
name = "polkadot-approval-distribution"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"polkadot-node-network-protocol",
@@ -6939,8 +7312,8 @@
[[package]]
name = "polkadot-availability-bitfield-distribution"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"polkadot-node-network-protocol",
@@ -6952,10 +7325,11 @@
[[package]]
name = "polkadot-availability-distribution"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"derive_more",
+ "fatality",
"futures 0.3.21",
"lru 0.7.3",
"parity-scale-codec",
@@ -6974,9 +7348,10 @@
[[package]]
name = "polkadot-availability-recovery"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
+ "fatality",
"futures 0.3.21",
"lru 0.7.3",
"parity-scale-codec",
@@ -6994,8 +7369,8 @@
[[package]]
name = "polkadot-cli"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"clap",
"frame-benchmarking-cli",
@@ -7017,8 +7392,8 @@
[[package]]
name = "polkadot-client"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"frame-benchmarking",
@@ -7047,11 +7422,11 @@
[[package]]
name = "polkadot-collator-protocol"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"always-assert",
- "derive_more",
+ "fatality",
"futures 0.3.21",
"futures-timer",
"polkadot-node-network-protocol",
@@ -7068,8 +7443,8 @@
[[package]]
name = "polkadot-core-primitives"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"parity-scale-codec",
"parity-util-mem",
@@ -7081,10 +7456,11 @@
[[package]]
name = "polkadot-dispute-distribution"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"derive_more",
+ "fatality",
"futures 0.3.21",
"lru 0.7.3",
"parity-scale-codec",
@@ -7103,8 +7479,8 @@
[[package]]
name = "polkadot-erasure-coding"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"parity-scale-codec",
"polkadot-node-primitives",
@@ -7117,8 +7493,8 @@
[[package]]
name = "polkadot-gossip-support"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -7137,13 +7513,13 @@
[[package]]
name = "polkadot-network-bridge"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
"futures 0.3.21",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"polkadot-node-network-protocol",
"polkadot-node-subsystem",
"polkadot-node-subsystem-util",
@@ -7156,8 +7532,8 @@
[[package]]
name = "polkadot-node-collation-generation"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"parity-scale-codec",
@@ -7174,8 +7550,8 @@
[[package]]
name = "polkadot-node-core-approval-voting"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"derive_more",
@@ -7202,8 +7578,8 @@
[[package]]
name = "polkadot-node-core-av-store"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"futures 0.3.21",
@@ -7222,8 +7598,8 @@
[[package]]
name = "polkadot-node-core-backing"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"futures 0.3.21",
@@ -7240,8 +7616,8 @@
[[package]]
name = "polkadot-node-core-bitfield-signing"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"polkadot-node-subsystem",
@@ -7255,8 +7631,8 @@
[[package]]
name = "polkadot-node-core-candidate-validation"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7273,8 +7649,8 @@
[[package]]
name = "polkadot-node-core-chain-api"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"polkadot-node-subsystem",
@@ -7288,8 +7664,8 @@
[[package]]
name = "polkadot-node-core-chain-selection"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -7305,9 +7681,10 @@
[[package]]
name = "polkadot-node-core-dispute-coordinator"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
+ "fatality",
"futures 0.3.21",
"kvdb",
"lru 0.7.3",
@@ -7323,8 +7700,8 @@
[[package]]
name = "polkadot-node-core-parachains-inherent"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7340,8 +7717,8 @@
[[package]]
name = "polkadot-node-core-provisioner"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"futures 0.3.21",
@@ -7357,8 +7734,8 @@
[[package]]
name = "polkadot-node-core-pvf"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"always-assert",
"assert_matches",
@@ -7387,8 +7764,8 @@
[[package]]
name = "polkadot-node-core-pvf-checker"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"polkadot-node-primitives",
@@ -7403,8 +7780,8 @@
[[package]]
name = "polkadot-node-core-runtime-api"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"memory-lru",
@@ -7421,15 +7798,15 @@
[[package]]
name = "polkadot-node-jaeger"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-std",
"lazy_static",
"log",
"mick-jaeger",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"polkadot-node-primitives",
"polkadot-primitives",
"sc-network",
@@ -7439,8 +7816,8 @@
[[package]]
name = "polkadot-node-metrics"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bs58",
"futures 0.3.21",
@@ -7458,11 +7835,11 @@
[[package]]
name = "polkadot-node-network-protocol"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
- "derive_more",
+ "fatality",
"futures 0.3.21",
"parity-scale-codec",
"polkadot-node-jaeger",
@@ -7470,14 +7847,14 @@
"polkadot-primitives",
"sc-authority-discovery",
"sc-network",
- "strum",
+ "strum 0.24.0",
"thiserror",
]
[[package]]
name = "polkadot-node-primitives"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bounded-vec",
"futures 0.3.21",
@@ -7498,8 +7875,8 @@
[[package]]
name = "polkadot-node-subsystem"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"polkadot-node-jaeger",
"polkadot-node-subsystem-types",
@@ -7508,8 +7885,8 @@
[[package]]
name = "polkadot-node-subsystem-types"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"derive_more",
"futures 0.3.21",
@@ -7527,16 +7904,21 @@
[[package]]
name = "polkadot-node-subsystem-util"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
"derive_more",
+ "fatality",
"futures 0.3.21",
"itertools",
+ "kvdb",
"lru 0.7.3",
"metered-channel",
+ "parity-db",
"parity-scale-codec",
+ "parity-util-mem",
+ "parking_lot 0.11.2",
"pin-project 1.0.10",
"polkadot-node-jaeger",
"polkadot-node-metrics",
@@ -7555,14 +7937,14 @@
[[package]]
name = "polkadot-overseer"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"futures 0.3.21",
"futures-timer",
"lru 0.7.3",
"parity-util-mem",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"polkadot-node-metrics",
"polkadot-node-network-protocol",
"polkadot-node-primitives",
@@ -7576,8 +7958,8 @@
[[package]]
name = "polkadot-overseer-gen"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -7593,9 +7975,10 @@
[[package]]
name = "polkadot-overseer-gen-proc-macro"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
+ "expander 0.0.5",
"proc-macro-crate 1.1.3",
"proc-macro2",
"quote",
@@ -7604,8 +7987,8 @@
[[package]]
name = "polkadot-parachain"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"derive_more",
"frame-support",
@@ -7621,8 +8004,8 @@
[[package]]
name = "polkadot-performance-test"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"env_logger",
"kusama-runtime",
@@ -7636,8 +8019,8 @@
[[package]]
name = "polkadot-primitives"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitvec",
"frame-system",
@@ -7666,8 +8049,8 @@
[[package]]
name = "polkadot-rpc"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-gadget",
"beefy-gadget-rpc",
@@ -7697,8 +8080,8 @@
[[package]]
name = "polkadot-runtime"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7781,8 +8164,8 @@
[[package]]
name = "polkadot-runtime-common"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -7828,8 +8211,8 @@
[[package]]
name = "polkadot-runtime-constants"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -7840,8 +8223,8 @@
[[package]]
name = "polkadot-runtime-metrics"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bs58",
"parity-scale-codec",
@@ -7852,8 +8235,8 @@
[[package]]
name = "polkadot-runtime-parachains"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"bitflags",
"bitvec",
@@ -7894,8 +8277,8 @@
[[package]]
name = "polkadot-service"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"async-trait",
"beefy-gadget",
@@ -7912,6 +8295,7 @@
"pallet-mmr-primitives",
"pallet-staking",
"pallet-transaction-payment-rpc-runtime-api",
+ "parity-db",
"polkadot-approval-distribution",
"polkadot-availability-bitfield-distribution",
"polkadot-availability-distribution",
@@ -7994,11 +8378,11 @@
[[package]]
name = "polkadot-statement-distribution"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"arrayvec 0.5.2",
- "derive_more",
+ "fatality",
"futures 0.3.21",
"indexmap",
"parity-scale-codec",
@@ -8015,8 +8399,8 @@
[[package]]
name = "polkadot-statement-table"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
@@ -8025,8 +8409,8 @@
[[package]]
name = "polkadot-test-runtime"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -8087,8 +8471,8 @@
[[package]]
name = "polkadot-test-service"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-benchmarking",
"frame-system",
@@ -8158,7 +8542,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede"
dependencies = [
- "cpufeatures 0.2.1",
+ "cpufeatures 0.2.2",
"opaque-debug 0.3.0",
"universal-hash",
]
@@ -8170,7 +8554,7 @@
checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1"
dependencies = [
"cfg-if 1.0.0",
- "cpufeatures 0.2.1",
+ "cpufeatures 0.2.2",
"opaque-debug 0.3.0",
"universal-hash",
]
@@ -8180,24 +8564,12 @@
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
-name = "primitive-types"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06345ee39fbccfb06ab45f3a1a5798d9dafa04cb8921a76d227040003a234b0e"
-dependencies = [
- "fixed-hash",
- "impl-codec",
- "impl-rlp",
- "uint",
-]
[[package]]
name = "primitive-types"
-version = "0.10.1"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05e4722c697a58a99d5d06a08c30821d7c082a4632198de1eaa5a6c22ef42373"
+checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a"
dependencies = [
"fixed-hash",
"impl-codec",
@@ -8337,7 +8709,7 @@
[[package]]
name = "quartz-runtime"
-version = "0.1.0"
+version = "0.9.18"
dependencies = [
"cumulus-pallet-aura-ext",
"cumulus-pallet-dmp-queue",
@@ -8348,15 +8720,13 @@
"cumulus-primitives-timestamp",
"cumulus-primitives-utility",
"derivative",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
- "frame-benchmarking",
"frame-executive",
"frame-support",
"frame-system",
- "frame-system-benchmarking",
"frame-system-rpc-runtime-api",
- "hex-literal",
"orml-vesting",
"pallet-aura",
"pallet-balances",
@@ -8404,7 +8774,6 @@
"substrate-wasm-builder",
"unique-runtime-common",
"up-data-structs",
- "up-evm-mapping",
"up-rpc",
"xcm",
"xcm-builder",
@@ -8436,18 +8805,18 @@
[[package]]
name = "quote"
-version = "1.0.15"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
+checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58"
dependencies = [
"proc-macro2",
]
[[package]]
name = "radium"
-version = "0.6.2"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
[[package]]
name = "rand"
@@ -8509,7 +8878,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
dependencies = [
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
]
[[package]]
@@ -8573,27 +8942,22 @@
[[package]]
name = "redox_syscall"
-version = "0.1.57"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c"
+checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
dependencies = [
"bitflags",
]
[[package]]
name = "redox_users"
-version = "0.4.0"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [
- "getrandom 0.2.5",
- "redox_syscall 0.2.11",
+ "getrandom 0.2.6",
+ "redox_syscall",
+ "thiserror",
]
[[package]]
@@ -8642,9 +9006,9 @@
[[package]]
name = "regex"
-version = "1.5.4"
+version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [
"aho-corasick",
"memchr",
@@ -8681,7 +9045,7 @@
[[package]]
name = "remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"env_logger",
"jsonrpsee 0.8.0",
@@ -8758,9 +9122,9 @@
[[package]]
name = "rocksdb"
-version = "0.17.0"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a62eca5cacf2c8261128631bed9f045598d40bfbe4b29f5163f0f802f8f44a7"
+checksum = "620f4129485ff1a7128d184bc687470c21c7951b64779ebc9cfdad3dcd920290"
dependencies = [
"libc",
"librocksdb-sys",
@@ -8768,8 +9132,8 @@
[[package]]
name = "rococo-runtime"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"bp-messages",
@@ -8843,8 +9207,8 @@
[[package]]
name = "rococo-runtime-constants"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -8905,7 +9269,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
- "semver 1.0.6",
+ "semver 1.0.7",
]
[[package]]
@@ -9033,7 +9397,7 @@
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"log",
"sp-core",
@@ -9044,7 +9408,7 @@
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -9071,7 +9435,7 @@
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -9094,7 +9458,7 @@
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -9110,7 +9474,7 @@
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"impl-trait-for-tuples",
"memmap2 0.5.3",
@@ -9127,7 +9491,7 @@
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -9138,7 +9502,7 @@
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"chrono",
"clap",
@@ -9176,14 +9540,14 @@
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"fnv",
"futures 0.3.21",
"hash-db",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-executor",
"sc-transaction-pool-api",
"sc-utils",
@@ -9204,7 +9568,7 @@
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"hash-db",
"kvdb",
@@ -9214,7 +9578,7 @@
"log",
"parity-db",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-client-api",
"sc-state-db",
"sp-arithmetic",
@@ -9229,14 +9593,14 @@
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
"futures-timer",
"libp2p",
"log",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-client-api",
"sc-utils",
"serde",
@@ -9253,7 +9617,7 @@
[[package]]
name = "sc-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -9282,7 +9646,7 @@
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"fork-tree",
@@ -9293,7 +9657,7 @@
"num-rational 0.2.4",
"num-traits",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"rand 0.7.3",
"retain_mut",
"sc-client-api",
@@ -9325,7 +9689,7 @@
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"jsonrpc-core",
@@ -9349,6 +9713,55 @@
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
+dependencies = [
+ "fork-tree",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sc-consensus",
+ "sp-blockchain",
+ "sp-runtime",
+]
+
+[[package]]
+name = "sc-consensus-manual-seal"
+version = "0.10.0-dev"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
+dependencies = [
+ "assert_matches",
+ "async-trait",
+ "futures 0.3.21",
+ "jsonrpc-core",
+ "jsonrpc-core-client",
+ "jsonrpc-derive",
+ "log",
+ "parity-scale-codec",
+ "sc-client-api",
+ "sc-consensus",
+ "sc-consensus-aura",
+ "sc-consensus-babe",
+ "sc-consensus-epochs",
+ "sc-transaction-pool",
+ "sc-transaction-pool-api",
+ "serde",
+ "sp-api",
+ "sp-blockchain",
+ "sp-consensus",
+ "sp-consensus-aura",
+ "sp-consensus-babe",
+ "sp-consensus-slots",
+ "sp-core",
+ "sp-inherents",
+ "sp-keystore",
+ "sp-runtime",
+ "sp-timestamp",
+ "substrate-prometheus-endpoint",
+ "thiserror",
+]
+
+[[package]]
+name = "sc-consensus-epochs"
+version = "0.10.0-dev"
source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
dependencies = [
"fork-tree",
@@ -9398,7 +9811,7 @@
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -9423,7 +9836,7 @@
[[package]]
name = "sc-consensus-uncles"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"sc-client-api",
"sp-authorship",
@@ -9434,14 +9847,12 @@
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"lazy_static",
- "libsecp256k1 0.7.0",
- "log",
"lru 0.6.6",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-executor-common",
"sc-executor-wasmi",
"sc-executor-wasmtime",
@@ -9456,13 +9867,14 @@
"sp-trie",
"sp-version",
"sp-wasm-interface",
+ "tracing",
"wasmi",
]
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -9479,7 +9891,7 @@
[[package]]
name = "sc-executor-wasmi"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"log",
"parity-scale-codec",
@@ -9495,7 +9907,7 @@
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -9513,17 +9925,19 @@
[[package]]
name = "sc-finality-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
+ "ahash",
"async-trait",
"dyn-clone",
"finality-grandpa",
"fork-tree",
"futures 0.3.21",
"futures-timer",
+ "hex",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"rand 0.8.5",
"sc-block-builder",
"sc-chain-spec",
@@ -9551,7 +9965,7 @@
[[package]]
name = "sc-finality-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"finality-grandpa",
"futures 0.3.21",
@@ -9575,7 +9989,7 @@
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"ansi_term",
"futures 0.3.21",
@@ -9592,11 +10006,11 @@
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"hex",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"serde_json",
"sp-application-crypto",
"sp-core",
@@ -9607,9 +10021,8 @@
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
- "async-std",
"async-trait",
"asynchronous-codec 0.5.0",
"bitflags",
@@ -9628,7 +10041,7 @@
"log",
"lru 0.7.3",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"pin-project 1.0.10",
"prost",
"prost-build",
@@ -9657,8 +10070,9 @@
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
+ "ahash",
"futures 0.3.21",
"futures-timer",
"libp2p",
@@ -9673,7 +10087,7 @@
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"bytes 1.1.0",
"fnv",
@@ -9681,11 +10095,11 @@
"futures-timer",
"hex",
"hyper",
- "hyper-rustls",
+ "hyper-rustls 0.22.1",
"num_cpus",
"once_cell",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"rand 0.7.3",
"sc-client-api",
"sc-network",
@@ -9701,7 +10115,7 @@
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"libp2p",
@@ -9714,7 +10128,7 @@
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -9723,7 +10137,7 @@
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"hash-db",
@@ -9731,7 +10145,7 @@
"jsonrpc-pubsub",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-block-builder",
"sc-chain-spec",
"sc-client-api",
@@ -9754,7 +10168,7 @@
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"jsonrpc-core",
@@ -9763,7 +10177,7 @@
"jsonrpc-pubsub",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-chain-spec",
"sc-transaction-pool-api",
"serde",
@@ -9779,7 +10193,7 @@
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"jsonrpc-core",
@@ -9796,7 +10210,7 @@
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"directories",
@@ -9809,7 +10223,7 @@
"log",
"parity-scale-codec",
"parity-util-mem",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"pin-project 1.0.10",
"rand 0.7.3",
"sc-block-builder",
@@ -9860,13 +10274,13 @@
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"log",
"parity-scale-codec",
"parity-util-mem",
"parity-util-mem-derive",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sc-client-api",
"sp-core",
]
@@ -9874,7 +10288,7 @@
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"jsonrpc-core",
"jsonrpc-core-client",
@@ -9885,7 +10299,6 @@
"sc-consensus-babe",
"sc-consensus-epochs",
"sc-finality-grandpa",
- "sc-rpc-api",
"serde",
"serde_json",
"sp-blockchain",
@@ -9896,13 +10309,13 @@
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"chrono",
"futures 0.3.21",
"libp2p",
"log",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"pin-project 1.0.10",
"rand 0.7.3",
"serde",
@@ -9914,7 +10327,7 @@
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"ansi_term",
"atty",
@@ -9923,7 +10336,7 @@
"libc",
"log",
"once_cell",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"regex",
"rustc-hash",
"sc-client-api",
@@ -9945,7 +10358,7 @@
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -9956,7 +10369,7 @@
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"futures-timer",
@@ -9964,7 +10377,7 @@
"log",
"parity-scale-codec",
"parity-util-mem",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"retain_mut",
"sc-client-api",
"sc-transaction-pool-api",
@@ -9983,7 +10396,7 @@
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"log",
@@ -9996,20 +10409,21 @@
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"futures-timer",
"lazy_static",
- "parking_lot 0.11.2",
+ "log",
+ "parking_lot 0.12.0",
"prometheus",
]
[[package]]
name = "scale-info"
-version = "1.0.0"
+version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c55b744399c25532d63a0d2789b109df8d46fc93752d46b0782991a931a782f"
+checksum = "0563970d79bcbf3c537ce3ad36d859b30d36fc5b190efd227f1f7a84d7cf0d42"
dependencies = [
"bitvec",
"cfg-if 1.0.0",
@@ -10021,9 +10435,9 @@
[[package]]
name = "scale-info-derive"
-version = "1.0.0"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baeb2780690380592f86205aa4ee49815feb2acad8c2f59e6dd207148c3f1fcd"
+checksum = "b7805950c36512db9e3251c970bb7ac425f326716941862205d612ab3b5e46e2"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -10092,6 +10506,37 @@
]
[[package]]
+name = "sec1"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1"
+dependencies = [
+ "der",
+ "generic-array 0.14.5",
+ "pkcs8",
+ "subtle 2.4.1",
+ "zeroize",
+]
+
+[[package]]
+name = "secp256k1"
+version = "0.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260"
+dependencies = [
+ "secp256k1-sys",
+]
+
+[[package]]
+name = "secp256k1-sys"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036"
+dependencies = [
+ "cc",
+]
+
+[[package]]
name = "secrecy"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10152,9 +10597,9 @@
[[package]]
name = "semver"
-version = "1.0.6"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d"
+checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4"
dependencies = [
"serde",
]
@@ -10206,6 +10651,15 @@
]
[[package]]
+name = "serde_nanos"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e44969a61f5d316be20a42ff97816efb3b407a924d06824c3d8a49fa8450de0e"
+dependencies = [
+ "serde",
+]
+
+[[package]]
name = "sha-1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10225,7 +10679,7 @@
dependencies = [
"block-buffer 0.9.0",
"cfg-if 1.0.0",
- "cpufeatures 0.2.1",
+ "cpufeatures 0.2.2",
"digest 0.9.0",
"opaque-debug 0.3.0",
]
@@ -10250,7 +10704,7 @@
dependencies = [
"block-buffer 0.9.0",
"cfg-if 1.0.0",
- "cpufeatures 0.2.1",
+ "cpufeatures 0.2.2",
"digest 0.9.0",
"opaque-debug 0.3.0",
]
@@ -10262,7 +10716,7 @@
checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676"
dependencies = [
"cfg-if 1.0.0",
- "cpufeatures 0.2.1",
+ "cpufeatures 0.2.2",
"digest 0.10.3",
]
@@ -10292,6 +10746,16 @@
]
[[package]]
+name = "sha3"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "881bf8156c87b6301fc5ca6b27f11eeb2761224c7081e69b409d5a1951a70c86"
+dependencies = [
+ "digest 0.10.3",
+ "keccak",
+]
+
+[[package]]
name = "sharded-slab"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10327,9 +10791,12 @@
[[package]]
name = "signature"
-version = "1.5.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4"
+checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788"
+dependencies = [
+ "rand_core 0.6.3",
+]
[[package]]
name = "simba"
@@ -10351,8 +10818,8 @@
[[package]]
name = "slot-range-helper"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"enumn",
"parity-scale-codec",
@@ -10389,7 +10856,7 @@
checksum = "6142f7c25e94f6fd25a32c3348ec230df9109b463f59c8c7acc4bd34936babb7"
dependencies = [
"aes-gcm",
- "blake2",
+ "blake2 0.9.2",
"chacha20poly1305",
"rand 0.8.5",
"rand_core 0.6.3",
@@ -10440,7 +10907,7 @@
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"hash-db",
"log",
@@ -10457,9 +10924,9 @@
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
- "blake2-rfc",
+ "blake2 0.10.4",
"proc-macro-crate 1.1.3",
"proc-macro2",
"quote",
@@ -10468,8 +10935,8 @@
[[package]]
name = "sp-application-crypto"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10481,8 +10948,8 @@
[[package]]
name = "sp-arithmetic"
-version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "5.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -10497,7 +10964,7 @@
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10510,7 +10977,7 @@
[[package]]
name = "sp-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10522,7 +10989,7 @@
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -10534,13 +11001,13 @@
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"log",
"lru 0.7.3",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"sp-api",
"sp-consensus",
"sp-database",
@@ -10552,7 +11019,7 @@
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -10571,7 +11038,7 @@
[[package]]
name = "sp-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -10589,7 +11056,7 @@
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"merlin",
@@ -10612,19 +11079,21 @@
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
"serde",
"sp-arithmetic",
"sp-runtime",
+ "sp-std",
+ "sp-timestamp",
]
[[package]]
name = "sp-consensus-vrf"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"schnorrkel",
@@ -10635,8 +11104,8 @@
[[package]]
name = "sp-core"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"base58",
"bitflags",
@@ -10656,15 +11125,15 @@
"num-traits",
"parity-scale-codec",
"parity-util-mem",
- "parking_lot 0.11.2",
- "primitive-types 0.10.1",
+ "parking_lot 0.12.0",
+ "primitive-types",
"rand 0.7.3",
"regex",
"scale-info",
"schnorrkel",
+ "secp256k1",
"secrecy",
"serde",
- "sha2 0.10.2",
"sp-core-hashing",
"sp-debug-derive",
"sp-externalities",
@@ -10675,8 +11144,6 @@
"substrate-bip39",
"thiserror",
"tiny-bip39",
- "tiny-keccak",
- "twox-hash",
"wasmi",
"zeroize",
]
@@ -10684,20 +11151,21 @@
[[package]]
name = "sp-core-hashing"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
- "blake2-rfc",
+ "blake2 0.10.4",
"byteorder",
+ "digest 0.10.3",
"sha2 0.10.2",
+ "sha3 0.10.1",
"sp-std",
- "tiny-keccak",
"twox-hash",
]
[[package]]
name = "sp-core-hashing-proc-macro"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "5.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro2",
"quote",
@@ -10708,16 +11176,16 @@
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"kvdb",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
]
[[package]]
name = "sp-debug-derive"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro2",
"quote",
@@ -10726,8 +11194,8 @@
[[package]]
name = "sp-externalities"
-version = "0.11.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "0.12.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -10738,7 +11206,7 @@
[[package]]
name = "sp-finality-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"finality-grandpa",
"log",
@@ -10756,7 +11224,7 @@
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -10769,15 +11237,16 @@
[[package]]
name = "sp-io"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"hash-db",
"libsecp256k1 0.7.0",
"log",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
+ "secp256k1",
"sp-core",
"sp-externalities",
"sp-keystore",
@@ -10793,25 +11262,25 @@
[[package]]
name = "sp-keyring"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"lazy_static",
"sp-core",
"sp-runtime",
- "strum",
+ "strum 0.23.0",
]
[[package]]
name = "sp-keystore"
-version = "0.11.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "0.12.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
"merlin",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"schnorrkel",
"serde",
"sp-core",
@@ -10822,7 +11291,7 @@
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"thiserror",
"zstd",
@@ -10831,7 +11300,7 @@
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10846,7 +11315,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.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -10857,7 +11326,7 @@
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"sp-api",
"sp-core",
@@ -10867,7 +11336,7 @@
[[package]]
name = "sp-panic-handler"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"backtrace",
"lazy_static",
@@ -10876,8 +11345,8 @@
[[package]]
name = "sp-rpc"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"rustc-hash",
"serde",
@@ -10886,8 +11355,8 @@
[[package]]
name = "sp-runtime"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"either",
"hash256-std-hasher",
@@ -10908,12 +11377,12 @@
[[package]]
name = "sp-runtime-interface"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"impl-trait-for-tuples",
"parity-scale-codec",
- "primitive-types 0.10.1",
+ "primitive-types",
"sp-externalities",
"sp-runtime-interface-proc-macro",
"sp-std",
@@ -10925,8 +11394,8 @@
[[package]]
name = "sp-runtime-interface-proc-macro"
-version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "5.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"Inflector",
"proc-macro-crate 1.1.3",
@@ -10938,7 +11407,7 @@
[[package]]
name = "sp-serializer"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"serde",
"serde_json",
@@ -10947,7 +11416,7 @@
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10961,7 +11430,7 @@
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -10971,14 +11440,14 @@
[[package]]
name = "sp-state-machine"
-version = "0.11.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "0.12.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"hash-db",
"log",
"num-traits",
"parity-scale-codec",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
"rand 0.7.3",
"smallvec",
"sp-core",
@@ -10995,12 +11464,12 @@
[[package]]
name = "sp-std"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
[[package]]
name = "sp-storage"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -11013,7 +11482,7 @@
[[package]]
name = "sp-tasks"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"log",
"sp-core",
@@ -11026,7 +11495,7 @@
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures-timer",
@@ -11041,8 +11510,8 @@
[[package]]
name = "sp-tracing"
-version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "5.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -11054,7 +11523,7 @@
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"sp-api",
"sp-runtime",
@@ -11063,7 +11532,7 @@
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"log",
@@ -11078,8 +11547,8 @@
[[package]]
name = "sp-trie"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"hash-db",
"memory-db",
@@ -11087,14 +11556,15 @@
"scale-info",
"sp-core",
"sp-std",
+ "thiserror",
"trie-db",
"trie-root",
]
[[package]]
name = "sp-version"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "5.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -11111,7 +11581,7 @@
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"parity-scale-codec",
"proc-macro2",
@@ -11121,8 +11591,8 @@
[[package]]
name = "sp-wasm-interface"
-version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+version = "6.0.0"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"impl-trait-for-tuples",
"log",
@@ -11139,12 +11609,23 @@
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
+name = "spki"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27"
+dependencies = [
+ "base64ct",
+ "der",
+]
+
+[[package]]
name = "ss58-registry"
-version = "1.15.0"
+version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f9799e6d412271cb2414597581128b03f3285f260ea49f5363d07df6a332b3e"
+checksum = "7b84a70894df7a73666e0694f44b41a9571625e9546fb58a0818a565d2c7e084"
dependencies = [
"Inflector",
+ "num-format",
"proc-macro2",
"quote",
"serde",
@@ -11214,10 +11695,19 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb"
dependencies = [
- "strum_macros",
+ "strum_macros 0.23.1",
]
[[package]]
+name = "strum"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e96acfc1b70604b8b2f1ffa4c57e59176c7dbb05d556c71ecd2f5498a1dee7f8"
+dependencies = [
+ "strum_macros 0.24.0",
+]
+
+[[package]]
name = "strum_macros"
version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11231,6 +11721,19 @@
]
[[package]]
+name = "strum_macros"
+version = "0.24.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef"
+dependencies = [
+ "heck 0.4.0",
+ "proc-macro2",
+ "quote",
+ "rustversion",
+ "syn",
+]
+
+[[package]]
name = "substrate-bip39"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11246,7 +11749,7 @@
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"platforms",
]
@@ -11254,7 +11757,7 @@
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"frame-system-rpc-runtime-api",
"futures 0.3.21",
@@ -11276,9 +11779,8 @@
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
- "async-std",
"futures-util",
"hyper",
"log",
@@ -11290,7 +11792,7 @@
[[package]]
name = "substrate-test-client"
version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"async-trait",
"futures 0.3.21",
@@ -11316,7 +11818,7 @@
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"futures 0.3.21",
"substrate-test-utils-derive",
@@ -11326,7 +11828,7 @@
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"proc-macro-crate 1.1.3",
"proc-macro2",
@@ -11337,13 +11839,13 @@
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"ansi_term",
"build-helper",
"cargo_metadata",
"sp-maybe-compressed-blob",
- "strum",
+ "strum 0.23.0",
"tempfile",
"toml",
"walkdir",
@@ -11364,9 +11866,9 @@
[[package]]
name = "syn"
-version = "1.0.86"
+version = "1.0.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
+checksum = "704df27628939572cd88d33f171cd6f896f4eaca85252c6e0a72d8d8287ee86f"
dependencies = [
"proc-macro2",
"quote",
@@ -11406,7 +11908,7 @@
"cfg-if 1.0.0",
"fastrand",
"libc",
- "redox_syscall 0.2.11",
+ "redox_syscall",
"remove_dir_all",
"winapi 0.3.9",
]
@@ -11422,8 +11924,8 @@
[[package]]
name = "test-runtime-constants"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -11490,6 +11992,17 @@
]
[[package]]
+name = "tikv-jemalloc-sys"
+version = "0.4.3+5.2.1-patched.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1792ccb507d955b46af42c123ea8863668fae24d03721e40cad6a41773dbb49"
+dependencies = [
+ "cc",
+ "fs_extra",
+ "libc",
+]
+
+[[package]]
name = "time"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11564,9 +12077,10 @@
"bytes 1.1.0",
"libc",
"memchr",
- "mio 0.8.0",
+ "mio 0.8.2",
"num_cpus",
"once_cell",
+ "parking_lot 0.12.0",
"pin-project-lite 0.2.8",
"signal-hook-registry",
"socket2 0.4.4",
@@ -11609,9 +12123,9 @@
[[package]]
name = "tokio-rustls"
-version = "0.23.2"
+version = "0.23.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b"
+checksum = "4151fda0cf2798550ad0b34bcfc9b9dcc2a9d2471c895c68f3a8818e54f2389e"
dependencies = [
"rustls 0.20.4",
"tokio 1.17.0",
@@ -11645,6 +12159,20 @@
]
[[package]]
+name = "tokio-util"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764"
+dependencies = [
+ "bytes 1.1.0",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite 0.2.8",
+ "tokio 1.17.0",
+ "tracing",
+]
+
+[[package]]
name = "toml"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11661,9 +12189,9 @@
[[package]]
name = "tracing"
-version = "0.1.31"
+version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6c650a8ef0cd2dd93736f033d21cbd1224c5a967aa0c258d00fcf7dafef9b9f"
+checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f"
dependencies = [
"cfg-if 1.0.0",
"pin-project-lite 0.2.8",
@@ -11673,9 +12201,9 @@
[[package]]
name = "tracing-attributes"
-version = "0.1.19"
+version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8276d9a4a3a558d7b7ad5303ad50b53d58264641b82914b7ada36bd762e7a716"
+checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b"
dependencies = [
"proc-macro2",
"quote",
@@ -11684,9 +12212,9 @@
[[package]]
name = "tracing-core"
-version = "0.1.22"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23"
+checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c"
dependencies = [
"lazy_static",
"valuable",
@@ -11830,7 +12358,7 @@
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.17#22d40c761a985482f93bbbea5ba4199bdba74f8e"
+source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.18#fc3fd073d3a0acf9933c3994b660ebd7b5833f65"
dependencies = [
"clap",
"jsonrpsee 0.4.1",
@@ -11865,6 +12393,7 @@
checksum = "4ee73e6e4924fe940354b8d4d98cad5231175d615cd855b758adc658c0aac6a0"
dependencies = [
"cfg-if 1.0.0",
+ "digest 0.10.3",
"rand 0.8.5",
"static_assertions",
]
@@ -11883,6 +12412,7 @@
"jsonrpc-core-client",
"jsonrpc-derive",
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"sp-api",
"sp-blockchain",
@@ -11949,7 +12479,7 @@
[[package]]
name = "unique-node"
-version = "0.9.17"
+version = "0.9.18"
dependencies = [
"clap",
"cumulus-client-cli",
@@ -11960,8 +12490,9 @@
"cumulus-client-service",
"cumulus-primitives-core",
"cumulus-primitives-parachain-inherent",
+ "cumulus-relay-chain-inprocess-interface",
"cumulus-relay-chain-interface",
- "cumulus-relay-chain-local",
+ "cumulus-relay-chain-rpc-interface",
"fc-consensus",
"fc-db",
"fc-mapping-sync",
@@ -12080,7 +12611,7 @@
[[package]]
name = "unique-runtime"
-version = "0.9.17"
+version = "0.9.18"
dependencies = [
"cumulus-pallet-aura-ext",
"cumulus-pallet-dmp-queue",
@@ -12091,6 +12622,7 @@
"cumulus-primitives-timestamp",
"cumulus-primitives-utility",
"derivative",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -12147,7 +12679,6 @@
"substrate-wasm-builder",
"unique-runtime-common",
"up-data-structs",
- "up-evm-mapping",
"up-rpc",
"xcm",
"xcm-builder",
@@ -12156,12 +12687,13 @@
[[package]]
name = "unique-runtime-common"
-version = "0.1.0"
+version = "0.9.18"
dependencies = [
"fp-rpc",
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"scale-info",
"sp-consensus-aura",
@@ -12228,14 +12760,6 @@
"sp-core",
"sp-runtime",
"sp-std",
-]
-
-[[package]]
-name = "up-evm-mapping"
-version = "0.1.0"
-dependencies = [
- "frame-support",
- "sp-core",
]
[[package]]
@@ -12243,6 +12767,7 @@
version = "0.1.0"
dependencies = [
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"sp-api",
"sp-core",
@@ -12254,7 +12779,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.17#28f311f8de67155865d362f6ded1d0d5229f3202"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#7bc842b35a53f762ee6ee89e5f5bef84a284c9f4"
dependencies = [
"impl-trait-for-tuples",
]
@@ -12356,6 +12881,12 @@
checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
name = "wasm-bindgen"
version = "0.2.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12698,8 +13229,8 @@
[[package]]
name = "westend-runtime"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"beefy-primitives",
"bitvec",
@@ -12784,8 +13315,8 @@
[[package]]
name = "westend-runtime-constants"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -12796,9 +13327,9 @@
[[package]]
name = "which"
-version = "4.2.4"
+version = "4.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2"
+checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae"
dependencies = [
"either",
"lazy_static",
@@ -12856,9 +13387,9 @@
[[package]]
name = "windows-sys"
-version = "0.32.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6"
+checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825"
dependencies = [
"windows_aarch64_msvc",
"windows_i686_gnu",
@@ -12869,33 +13400,33 @@
[[package]]
name = "windows_aarch64_msvc"
-version = "0.32.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
+checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d"
[[package]]
name = "windows_i686_gnu"
-version = "0.32.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
+checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed"
[[package]]
name = "windows_i686_msvc"
-version = "0.32.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
+checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.32.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
+checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.32.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
+checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9"
[[package]]
name = "winreg"
@@ -12918,9 +13449,12 @@
[[package]]
name = "wyz"
-version = "0.2.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
+checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e"
+dependencies = [
+ "tap",
+]
[[package]]
name = "x25519-dalek"
@@ -12935,8 +13469,8 @@
[[package]]
name = "xcm"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"derivative",
"impl-trait-for-tuples",
@@ -12948,8 +13482,8 @@
[[package]]
name = "xcm-builder"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-support",
"frame-system",
@@ -12968,8 +13502,8 @@
[[package]]
name = "xcm-executor"
-version = "0.9.17"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+version = "0.9.18"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -12987,7 +13521,7 @@
[[package]]
name = "xcm-procedural"
version = "0.1.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.17#de0ecd4760b146ecf33f5e867d707d789e21e060"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.18#9ed0c98204d25eaad8a6b40248daee8e6a40d111"
dependencies = [
"Inflector",
"proc-macro2",
@@ -13011,15 +13545,15 @@
[[package]]
name = "yansi"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fc79f4a1e39857fc00c3f662cbf2651c771f00e9c15fe2abc341806bd46bd71"
+checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
[[package]]
name = "zeroize"
-version = "1.5.3"
+version = "1.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50344758e2f40e3a1fcfc8f6f91aa57b5f8ebd8d27919fe6451f15aaaf9ee608"
+checksum = "7eb5728b8afd3f280a869ce1d4c554ffaed35f45c231fc41bfbd0381bef50317"
dependencies = [
"zeroize_derive",
]
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -5,8 +5,11 @@
'pallets/*',
'client/*',
'primitives/*',
- 'runtime/*',
'crates/*',
]
+exclude = [
+ "runtime/unique",
+ "runtime/quartz"
+]
[profile.release]
panic = 'unwind'
Dockerfile-parachaindiffbeforeafterboth--- a/Dockerfile-parachain
+++ b/Dockerfile-parachain
@@ -1,10 +1,10 @@
# ===== Rust builder =====
-FROM phusion/baseimage:focal-1.0.0 as rust-builder
+FROM phusion/baseimage:focal-1.1.0 as rust-builder
LABEL maintainer="Unique.Network"
ARG RUST_TOOLCHAIN=nightly-2021-11-11
#ARG RUST_C=1.58.0-nightly
-ARG POLKA_VERSION=release-v0.9.17
+ARG POLKA_VERSION=release-v0.9.18
ARG UNIQUE_BRANCH=develop
#ARG USER=***
@@ -77,7 +77,7 @@
# ===== RUN ======
-FROM phusion/baseimage:focal-1.0.0
+FROM phusion/baseimage:focal-1.1.0
ARG PROFILE=release
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -63,12 +63,7 @@
5. Build:
```bash
-cargo build
-```
-
-optionally, build in release:
-```bash
-cargo build --release
+cargo build --features=unique-runtime,quartz-runtime --release
```
## Building as Parachain locally
@@ -86,7 +81,7 @@
```
git clone https://github.com/paritytech/polkadot.git
cd polkadot
-git checkout release-v0.9.17
+git checkout release-v0.9.18
cargo build --release
```
client/rpc/Cargo.tomldiffbeforeafterboth--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -8,13 +8,14 @@
pallet-common = { default-features = false, path = '../../pallets/common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
up-rpc = { path = "../../primitives/rpc" }
-codec = { package = "parity-scale-codec", version = "2.0.0" }
+codec = { package = "parity-scale-codec", version = "3.1.2" }
jsonrpc-core = "18.0.0"
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.17" }
-sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.17" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.17" }
-sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.17" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.17" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
+sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
+sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
client/rpc/src/lib.rsdiffbeforeafterboth--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -207,7 +207,7 @@
AccountId: Decode,
C: 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
C::Api: UniqueRuntimeApi<Block, CrossAccountId, AccountId>,
- CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,
+ CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
{
pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);
pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);
crates/evm-coder/Cargo.tomldiffbeforeafterboth--- a/crates/evm-coder/Cargo.toml
+++ b/crates/evm-coder/Cargo.toml
@@ -6,10 +6,10 @@
[dependencies]
evm-coder-macros = { path = "../evm-coder-macros" }
-primitive-types = { version = "0.10.1", default-features = false }
+primitive-types = { version = "0.11.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.16" }
+ethereum = { version = "0.12.0", default-features = false }
+evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-polkadot-v0.9.18" }
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.17'
+branch = 'polkadot-v0.9.18'
################################################################################
# Substrate Dependecies
@@ -12,154 +12,154 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.frame-benchmarking]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-benchmarking-cli]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment-rpc]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.substrate-prometheus-endpoint]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-basic-authorship]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-chain-spec]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-cli]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-client-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-consensus]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-consensus-aura]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-executor]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-finality-grandpa]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-keystore]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-rpc]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-rpc-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-service]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-telemetry]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-transaction-pool]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-tracing]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-block-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-blockchain]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-consensus]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-consensus-aura]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-core]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-finality-grandpa]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-inherents]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-keystore]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-offchain]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-runtime]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-session]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-timestamp]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-transaction-pool]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-trie]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.substrate-frame-rpc-system]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sc-network]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.serde]
features = ['derive']
@@ -170,72 +170,76 @@
[dependencies.sc-consensus-manual-seal]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
################################################################################
# Cumulus dependencies
[dependencies.cumulus-client-consensus-aura]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-client-consensus-common]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-client-collator]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-client-cli]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-client-network]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-primitives-core]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-primitives-parachain-inherent]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-client-service]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-relay-chain-interface]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
-[dependencies.cumulus-relay-chain-local]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+[dependencies.cumulus-relay-chain-inprocess-interface]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
+
+[dependencies.cumulus-relay-chain-rpc-interface]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
################################################################################
# Polkadot dependencies
[dependencies.polkadot-primitives]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
[dependencies.polkadot-service]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
[dependencies.polkadot-cli]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
[dependencies.polkadot-test-service]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
[dependencies.polkadot-parachain]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
################################################################################
@@ -265,7 +269,7 @@
[dependencies.pallet-transaction-payment-rpc-runtime-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
################################################################################
# Package
@@ -279,7 +283,7 @@
license = 'GPLv3'
name = 'unique-node'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.9.17'
+version = '0.9.18'
[[bin]]
name = 'unique-collator'
@@ -296,19 +300,20 @@
clap = "3.1.2"
jsonrpc-core = '18.0.0'
jsonrpc-pubsub = "18.0.0"
+tokio = { version = "1.17.0", features = ["time"] }
-fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
unique-rpc = { default-features = false, path = "../rpc" }
[features]
-default = ["unique-runtime", "quartz-runtime"]
+default = []
runtime-benchmarks = [
'unique-runtime/runtime-benchmarks',
'polkadot-service/runtime-benchmarks',
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -14,7 +14,6 @@
// You should have received a copy of the GNU General Public License
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-use cumulus_primitives_core::ParaId;
use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
use sc_service::ChainType;
use sp_core::{sr25519, Pair, Public};
@@ -26,6 +25,15 @@
use unique_runtime_common::types::*;
+#[cfg(feature = "unique-runtime")]
+use unique_runtime as default_runtime;
+
+#[cfg(all(not(feature = "unique-runtime"), feature = "quartz-runtime"))]
+use quartz_runtime as default_runtime;
+
+#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
+use opal_runtime as default_runtime;
+
/// The `ChainSpec` parameterized for the unique runtime.
#[cfg(feature = "unique-runtime")]
pub type UniqueChainSpec = sc_service::GenericChainSpec<unique_runtime::GenesisConfig, Extensions>;
@@ -37,9 +45,22 @@
/// The `ChainSpec` parameterized for the opal runtime.
pub type OpalChainSpec = sc_service::GenericChainSpec<opal_runtime::GenesisConfig, Extensions>;
+#[cfg(feature = "unique-runtime")]
+pub type DefaultChainSpec = UniqueChainSpec;
+
+#[cfg(all(not(feature = "unique-runtime"), feature = "quartz-runtime"))]
+pub type DefaultChainSpec = QuartzChainSpec;
+
+#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
+pub type DefaultChainSpec = OpalChainSpec;
+
pub enum RuntimeId {
+ #[cfg(feature = "unique-runtime")]
Unique,
+
+ #[cfg(feature = "quartz-runtime")]
Quartz,
+
Opal,
Unknown(String),
}
@@ -51,12 +72,12 @@
impl RuntimeIdentification for Box<dyn sc_service::ChainSpec> {
fn runtime_id(&self) -> RuntimeId {
#[cfg(feature = "unique-runtime")]
- if self.id().starts_with("unique") {
+ if self.id().starts_with("unique") || self.id().starts_with("unq") {
return RuntimeId::Unique;
}
#[cfg(feature = "quartz-runtime")]
- if self.id().starts_with("quartz") {
+ if self.id().starts_with("quartz") || self.id().starts_with("qtz") {
return RuntimeId::Quartz;
}
@@ -121,20 +142,66 @@
AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
}
+macro_rules! testnet_genesis {
+ (
+ $runtime:path,
+ $root_key:expr,
+ $initial_authorities:expr,
+ $endowed_accounts:expr,
+ $id:expr
+ ) => {{
+ use $runtime::*;
+
+ GenesisConfig {
+ system: SystemConfig {
+ code: WASM_BINARY
+ .expect("WASM binary was not build, please build it!")
+ .to_vec(),
+ },
+ balances: BalancesConfig {
+ balances: $endowed_accounts
+ .iter()
+ .cloned()
+ // 1e13 UNQ
+ .map(|k| (k, 1 << 100))
+ .collect(),
+ },
+ treasury: Default::default(),
+ sudo: SudoConfig {
+ key: Some($root_key),
+ },
+ vesting: VestingConfig { vesting: vec![] },
+ parachain_info: ParachainInfoConfig {
+ parachain_id: $id.into(),
+ },
+ parachain_system: Default::default(),
+ aura: AuraConfig {
+ authorities: $initial_authorities,
+ },
+ aura_ext: Default::default(),
+ evm: EVMConfig {
+ accounts: BTreeMap::new(),
+ },
+ ethereum: EthereumConfig {},
+ }
+ }};
+}
+
pub fn development_config() -> OpalChainSpec {
let mut properties = Map::new();
- properties.insert("tokenSymbol".into(), "OPL".into());
- properties.insert("tokenDecimals".into(), 15.into());
- properties.insert("ss58Format".into(), 42.into());
+ properties.insert("tokenSymbol".into(), opal_runtime::TOKEN_SYMBOL.into());
+ properties.insert("tokenDecimals".into(), 18.into());
+ properties.insert("ss58Format".into(), opal_runtime::SS58Prefix::get().into());
OpalChainSpec::from_genesis(
// Name
- "Development",
+ "OPAL by UNIQUE",
// ID
- "dev",
+ "opal_dev",
ChainType::Local,
move || {
- testnet_genesis(
+ testnet_genesis!(
+ opal_runtime,
// Sudo account
get_account_id_from_seed::<sr25519::Public>("Alice"),
vec![
@@ -145,8 +212,18 @@
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_account_id_from_seed::<sr25519::Public>("Bob"),
+ get_account_id_from_seed::<sr25519::Public>("Charlie"),
+ get_account_id_from_seed::<sr25519::Public>("Dave"),
+ get_account_id_from_seed::<sr25519::Public>("Eve"),
+ get_account_id_from_seed::<sr25519::Public>("Ferdie"),
+ get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
+ get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
],
- 1000.into(),
+ 1000
)
},
// Bootnodes
@@ -166,15 +243,33 @@
)
}
-pub fn local_testnet_rococo_config() -> OpalChainSpec {
- OpalChainSpec::from_genesis(
+pub fn local_testnet_rococo_config() -> DefaultChainSpec {
+ let mut properties = Map::new();
+ properties.insert("tokenSymbol".into(), default_runtime::TOKEN_SYMBOL.into());
+ properties.insert("tokenDecimals".into(), 18.into());
+ properties.insert(
+ "ss58Format".into(),
+ default_runtime::SS58Prefix::get().into(),
+ );
+
+ DefaultChainSpec::from_genesis(
// Name
- "Local Testnet",
+ format!(
+ "{}{}",
+ default_runtime::RUNTIME_NAME.to_uppercase(),
+ if cfg!(feature = "unique-runtime") {
+ ""
+ } else {
+ " by UNIQUE"
+ }
+ )
+ .as_str(),
// ID
- "local_testnet",
+ format!("{}_local", default_runtime::RUNTIME_NAME).as_str(),
ChainType::Local,
move || {
- testnet_genesis(
+ testnet_genesis!(
+ default_runtime,
// Sudo account
get_account_id_from_seed::<sr25519::Public>("Alice"),
vec![
@@ -196,7 +291,7 @@
get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
],
- 1000.into(),
+ 1000
)
},
// Bootnodes
@@ -207,51 +302,11 @@
None,
None,
// Properties
- None,
+ Some(properties),
// Extensions
Extensions {
relay_chain: "rococo-local".into(),
para_id: 1000,
},
)
-}
-
-fn testnet_genesis(
- root_key: AccountId,
- initial_authorities: Vec<AuraId>,
- endowed_accounts: Vec<AccountId>,
- id: ParaId,
-) -> opal_runtime::GenesisConfig {
- use opal_runtime::*;
-
- GenesisConfig {
- system: SystemConfig {
- code: WASM_BINARY
- .expect("WASM binary was not build, please build it!")
- .to_vec(),
- },
- balances: BalancesConfig {
- balances: endowed_accounts
- .iter()
- .cloned()
- // 1e13 UNQ
- .map(|k| (k, 1 << 100))
- .collect(),
- },
- treasury: Default::default(),
- sudo: SudoConfig {
- key: Some(root_key),
- },
- vesting: VestingConfig { vesting: vec![] },
- parachain_info: ParachainInfoConfig { parachain_id: id },
- parachain_system: Default::default(),
- aura: AuraConfig {
- authorities: initial_authorities,
- },
- aura_ext: Default::default(),
- evm: EVMConfig {
- accounts: BTreeMap::new(),
- },
- ethereum: EthereumConfig {},
- }
}
node/cli/src/cli.rsdiffbeforeafterboth--- a/node/cli/src/cli.rs
+++ b/node/cli/src/cli.rs
@@ -15,9 +15,11 @@
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
use crate::chain_spec;
-use std::path::PathBuf;
+use std::{path::PathBuf, env};
use clap::Parser;
+const NODE_NAME_ENV: &str = "UNIQUE_NODE_NAME";
+
/// Sub-commands supported by the collator.
#[derive(Debug, Parser)]
pub enum Subcommand {
@@ -102,11 +104,38 @@
#[structopt(flatten)]
pub run: cumulus_client_cli::RunCmd,
+ /// When running the node in the `--dev` mode and
+ /// there is no transaction in the transaction pool,
+ /// an empty block will be sealed automatically
+ /// after the `--idle-autoseal-interval` milliseconds.
+ ///
+ /// The default interval is 500 milliseconds
+ #[structopt(default_value = "500", long)]
+ pub idle_autoseal_interval: u64,
+
/// Relaychain arguments
#[structopt(raw = true)]
pub relaychain_args: Vec<String>,
}
+impl Cli {
+ pub fn node_name() -> String {
+ match env::var(NODE_NAME_ENV).ok() {
+ Some(name) => name,
+ None => {
+ if cfg!(feature = "unique-runtime") {
+ "Unique"
+ } else if cfg!(feature = "quartz-runtime") {
+ "Quartz"
+ } else {
+ "Opal"
+ }
+ }
+ .into(),
+ }
+ }
+}
+
#[derive(Debug)]
pub struct RelayChainCli {
/// The actual relay chain cli object.
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -60,7 +60,7 @@
};
use sp_core::hexdisplay::HexDisplay;
use sp_runtime::traits::Block as BlockT;
-use std::{io::Write, net::SocketAddr};
+use std::{io::Write, net::SocketAddr, time::Duration};
use unique_runtime_common::types::Block;
@@ -99,7 +99,7 @@
impl SubstrateCli for Cli {
// TODO use args
fn impl_name() -> String {
- "Unique Node".into()
+ format!("{} Node", Self::node_name())
}
fn impl_version() -> String {
@@ -108,10 +108,11 @@
// TODO use args
fn description() -> String {
format!(
- "Unique Node\n\nThe command-line arguments provided first will be \
+ "{} Node\n\nThe command-line arguments provided first will be \
passed to the parachain node, while the arguments provided after -- will be passed \
to the relaychain node.\n\n\
{} [parachain-args] -- [relaychain-args]",
+ Self::node_name(),
Self::executable_name()
)
}
@@ -150,7 +151,7 @@
impl SubstrateCli for RelayChainCli {
// TODO use args
fn impl_name() -> String {
- "Unique Node".into()
+ format!("{} Node", Cli::node_name())
}
fn impl_version() -> String {
@@ -158,11 +159,13 @@
}
// TODO use args
fn description() -> String {
- "Unique Node\n\nThe command-line arguments provided first will be \
- passed to the parachain node, while the arguments provided after -- will be passed \
- to the relaychain node.\n\n\
- parachain-collator [parachain-args] -- [relaychain-args]"
- .into()
+ format!(
+ "{} Node\n\nThe command-line arguments provided first will be \
+ passed to the parachain node, while the arguments provided after -- will be passed \
+ to the relaychain node.\n\n\
+ parachain-collator [parachain-args] -- [relaychain-args]",
+ Cli::node_name()
+ )
}
fn author() -> String {
@@ -389,6 +392,7 @@
}
None => {
let runner = cli.create_runner(&cli.run.normalize())?;
+ let collator_options = cli.run.collator_options();
runner.run_node_until_exit(|config| async move {
let extensions = chain_spec::Extensions::try_get(&*config.chain_spec);
@@ -401,8 +405,10 @@
if is_dev_service {
info!("Running Dev service");
+ let autoseal_interval = Duration::from_millis(cli.idle_autoseal_interval);
+
return start_node_using_chain_runtime! {
- start_dev_node(config).map_err(Into::into)
+ start_dev_node(config, autoseal_interval).map_err(Into::into)
};
};
@@ -452,7 +458,7 @@
);
start_node_using_chain_runtime! {
- start_node(config, polkadot_config, para_id)
+ start_node(config, polkadot_config, collator_options, para_id)
.await
.map(|r| r.0)
.map_err(Into::into)
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -21,8 +21,14 @@
use std::sync::Mutex;
use std::collections::BTreeMap;
use std::time::Duration;
+use std::pin::Pin;
use fc_rpc_core::types::FeeHistoryCache;
-use futures::StreamExt;
+use futures::{
+ Stream, StreamExt,
+ stream::select,
+ task::{Context, Poll},
+};
+use tokio::time::Interval;
use unique_rpc::overrides_handle;
@@ -34,10 +40,12 @@
use cumulus_client_service::{
prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
};
+use cumulus_client_cli::CollatorOptions;
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;
+use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain;
+use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult};
+use cumulus_relay_chain_rpc_interface::RelayChainRPCInterface;
// Substrate Imports
use sc_client_api::ExecutorProvider;
@@ -46,21 +54,29 @@
use sc_network::NetworkService;
use sc_service::{BasePath, Configuration, PartialComponents, Role, TaskManager};
use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
-use sp_consensus::SlotData;
use sp_keystore::SyncCryptoStorePtr;
use sp_runtime::traits::BlakeTwo256;
use substrate_prometheus_endpoint::Registry;
use sc_client_api::BlockchainEvents;
+use polkadot_service::CollatorPair;
+
// Frontier Imports
use fc_rpc_core::types::FilterPool;
use fc_mapping_sync::{MappingSyncWorker, SyncStrategy};
use unique_runtime_common::types::{AuraId, RuntimeInstance, AccountId, Balance, Index, Hash, Block};
-/// Native executor instance.
+/// Unique native executor instance.
+#[cfg(feature = "unique-runtime")]
pub struct UniqueRuntimeExecutor;
+
+#[cfg(feature = "quartz-runtime")]
+/// Quartz native executor instance.
+
pub struct QuartzRuntimeExecutor;
+
+/// Opal native executor instance.
pub struct OpalRuntimeExecutor;
#[cfg(feature = "unique-runtime")]
@@ -101,6 +117,27 @@
}
}
+pub struct AutosealInterval {
+ interval: Interval,
+}
+
+impl AutosealInterval {
+ pub fn new(config: &Configuration, interval: Duration) -> Self {
+ let _tokio_runtime = config.tokio_handle.enter();
+ let interval = tokio::time::interval(interval);
+
+ Self { interval }
+ }
+}
+
+impl Stream for AutosealInterval {
+ type Item = tokio::time::Instant;
+
+ fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
+ self.interval.poll_tick(cx).map(Some)
+ }
+}
+
pub fn open_frontier_backend(config: &Configuration) -> Result<Arc<fc_db::Backend<Block>>, String> {
let config_dir = config
.base_path
@@ -257,6 +294,30 @@
Ok(params)
}
+async fn build_relay_chain_interface(
+ polkadot_config: Configuration,
+ parachain_config: &Configuration,
+ telemetry_worker_handle: Option<TelemetryWorkerHandle>,
+ task_manager: &mut TaskManager,
+ collator_options: CollatorOptions,
+) -> RelayChainResult<(
+ Arc<(dyn RelayChainInterface + 'static)>,
+ Option<CollatorPair>,
+)> {
+ match collator_options.relay_chain_rpc_url {
+ Some(relay_chain_url) => Ok((
+ Arc::new(RelayChainRPCInterface::new(relay_chain_url).await?) as Arc<_>,
+ None,
+ )),
+ None => build_inprocess_relay_chain(
+ polkadot_config,
+ parachain_config,
+ telemetry_worker_handle,
+ task_manager,
+ ),
+ }
+}
+
/// Start a node with the given parachain `Configuration` and relay chain `Configuration`.
///
/// This is the actual implementation that is abstract over the executor and the runtime api.
@@ -264,6 +325,7 @@
async fn start_node_impl<Runtime, RuntimeApi, ExecutorDispatch, BIQ, BIC>(
parachain_config: Configuration,
polkadot_config: Configuration,
+ collator_options: CollatorOptions,
id: ParaId,
build_import_queue: BIQ,
build_consensus: BIC,
@@ -325,12 +387,18 @@
let backend = params.backend.clone();
let mut task_manager = params.task_manager;
- 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 (relay_chain_interface, collator_key) = build_relay_chain_interface(
+ polkadot_config,
+ ¶chain_config,
+ telemetry_worker_handle,
+ &mut task_manager,
+ collator_options.clone(),
+ )
+ .await
+ .map_err(|e| match e {
+ RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
+ s => s.to_string().into(),
+ })?;
let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);
@@ -455,7 +523,7 @@
spawner,
parachain_consensus,
import_queue,
- collator_key,
+ collator_key: collator_key.expect("Command line arguments do not allow this. qed"),
relay_chain_interface,
relay_chain_slot_duration,
};
@@ -470,6 +538,7 @@
import_queue,
relay_chain_interface,
relay_chain_slot_duration,
+ collator_options,
};
start_full_node(params)?;
@@ -518,9 +587,9 @@
let time = sp_timestamp::InherentDataProvider::from_system_time();
let slot =
- sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
*time,
- slot_duration.slot_duration(),
+ slot_duration,
);
Ok((time, slot))
@@ -537,6 +606,7 @@
pub async fn start_node<Runtime, RuntimeApi, ExecutorDispatch>(
parachain_config: Configuration,
polkadot_config: Configuration,
+ collator_options: CollatorOptions,
id: ParaId,
) -> sc_service::error::Result<(TaskManager, Arc<FullClient<RuntimeApi, ExecutorDispatch>>)>
where
@@ -564,6 +634,7 @@
start_node_impl::<Runtime, RuntimeApi, ExecutorDispatch, _, _>(
parachain_config,
polkadot_config,
+ collator_options,
id,
parachain_build_import_queue,
|client,
@@ -609,9 +680,9 @@
let time = sp_timestamp::InherentDataProvider::from_system_time();
let slot =
- sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
*time,
- slot_duration.slot_duration(),
+ slot_duration,
);
let parachain_inherent = parachain_inherent.ok_or_else(|| {
@@ -628,7 +699,7 @@
sync_oracle,
keystore,
force_authoring,
- slot_duration: *slot_duration,
+ slot_duration,
// We got around 500ms for proposing
block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32),
telemetry,
@@ -668,6 +739,7 @@
/// the parachain inherent
pub fn start_dev_node<Runtime, RuntimeApi, ExecutorDispatch>(
config: Configuration,
+ autoseal_interval: Duration,
) -> sc_service::error::Result<TaskManager>
where
Runtime: RuntimeInstance + Send + Sync + 'static,
@@ -691,7 +763,6 @@
+ sp_consensus_aura::AuraApi<Block, AuraId>,
ExecutorDispatch: NativeExecutionDispatch + 'static,
{
- use futures::Stream;
use sc_consensus_manual_seal::{run_manual_seal, EngineCommand, ManualSealParams};
use fc_consensus::FrontierBlockImport;
use sc_client_api::HeaderBackend;
@@ -755,20 +826,32 @@
telemetry.as_ref().map(|x| x.handle()),
);
- let commands_stream: Box<dyn Stream<Item = EngineCommand<Hash>> + Send + Sync + Unpin> =
- Box::new(
- // This bit cribbed from the implementation of instant seal.
- transaction_pool
- .pool()
- .validated_pool()
- .import_notification_stream()
- .map(|_| EngineCommand::SealNewBlock {
- create_empty: true, // was false in Moonbeam
- finalize: false,
- parent_hash: None,
- sender: None,
- }),
- );
+ let transactions_commands_stream: Box<
+ dyn Stream<Item = EngineCommand<Hash>> + Send + Sync + Unpin,
+ > = Box::new(
+ transaction_pool
+ .pool()
+ .validated_pool()
+ .import_notification_stream()
+ .map(|_| EngineCommand::SealNewBlock {
+ create_empty: true,
+ finalize: false,
+ parent_hash: None,
+ sender: None,
+ }),
+ );
+
+ let autoseal_interval = Box::pin(AutosealInterval::new(&config, autoseal_interval));
+ let idle_commands_stream: Box<
+ dyn Stream<Item = EngineCommand<Hash>> + Send + Sync + Unpin,
+ > = Box::new(autoseal_interval.map(|_| EngineCommand::SealNewBlock {
+ create_empty: true,
+ finalize: false,
+ parent_hash: None,
+ sender: None,
+ }));
+
+ let commands_stream = select(transactions_commands_stream, idle_commands_stream);
let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
let client_set_aside_for_cidp = client.clone();
@@ -809,9 +892,9 @@
};
let slot =
- sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_slot_duration(
*time,
- slot_duration.slot_duration(),
+ slot_duration,
);
Ok((time, slot, mocked_parachain))
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.17' }
-pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
tokio = { version = "0.2.25", features = ["macros", "sync"] }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
pallet-common = { default-features = false, path = "../../pallets/common" }
unique-runtime-common = { default-features = false, path = "../../runtime/common" }
pallets/common/Cargo.tomldiffbeforeafterboth--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -8,21 +8,21 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.0.0'
+version = '3.1.2'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
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.17" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
serde = { version = "1.0.130", default-features = false }
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
@@ -33,7 +33,7 @@
"frame-system/std",
"sp-runtime/std",
"sp-std/std",
- "up-evm-mapping/std",
+ "fp-evm-mapping/std",
"up-data-structs/std",
"pallet-evm/std",
]
pallets/common/src/account.rsdiffbeforeafterboth--- a/pallets/common/src/account.rs
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-use crate::Config;
-use codec::{Encode, EncodeLike, Decode, MaxEncodedLen};
-use sp_core::H160;
-use scale_info::{Type, TypeInfo};
-use core::cmp::Ordering;
-use serde::{Serialize, Deserialize};
-use pallet_evm::AddressMapping;
-use sp_std::vec::Vec;
-use sp_std::clone::Clone;
-pub use up_evm_mapping::EvmBackwardsAddressMapping;
-
-pub trait CrossAccountId<AccountId>:
- Encode + EncodeLike + Decode + TypeInfo + MaxEncodedLen + Clone + PartialEq + Ord + core::fmt::Debug
-// +
-// Serialize + Deserialize<'static>
-{
- fn as_sub(&self) -> &AccountId;
- fn as_eth(&self) -> &H160;
-
- fn from_sub(account: AccountId) -> Self;
- fn from_eth(account: H160) -> Self;
-
- fn conv_eq(&self, other: &Self) -> bool;
-}
-
-#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo, MaxEncodedLen)]
-#[serde(rename_all = "camelCase")]
-enum BasicCrossAccountIdRepr<AccountId> {
- Substrate(AccountId),
- Ethereum(H160),
-}
-
-#[derive(PartialEq, Eq)]
-pub struct BasicCrossAccountId<T: Config> {
- /// If true - then ethereum is canonical encoding
- from_ethereum: bool,
- substrate: T::AccountId,
- 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> core::fmt::Debug for BasicCrossAccountId<T> {
- fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
- if self.from_ethereum {
- fmt.debug_tuple("CrossAccountId::Ethereum")
- .field(&self.ethereum)
- .finish()
- } else {
- fmt.debug_tuple("CrossAccountId::Substrate")
- .field(&self.substrate)
- .finish()
- }
- }
-}
-
-impl<T: Config> PartialOrd for BasicCrossAccountId<T> {
- fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
- Some(self.substrate.cmp(&other.substrate))
- }
-}
-
-impl<T: Config> Ord for BasicCrossAccountId<T> {
- fn cmp(&self, other: &Self) -> Ordering {
- self.partial_cmp(other)
- .expect("substrate account is total ordered")
- }
-}
-
-impl<T: Config> Clone for BasicCrossAccountId<T> {
- fn clone(&self) -> Self {
- Self {
- from_ethereum: self.from_ethereum,
- substrate: self.substrate.clone(),
- ethereum: self.ethereum,
- }
- }
-}
-impl<T: Config> Encode for BasicCrossAccountId<T> {
- fn encode(&self) -> Vec<u8> {
- BasicCrossAccountIdRepr::from(self.clone()).encode()
- }
-}
-impl<T: Config> EncodeLike for BasicCrossAccountId<T> {}
-impl<T: Config> Decode for BasicCrossAccountId<T> {
- fn decode<I>(input: &mut I) -> Result<Self, codec::Error>
- where
- I: codec::Input,
- {
- Ok(BasicCrossAccountIdRepr::decode(input)?.into())
- }
-}
-impl<T> Serialize for BasicCrossAccountId<T>
-where
- T: Config,
- T::AccountId: Serialize,
-{
- fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
- where
- S: serde::Serializer,
- {
- let repr = BasicCrossAccountIdRepr::from(self.clone());
- (&repr).serialize(serializer)
- }
-}
-impl<'de, T> Deserialize<'de> for BasicCrossAccountId<T>
-where
- T: Config,
- T::AccountId: Deserialize<'de>,
-{
- fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
- where
- D: serde::Deserializer<'de>,
- {
- Ok(BasicCrossAccountIdRepr::deserialize(deserializer)?.into())
- }
-}
-impl<T: Config> CrossAccountId<T::AccountId> for BasicCrossAccountId<T> {
- fn as_sub(&self) -> &T::AccountId {
- &self.substrate
- }
- fn as_eth(&self) -> &H160 {
- &self.ethereum
- }
- fn from_sub(substrate: T::AccountId) -> Self {
- Self {
- ethereum: T::EvmBackwardsAddressMapping::from_account_id(substrate.clone()),
- substrate,
- from_ethereum: false,
- }
- }
- fn from_eth(ethereum: H160) -> Self {
- Self {
- ethereum,
- substrate: T::EvmAddressMapping::into_account_id(ethereum),
- from_ethereum: true,
- }
- }
- fn conv_eq(&self, other: &Self) -> bool {
- if self.from_ethereum == other.from_ethereum {
- self.substrate == other.substrate && self.ethereum == other.ethereum
- } else if self.from_ethereum {
- // ethereum is canonical encoding, but we need to compare derived address
- self.substrate == other.substrate
- } else {
- self.ethereum == other.ethereum
- }
- }
-}
-impl<T: Config> From<BasicCrossAccountIdRepr<T::AccountId>> for BasicCrossAccountId<T> {
- fn from(repr: BasicCrossAccountIdRepr<T::AccountId>) -> Self {
- match repr {
- BasicCrossAccountIdRepr::Substrate(s) => Self::from_sub(s),
- BasicCrossAccountIdRepr::Ethereum(e) => Self::from_eth(e),
- }
- }
-}
-impl<T: Config> From<BasicCrossAccountId<T>> for BasicCrossAccountIdRepr<T::AccountId> {
- fn from(v: BasicCrossAccountId<T>) -> Self {
- if v.from_ethereum {
- BasicCrossAccountIdRepr::Ethereum(*v.as_eth())
- } else {
- BasicCrossAccountIdRepr::Substrate(v.as_sub().clone())
- }
- }
-}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -19,7 +19,7 @@
use core::ops::{Deref, DerefMut};
use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
use sp_std::vec::Vec;
-use account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
use frame_support::{
dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},
ensure, fail,
@@ -38,7 +38,6 @@
pub use pallet::*;
use sp_core::H160;
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
-pub mod account;
#[cfg(feature = "runtime-benchmarks")]
pub mod benchmarking;
pub mod erc;
@@ -163,19 +162,16 @@
pub mod pallet {
use super::*;
use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key};
- use account::CrossAccountId;
+ use pallet_evm::account;
use frame_support::traits::Currency;
use up_data_structs::TokenId;
use scale_info::TypeInfo;
#[pallet::config]
- pub trait Config: frame_system::Config + pallet_evm_coder_substrate::Config + TypeInfo {
+ pub trait Config:
+ frame_system::Config + pallet_evm_coder_substrate::Config + TypeInfo + account::Config
+ {
type Event: IsType<<Self as frame_system::Config>::Event> + From<Event<Self>>;
-
- type CrossAccountId: CrossAccountId<Self::AccountId>;
-
- type EvmAddressMapping: pallet_evm::AddressMapping<Self::AccountId>;
- type EvmBackwardsAddressMapping: up_evm_mapping::EvmBackwardsAddressMapping<Self::AccountId>;
type Currency: Currency<Self::AccountId>;
pallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -5,24 +5,24 @@
edition = "2021"
[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-ethereum = { version = "0.11.1", default-features = false }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+ethereum = { version = "0.12.0", 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.17" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
[dependencies.codec]
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[features]
default = ["std"]
pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -5,25 +5,26 @@
edition = "2021"
[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
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.17" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.17' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
log = "0.4.14"
[dependencies.codec]
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[features]
default = ["std"]
pallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -17,14 +17,17 @@
use core::marker::PhantomData;
use evm_coder::{abi::AbiWriter, execution::Result, generate_stubgen, solidity_interface, types::*};
use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
-use pallet_evm::{ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure};
+use pallet_evm::{
+ ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure,
+ account::CrossAccountId,
+};
use sp_core::H160;
use crate::{
AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringRateLimit, SponsoringModeT,
};
use frame_support::traits::Get;
use up_sponsorship::SponsorshipHandler;
-use sp_std::{convert::TryInto, vec::Vec};
+use sp_std::vec::Vec;
struct ContractHelpers<T: Config>(SubstrateRecorder<T>);
impl<T: Config> WithRecorder<T> for ContractHelpers<T> {
@@ -177,18 +180,21 @@
}
pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);
-impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for HelpersContractSponsoring<T> {
- fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {
+impl<T: Config> SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>)>
+ for HelpersContractSponsoring<T>
+{
+ fn get_sponsor(who: &T::CrossAccountId, call: &(H160, Vec<u8>)) -> Option<T::CrossAccountId> {
let mode = <Pallet<T>>::sponsoring_mode(call.0);
if mode == SponsoringModeT::Disabled {
return None;
}
- if mode == SponsoringModeT::Allowlisted && !<Pallet<T>>::allowed(call.0, *who) {
+
+ if mode == SponsoringModeT::Allowlisted && !<Pallet<T>>::allowed(call.0, *who.as_eth()) {
return None;
}
let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
- if let Some(last_tx_block) = <SponsorBasket<T>>::get(&call.0, who) {
+ if let Some(last_tx_block) = <SponsorBasket<T>>::get(&call.0, who.as_eth()) {
let limit = <SponsoringRateLimit<T>>::get(&call.0);
let timeout = last_tx_block + limit;
@@ -197,9 +203,10 @@
}
}
- <SponsorBasket<T>>::insert(&call.0, who, block_number);
+ <SponsorBasket<T>>::insert(&call.0, who.as_eth(), block_number);
- Some(call.0)
+ let sponsor = T::CrossAccountId::from_eth(call.0);
+ Some(sponsor)
}
}
pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -30,7 +30,9 @@
use sp_core::H160;
#[pallet::config]
- pub trait Config: frame_system::Config + pallet_evm_coder_substrate::Config {
+ pub trait Config:
+ frame_system::Config + pallet_evm_coder_substrate::Config + pallet_evm::account::Config
+ {
type ContractAddress: Get<H160>;
type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;
}
pallets/evm-migration/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-migration/Cargo.toml
+++ b/pallets/evm-migration/Cargo.toml
@@ -5,24 +5,24 @@
edition = "2021"
[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
[dependencies.codec]
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[features]
default = ["std", "runtime-benchmarks"]
pallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -5,26 +5,26 @@
edition = "2021"
[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.17' }
-up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
[dependencies.codec]
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[features]
default = ["std"]
@@ -39,5 +39,5 @@
"pallet-ethereum/std",
"fp-evm/std",
"up-sponsorship/std",
- "up-evm-mapping/std",
+ "fp-evm-mapping/std",
]
pallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-transaction-payment/src/lib.rs
+++ b/pallets/evm-transaction-payment/src/lib.rs
@@ -20,12 +20,10 @@
use fp_evm::WithdrawReason;
use frame_support::traits::{Currency, IsSubType};
pub use pallet::*;
-use pallet_evm::{EVMCurrencyAdapter, EnsureAddressOrigin};
+use pallet_evm::{EVMCurrencyAdapter, EnsureAddressOrigin, account::CrossAccountId};
use sp_core::{H160, U256};
use sp_runtime::TransactionOutcome;
use up_sponsorship::SponsorshipHandler;
-use up_evm_mapping::EvmBackwardsAddressMapping;
-use pallet_evm::AddressMapping;
#[frame_support::pallet]
pub mod pallet {
@@ -35,11 +33,9 @@
use sp_std::vec::Vec;
#[pallet::config]
- pub trait Config: frame_system::Config {
- type EvmSponsorshipHandler: SponsorshipHandler<H160, (H160, Vec<u8>)>;
+ pub trait Config: frame_system::Config + pallet_evm::account::Config {
+ type EvmSponsorshipHandler: SponsorshipHandler<Self::CrossAccountId, (H160, Vec<u8>)>;
type Currency: Currency<Self::AccountId>;
- type EvmBackwardsAddressMapping: EvmBackwardsAddressMapping<Self::AccountId>;
- type EvmAddressMapping: AddressMapping<Self::AccountId>;
}
#[pallet::pallet]
@@ -60,14 +56,15 @@
}
pub struct TransactionValidityHack<T: Config>(PhantomData<*const T>);
-impl<T: Config> fp_evm::TransactionValidityHack for TransactionValidityHack<T> {
- fn who_pays_fee(origin: H160, reason: &WithdrawReason) -> Option<H160> {
+impl<T: Config> fp_evm::TransactionValidityHack<T::CrossAccountId> for TransactionValidityHack<T> {
+ fn who_pays_fee(origin: H160, reason: &WithdrawReason) -> Option<T::CrossAccountId> {
match reason {
WithdrawReason::Call { target, input } => {
// This method is only used for checking, we shouldn't touch storage in it
frame_support::storage::with_transaction(|| {
+ let origin_sub = T::CrossAccountId::from_eth(origin);
TransactionOutcome::Rollback(T::EvmSponsorshipHandler::get_sponsor(
- &origin,
+ &origin_sub,
&(*target, input.clone()),
))
})
@@ -85,33 +82,36 @@
type LiquidityInfo = Option<ChargeEvmLiquidityInfo<T>>;
fn withdraw_fee(
- who: &H160,
+ who: &T::CrossAccountId,
reason: WithdrawReason,
fee: U256,
) -> core::result::Result<Self::LiquidityInfo, pallet_evm::Error<T>> {
- let mut who_pays_fee = *who;
- if let WithdrawReason::Call { target, input } = &reason {
- who_pays_fee = T::EvmSponsorshipHandler::get_sponsor(who, &(*target, input.clone()))
- .unwrap_or(who_pays_fee);
- }
+ let who_pays_fee = if let WithdrawReason::Call { target, input } = &reason {
+ T::EvmSponsorshipHandler::get_sponsor(who, &(*target, input.clone()))
+ .unwrap_or(who.clone())
+ } else {
+ who.clone()
+ };
+
let negative_imbalance = EVMCurrencyAdapter::<<T as Config>::Currency, ()>::withdraw_fee(
&who_pays_fee,
reason,
fee,
)?;
+
Ok(negative_imbalance.map(|i| ChargeEvmLiquidityInfo {
- who: who_pays_fee,
+ who: who_pays_fee.as_eth().clone(),
negative_imbalance: i,
}))
}
fn correct_and_deposit_fee(
- who: &H160,
+ who: &T::CrossAccountId,
corrected_fee: U256,
already_withdrawn: Self::LiquidityInfo,
) {
<EVMCurrencyAdapter<<T as Config>::Currency, ()> as pallet_evm::OnChargeEVMTransaction<T>>::correct_and_deposit_fee(
- &already_withdrawn.as_ref().map(|e| e.who).unwrap_or(*who),
+ &already_withdrawn.as_ref().map(|e| T::CrossAccountId::from_eth(e.who)).unwrap_or(who.clone()),
corrected_fee,
already_withdrawn.map(|e| e.negative_imbalance),
)
@@ -142,7 +142,7 @@
<frame_system::RawOrigin<T::AccountId>>::Signed(who.clone()).into(),
)
.ok()?;
- let who = T::EvmBackwardsAddressMapping::from_account_id(who.clone());
+ let who = T::CrossAccountId::from_sub(who.clone());
// Effects from EvmSponsorshipHandler are applied in OnChargeEvmTransaction by pallet_evm::runner
// TODO: Should we implement simulation mode (test, but do not apply effects) in `up-sponsorship`?
let sponsor = frame_support::storage::with_transaction(|| {
@@ -151,8 +151,7 @@
&(*target, input.clone()),
))
})?;
- let sponsor = T::EvmAddressMapping::into_account_id(sponsor);
- Some(sponsor)
+ Some(sponsor.as_sub().clone())
}
_ => None,
}
pallets/fungible/Cargo.tomldiffbeforeafterboth--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -8,21 +8,22 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.0.0'
+version = '3.1.2'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
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.17' }
-scale-info = { version = "1.0.0", default-features = false, features = [
+ethereum = { version = "0.12.0", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
@@ -39,5 +40,6 @@
"ethereum/std",
"pallet-evm-coder-substrate/std",
'frame-benchmarking/std',
+ "pallet-evm/std"
]
runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']
pallets/fungible/src/erc.rsdiffbeforeafterboth--- a/pallets/fungible/src/erc.rs
+++ b/pallets/fungible/src/erc.rs
@@ -21,7 +21,7 @@
use pallet_common::erc::{CommonEvmHandler, PrecompileResult};
use sp_core::{H160, U256};
use sp_std::vec::Vec;
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
use pallet_evm_coder_substrate::{call, dispatch_to_evm};
use crate::{
pallets/fungible/src/lib.rsdiffbeforeafterboth--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -19,9 +19,8 @@
use core::ops::Deref;
use frame_support::{ensure};
use up_data_structs::{AccessMode, CollectionId, TokenId, CreateCollectionData};
-use pallet_common::{
- Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
-};
+use pallet_common::{Error as CommonError, Event as CommonEvent, Pallet as PalletCommon};
+use pallet_evm::account::CrossAccountId;
use pallet_evm_coder_substrate::WithRecorder;
use sp_core::H160;
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
@@ -36,7 +35,7 @@
pub mod erc;
pub mod weights;
-pub type CreateItemData<T> = (<T as pallet_common::Config>::CrossAccountId, u128);
+pub type CreateItemData<T> = (<T as pallet_evm::account::Config>::CrossAccountId, u128);
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
#[frame_support::pallet]
pallets/inflation/Cargo.tomldiffbeforeafterboth--- a/pallets/inflation/Cargo.toml
+++ b/pallets/inflation/Cargo.toml
@@ -37,43 +37,43 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.frame-benchmarking]
default-features = false
optional = true
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.serde]
default-features = false
@@ -83,17 +83,19 @@
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
+scale-info = { version = "2.0.1", default-features = false, features = [
+ "derive",
+] }
pallets/nonfungible/Cargo.tomldiffbeforeafterboth--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -8,21 +8,22 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.0.0'
+version = '3.1.2'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
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.17' }
-scale-info = { version = "1.0.0", default-features = false, features = [
+ethereum = { version = "0.12.0", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
@@ -39,6 +40,7 @@
"ethereum/std",
"pallet-evm-coder-substrate/std",
'frame-benchmarking/std',
+ "pallet-evm/std"
]
runtime-benchmarks = [
'frame-benchmarking',
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -25,9 +25,9 @@
use sp_core::{H160, U256};
use sp_std::{vec::Vec, vec};
use pallet_common::{
- account::CrossAccountId,
erc::{CommonEvmHandler, PrecompileResult},
};
+use pallet_evm::account::CrossAccountId;
use pallet_evm_coder_substrate::call;
use crate::{
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -21,9 +21,8 @@
use up_data_structs::{
AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
};
-use pallet_common::{
- Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,
-};
+use pallet_common::{Error as CommonError, Pallet as PalletCommon, Event as CommonEvent};
+use pallet_evm::account::CrossAccountId;
use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
use sp_core::H160;
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
@@ -40,7 +39,7 @@
pub mod erc;
pub mod weights;
-pub type CreateItemData<T> = CreateNftExData<<T as pallet_common::Config>::CrossAccountId>;
+pub type CreateItemData<T> = CreateNftExData<<T as pallet_evm::account::Config>::CrossAccountId>;
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
#[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
pallets/refungible/Cargo.tomldiffbeforeafterboth--- a/pallets/refungible/Cargo.toml
+++ b/pallets/refungible/Cargo.toml
@@ -8,18 +8,19 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.0.0'
+version = '3.1.2'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
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.17' }
-scale-info = { version = "1.0.0", default-features = false, features = [
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
@@ -33,6 +34,7 @@
"up-data-structs/std",
"pallet-common/std",
'frame-benchmarking/std',
+ "pallet-evm/std",
]
runtime-benchmarks = [
'frame-benchmarking',
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -21,9 +21,8 @@
AccessMode, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId,
CreateCollectionData, CreateRefungibleExData,
};
-use pallet_common::{
- Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
-};
+use pallet_common::{Error as CommonError, Event as CommonEvent, Pallet as PalletCommon};
+use pallet_evm::account::CrossAccountId;
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
use core::ops::Deref;
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -11,21 +11,23 @@
[dependencies]
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.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false }
+scale-info = { version = "2.0.1", default-features = false, features = [
+ "derive",
+] }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.17' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
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.17' }
-substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
[features]
default = ["std"]
pallets/unique/Cargo.tomldiffbeforeafterboth--- a/pallets/unique/Cargo.toml
+++ b/pallets/unique/Cargo.toml
@@ -34,7 +34,7 @@
'fp-evm/std',
'up-data-structs/std',
'up-sponsorship/std',
- 'up-evm-mapping/std',
+ 'fp-evm-mapping/std',
'sp-std/std',
'sp-api/std',
'sp-runtime/std',
@@ -55,48 +55,48 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.frame-benchmarking]
default-features = false
optional = true
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[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.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
################################################################################
@@ -124,24 +124,24 @@
[dependencies]
up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
-ethereum = { version = "0.11.1", default-features = false }
+ethereum = { version = "0.12.0", 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.17" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.17' }
-up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
evm-coder = { default-features = false, path = "../../crates/evm-coder" }
pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
-primitive-types = { version = "0.10.1", default-features = false, features = [
+primitive-types = { version = "0.11.1", default-features = false, features = [
"serde_no_std",
] }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
hex-literal = "0.3.3"
pallet-common = { default-features = false, path = "../common" }
pallets/unique/src/eth/sponsoring.rsdiffbeforeafterboth--- a/pallets/unique/src/eth/sponsoring.rs
+++ b/pallets/unique/src/eth/sponsoring.rs
@@ -24,24 +24,24 @@
use up_sponsorship::SponsorshipHandler;
use core::marker::PhantomData;
use core::convert::TryInto;
-use up_data_structs::TokenId;
-use up_evm_mapping::EvmBackwardsAddressMapping;
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
-use pallet_nonfungible::erc::{UniqueNFTCall, ERC721UniqueExtensionsCall, ERC721Call};
+use pallet_nonfungible::erc::{
+ UniqueNFTCall, ERC721UniqueExtensionsCall, ERC721MintableCall, ERC721Call,
+};
use pallet_fungible::erc::{UniqueFungibleCall, ERC20Call};
+use up_data_structs::{TokenId, CreateItemData, CreateNftData};
pub struct UniqueEthSponsorshipHandler<T: Config>(PhantomData<*const T>);
-impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for UniqueEthSponsorshipHandler<T> {
- fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {
+impl<T: Config> SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>)>
+ for UniqueEthSponsorshipHandler<T>
+{
+ fn get_sponsor(who: &T::CrossAccountId, call: &(H160, Vec<u8>)) -> Option<T::CrossAccountId> {
let collection_id = map_eth_to_id(&call.0)?;
let collection = <CollectionHandle<T>>::new(collection_id)?;
let sponsor = collection.sponsorship.sponsor()?.clone();
- let sponsor =
- <T as pallet_common::Config>::EvmBackwardsAddressMapping::from_account_id(sponsor);
- let who = T::CrossAccountId::from_eth(*who);
let (method_id, mut reader) = AbiReader::new_call(&call.1).ok()?;
- match &collection.mode {
+ Some(T::CrossAccountId::from_sub(match &collection.mode {
crate::CollectionMode::NFT => {
let call = <UniqueNFTCall<T>>::parse(method_id, &mut reader).ok()??;
match call {
@@ -51,6 +51,18 @@
let token_id: TokenId = token_id.try_into().ok()?;
withdraw_transfer::<T>(&collection, &who, &token_id).map(|()| sponsor)
}
+ UniqueNFTCall::ERC721Mintable(
+ ERC721MintableCall::Mint { token_id, .. }
+ | ERC721MintableCall::MintWithTokenUri { token_id, .. },
+ ) => {
+ let _token_id: TokenId = token_id.try_into().ok()?;
+ withdraw_create_item::<T>(
+ &collection,
+ &who,
+ &CreateItemData::NFT(CreateNftData::default()),
+ )
+ .map(|()| sponsor)
+ }
UniqueNFTCall::ERC721(ERC721Call::TransferFrom { token_id, from, .. }) => {
let token_id: TokenId = token_id.try_into().ok()?;
let from = T::CrossAccountId::from_eth(from);
@@ -69,7 +81,7 @@
#[allow(clippy::single_match)]
match call {
UniqueFungibleCall::ERC20(ERC20Call::Transfer { .. }) => {
- withdraw_transfer::<T>(&collection, &who, &TokenId::default())
+ withdraw_transfer::<T>(&collection, who, &TokenId::default())
.map(|()| sponsor)
}
UniqueFungibleCall::ERC20(ERC20Call::TransferFrom { from, .. }) => {
@@ -85,6 +97,6 @@
}
}
_ => None,
- }
+ }?))
}
}
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -53,10 +53,8 @@
CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
CreateCollectionData, CustomDataLimit, CreateItemExData,
};
-use pallet_common::{
- account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,
- CommonWeightInfo,
-};
+use pallet_common::{CollectionHandle, Pallet as PalletCommon, Error as CommonError, CommonWeightInfo};
+use pallet_evm::account::CrossAccountId;
use pallet_refungible::{Pallet as PalletRefungible, RefungibleHandle};
use pallet_fungible::{Pallet as PalletFungible, FungibleHandle};
use pallet_nonfungible::{Pallet as PalletNonfungible, NonfungibleHandle};
@@ -116,7 +114,7 @@
pub enum Event<T>
where
<T as frame_system::Config>::AccountId,
- <T as pallet_common::Config>::CrossAccountId,
+ <T as pallet_evm::account::Config>::CrossAccountId,
{
/// Collection sponsor was removed
///
pallets/unique/src/mock.rsdiffbeforeafterboth--- a/pallets/unique/src/mock.rs
+++ b/pallets/unique/src/mock.rs
@@ -25,8 +25,8 @@
};
use pallet_transaction_payment::{CurrencyAdapter};
use frame_system as system;
-use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog};
-use pallet_common::account::{EvmBackwardsAddressMapping, CrossAccountId};
+use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog, account::CrossAccountId};
+use fp_evm_mapping::EvmBackwardsAddressMapping;
use codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
use up_data_structs::ConstU32;
@@ -191,15 +191,17 @@
impl pallet_common::Config for Test {
type Event = ();
- type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;
- type EvmAddressMapping = TestEvmAddressMapping;
- type CrossAccountId = TestCrossAccountId;
-
type Currency = Balances;
type CollectionCreationPrice = CollectionCreationPrice;
type TreasuryAccountId = TreasuryAccountId;
}
+impl pallet_evm::account::Config for Test {
+ type CrossAccountId = TestCrossAccountId;
+ type EvmAddressMapping = TestEvmAddressMapping;
+ type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;
+}
+
impl pallet_fungible::Config for Test {
type WeightInfo = ();
}
pallets/unique/src/sponsorship.rsdiffbeforeafterboth--- a/pallets/unique/src/sponsorship.rs
+++ b/pallets/unique/src/sponsorship.rs
@@ -30,7 +30,7 @@
NFT_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId,
};
use pallet_common::{CollectionHandle};
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
pub fn withdraw_transfer<T: Config>(
collection: &CollectionHandle<T>,
@@ -103,7 +103,7 @@
pub fn withdraw_create_item<T: Config>(
collection: &CollectionHandle<T>,
- who: &T::AccountId,
+ who: &T::CrossAccountId,
_properties: &CreateItemData,
) -> Option<()> {
if _properties.data_size() as u32 > collection.limits.sponsored_data_size() {
@@ -120,14 +120,14 @@
CreateItemData::ReFungible(_) => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
});
- if let Some(last_tx_block) = <CreateItemBasket<T>>::get((collection.id, &who)) {
+ if let Some(last_tx_block) = <CreateItemBasket<T>>::get((collection.id, who.as_sub())) {
let timeout = last_tx_block + limit.into();
if block_number < timeout {
return None;
}
}
- CreateItemBasket::<T>::insert((collection.id, who.clone()), block_number);
+ CreateItemBasket::<T>::insert((collection.id, who.as_sub()), block_number);
Some(())
}
@@ -246,7 +246,12 @@
..
} => {
let (sponsor, collection) = load(*collection_id)?;
- withdraw_create_item::<T>(&collection, who, data).map(|()| sponsor)
+ withdraw_create_item::<T>(
+ &collection,
+ &T::CrossAccountId::from_sub(who.clone()),
+ data,
+ )
+ .map(|()| sponsor)
}
Call::transfer {
collection_id,
pallets/unique/src/tests.rsdiffbeforeafterboth--- a/pallets/unique/src/tests.rs
+++ b/pallets/unique/src/tests.rs
@@ -18,6 +18,7 @@
use super::*;
use crate::mock::*;
use crate::{AccessMode, CollectionMode};
+use sp_runtime::AccountId32;
use up_data_structs::{
COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,
CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission,
@@ -2854,3 +2855,59 @@
);
});
}
+
+#[test]
+fn collection_sponsoring() {
+ new_test_ext().execute_with(|| {
+ // default_limits();
+ let user1 = 1_u64;
+ let user2 = 777_u64;
+ let origin1 = Origin::signed(user1);
+ let origin2 = Origin::signed(user2);
+ let account2 = account(user2);
+
+ let collection_id =
+ create_test_collection_for_owner(&CollectionMode::NFT, user1, CollectionId(1));
+ assert_ok!(TemplateModule::set_collection_sponsor(
+ origin1.clone(),
+ collection_id,
+ user1
+ ));
+ assert_ok!(TemplateModule::confirm_sponsorship(
+ origin1.clone(),
+ collection_id
+ ));
+
+ // Expect error while have no permissions
+ assert!(TemplateModule::create_item(
+ origin2.clone(),
+ collection_id,
+ account2.clone(),
+ default_nft_data().into()
+ )
+ .is_err());
+
+ assert_ok!(TemplateModule::set_public_access_mode(
+ origin1.clone(),
+ collection_id,
+ AccessMode::AllowList
+ ));
+ assert_ok!(TemplateModule::add_to_allow_list(
+ origin1.clone(),
+ collection_id,
+ account2.clone()
+ ));
+ assert_ok!(TemplateModule::set_mint_permission(
+ origin1.clone(),
+ collection_id,
+ true
+ ));
+
+ assert_ok!(TemplateModule::create_item(
+ origin2,
+ collection_id,
+ account2,
+ default_nft_data().into()
+ ));
+ });
+}
primitives/data-structs/Cargo.tomldiffbeforeafterboth--- a/primitives/data-structs/Cargo.toml
+++ b/primitives/data-structs/Cargo.toml
@@ -9,18 +9,20 @@
version = '0.1.0'
[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
-codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
+ "derive",
+] }
+codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false, features = [
'derive',
] }
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.17' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
derivative = "2.2.0"
[features]
primitives/evm-mapping/Cargo.tomldiffbeforeafterboth--- a/primitives/evm-mapping/Cargo.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-[package]
-name = "up-evm-mapping"
-version = "0.1.0"
-license = "GPLv3"
-edition = "2021"
-
-[dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-
-[features]
-default = ["std"]
-std = ["sp-core/std", "frame-support/std"]
primitives/evm-mapping/src/lib.rsdiffbeforeafterboth--- a/primitives/evm-mapping/src/lib.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-#![cfg_attr(not(feature = "std"), no_std)]
-
-use frame_support::sp_runtime::AccountId32;
-use sp_core::H160;
-
-/// Transforms substrate addresses to ethereum (Reverse of `EvmAddressMapping`)
-/// pallet_evm doesn't have this, as it only checks if eth address
-/// is owned by substrate via `EnsureAddressOrigin` trait
-///
-/// This trait implementations shouldn't conflict with used `EnsureAddressOrigin`
-pub trait EvmBackwardsAddressMapping<AccountId> {
- fn from_account_id(account_id: AccountId) -> H160;
-}
-
-/// Should have same mapping as EnsureAddressTruncated
-pub struct MapBackwardsAddressTruncated;
-impl EvmBackwardsAddressMapping<AccountId32> for MapBackwardsAddressTruncated {
- fn from_account_id(account_id: AccountId32) -> H160 {
- let mut out = [0; 20];
- out.copy_from_slice(&(account_id.as_ref() as &[u8])[0..20]);
- H160(out)
- }
-}
primitives/rpc/Cargo.tomldiffbeforeafterboth--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -7,13 +7,14 @@
[dependencies]
pallet-common = { default-features = false, path = '../../pallets/common' }
up-data-structs = { default-features = false, path = '../data-structs' }
-codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [
+codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false, features = [
"derive",
] }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.17' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
[features]
default = ["std"]
primitives/rpc/src/lib.rsdiffbeforeafterboth--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -28,7 +28,7 @@
#[api_version(2)]
pub trait UniqueApi<CrossAccountId, AccountId> where
AccountId: Decode,
- CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,
+ CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
{
#[changed_in(2)]
fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
runtime/common/Cargo.tomldiffbeforeafterboth--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -6,7 +6,7 @@
license = 'All Rights Reserved'
name = 'unique-runtime-common'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.1.0'
+version = '0.9.18'
[features]
default = ['std']
@@ -23,39 +23,39 @@
runtime-benchmarks = [
'sp-runtime/runtime-benchmarks',
'frame-support/runtime-benchmarks',
- 'frame-system/runtime-benchmarks'
+ 'frame-system/runtime-benchmarks',
]
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.codec]
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.scale-info]
default-features = false
features = ["derive"]
-version = "1.0.0"
+version = "2.0.1"
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-common]
default-features = false
@@ -64,9 +64,12 @@
[dependencies.sp-consensus-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.fp-rpc]
default-features = false
git = "https://github.com/uniquenetwork/frontier.git"
-branch = "unique-polkadot-v0.9.17"
+branch = "unique-polkadot-v0.9.18-2"
+
+[dependencies]
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
\ No newline at end of file
runtime/common/src/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -185,7 +185,7 @@
};
<Runtime as pallet_evm::Config>::Runner::call(
- from,
+ CrossAccountId::from_eth(from),
to,
data,
value,
@@ -219,7 +219,7 @@
};
<Runtime as pallet_evm::Config>::Runner::create(
- from,
+ CrossAccountId::from_eth(from),
data,
value,
gas_limit.low_u64(),
runtime/common/src/types.rsdiffbeforeafterboth--- a/runtime/common/src/types.rs
+++ b/runtime/common/src/types.rs
@@ -42,7 +42,7 @@
pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;
pub trait RuntimeInstance {
- type CrossAccountId: pallet_common::account::CrossAccountId<sp_runtime::AccountId32>
+ type CrossAccountId: pallet_evm::account::CrossAccountId<sp_runtime::AccountId32>
+ Send
+ Sync
+ 'static;
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -10,7 +10,7 @@
license = 'GPLv3'
name = 'opal-runtime'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.1.0'
+version = '0.9.18'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
@@ -72,7 +72,7 @@
'pallet-base-fee/std',
'fp-rpc/std',
'up-rpc/std',
- 'up-evm-mapping/std',
+ 'fp-evm-mapping/std',
'fp-self-contained/std',
'parachain-info/std',
'serde',
@@ -113,39 +113,39 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.frame-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-executive]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.hex-literal]
optional = true
@@ -160,131 +160,131 @@
[dependencies.pallet-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
# Contracts specific packages
# [dependencies.pallet-contracts]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-primitives]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
# 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.17'
+# branch = 'polkadot-v0.9.18'
# version = '4.0.0-dev'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-sudo]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-treasury]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
# [dependencies.pallet-vesting]
# default-features = false
# git = 'https://github.com/paritytech/substrate.git'
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
[dependencies.sp-arithmetic]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-block-builder]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-consensus-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-inherents]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-offchain]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-session]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-transaction-pool]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-version]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.smallvec]
version = '1.6.1'
@@ -294,47 +294,47 @@
[dependencies.parachain-info]
default-features = false
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-pallet-aura-ext]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-parachain-system]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-core]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-xcm]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-dmp-queue]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-xcmp-queue]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-utility]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-timestamp]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
################################################################################
@@ -342,32 +342,32 @@
[dependencies.polkadot-parachain]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm-builder]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm-executor]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.pallet-xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.orml-vesting]
git = 'https://github.com/UniqueNetwork/open-runtime-module-library'
-branch = 'unique-polkadot-v0.9.17'
+branch = 'unique-polkadot-v0.9.18'
version = "0.4.1-dev"
default-features = false
@@ -376,13 +376,13 @@
[dependencies]
unique-runtime-common = { path = "../common", default-features = false }
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
derivative = "2.2.0"
pallet-unique = { path = '../../pallets/unique', default-features = false }
up-rpc = { path = "../../primitives/rpc", default-features = false }
-up-evm-mapping = { path = "../../primitives/evm-mapping", default-features = false }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
pallet-inflation = { path = '../../pallets/inflation', default-features = false }
up-data-structs = { path = '../../primitives/data-structs', default-features = false }
pallet-common = { default-features = false, path = "../../pallets/common" }
@@ -391,20 +391,20 @@
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.17', 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.18', 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.17" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
runtime/opal/src/lib.rsdiffbeforeafterboth--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -48,7 +48,9 @@
};
// A few exports that help ease life for downstream crates.
pub use pallet_balances::Call as BalancesCall;
-pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};
+pub use pallet_evm::{
+ EnsureAddressTruncated, HashedAddressMapping, Runner, account::CrossAccountId as _,
+};
pub use frame_support::{
construct_runtime, match_type,
dispatch::DispatchResult,
@@ -114,13 +116,13 @@
use unique_runtime_common::{impl_common_runtime_apis, types::*, constants::*};
-pub const RUNTIME_NAME: &str = "Opal";
+pub const RUNTIME_NAME: &str = "opal";
+pub const TOKEN_SYMBOL: &str = "OPL";
-type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;
+type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
impl RuntimeInstance for Runtime {
type CrossAccountId = self::CrossAccountId;
-
type TransactionConverter = self::TransactionConverter;
fn get_transaction_converter() -> TransactionConverter {
@@ -128,6 +130,22 @@
}
}
+/// The type for looking up accounts. We don't expect more than 4 billion of them, but you
+/// never know...
+pub type AccountIndex = u32;
+
+/// Balance of an account.
+pub type Balance = u128;
+
+/// Index of a transaction in the chain.
+pub type Index = u32;
+
+/// A hash of some data used by the chain.
+pub type Hash = sp_core::H256;
+
+/// Digest item type.
+pub type DigestItem = generic::DigestItem;
+
/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know
/// the specifics of the runtime. They can then be made to be agnostic over specific formats
/// of data like extrinsics, allowing for them to continue syncing the network through upgrades
@@ -151,7 +169,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 917004,
+ spec_version: 918001,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
@@ -257,6 +275,12 @@
}
}
+impl pallet_evm::account::Config for Runtime {
+ type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Self>;
+ type EvmAddressMapping = pallet_evm::HashedAddressMapping<Self::Hashing>;
+ type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;
+}
+
impl pallet_evm::Config for Runtime {
type BlockGasLimit = BlockGasLimit;
type FeeCalculator = FixedFee;
@@ -815,6 +839,7 @@
}
impl cumulus_pallet_xcmp_queue::Config for Runtime {
+ type WeightInfo = ();
type Event = Event;
type XcmExecutor = XcmExecutor<XcmConfig>;
type ChannelInfo = ParachainSystem;
@@ -843,10 +868,6 @@
impl pallet_common::Config for Runtime {
type Event = Event;
- type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
- type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
- type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;
-
type Currency = Balances;
type CollectionCreationPrice = CollectionCreationPrice;
type TreasuryAccountId = TreasuryAccountId;
@@ -910,8 +931,6 @@
impl pallet_evm_transaction_payment::Config for Runtime {
type EvmSponsorshipHandler = EvmSponsorshipHandler;
type Currency = Balances;
- type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
- type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
}
impl pallet_charge_transaction::Config for Runtime {
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -10,7 +10,7 @@
license = 'GPLv3'
name = 'quartz-runtime'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.1.0'
+version = '0.9.18'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
@@ -72,7 +72,7 @@
'pallet-base-fee/std',
'fp-rpc/std',
'up-rpc/std',
- 'up-evm-mapping/std',
+ 'fp-evm-mapping/std',
'fp-self-contained/std',
'parachain-info/std',
'serde',
@@ -113,39 +113,39 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.frame-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-executive]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.hex-literal]
optional = true
@@ -160,131 +160,131 @@
[dependencies.pallet-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
# Contracts specific packages
# [dependencies.pallet-contracts]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-primitives]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
# 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.17'
+# branch = 'polkadot-v0.9.18'
# version = '4.0.0-dev'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-sudo]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-treasury]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
# [dependencies.pallet-vesting]
# default-features = false
# git = 'https://github.com/paritytech/substrate.git'
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
[dependencies.sp-arithmetic]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-block-builder]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-consensus-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-inherents]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-offchain]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-session]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-transaction-pool]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-version]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.smallvec]
version = '1.6.1'
@@ -294,47 +294,47 @@
[dependencies.parachain-info]
default-features = false
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-pallet-aura-ext]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-parachain-system]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-core]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-xcm]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-dmp-queue]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-xcmp-queue]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-utility]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-timestamp]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
################################################################################
@@ -342,32 +342,32 @@
[dependencies.polkadot-parachain]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm-builder]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm-executor]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.pallet-xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.orml-vesting]
git = 'https://github.com/UniqueNetwork/open-runtime-module-library'
-branch = 'unique-polkadot-v0.9.17'
+branch = 'unique-polkadot-v0.9.18'
version = "0.4.1-dev"
default-features = false
@@ -376,13 +376,13 @@
[dependencies]
unique-runtime-common = { path = "../common", default-features = false }
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
derivative = "2.2.0"
pallet-unique = { path = '../../pallets/unique', default-features = false }
up-rpc = { path = "../../primitives/rpc", default-features = false }
-up-evm-mapping = { path = "../../primitives/evm-mapping", default-features = false }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
pallet-inflation = { path = '../../pallets/inflation', default-features = false }
up-data-structs = { path = '../../primitives/data-structs', default-features = false }
pallet-common = { default-features = false, path = "../../pallets/common" }
@@ -391,20 +391,20 @@
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.17', 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.18', 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.17" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
runtime/quartz/src/lib.rsdiffbeforeafterboth--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -48,7 +48,9 @@
};
// A few exports that help ease life for downstream crates.
pub use pallet_balances::Call as BalancesCall;
-pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};
+pub use pallet_evm::{
+ EnsureAddressTruncated, HashedAddressMapping, Runner, account::CrossAccountId as _,
+};
pub use frame_support::{
construct_runtime, match_type,
dispatch::DispatchResult,
@@ -114,9 +116,10 @@
use unique_runtime_common::{impl_common_runtime_apis, types::*, constants::*};
-pub const RUNTIME_NAME: &str = "Quartz";
+pub const RUNTIME_NAME: &str = "quartz";
+pub const TOKEN_SYMBOL: &str = "QTZ";
-type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;
+type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
impl RuntimeInstance for Runtime {
type CrossAccountId = self::CrossAccountId;
@@ -151,7 +154,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 917004,
+ spec_version: 918001,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
@@ -815,6 +818,7 @@
}
impl cumulus_pallet_xcmp_queue::Config for Runtime {
+ type WeightInfo = ();
type Event = Event;
type XcmExecutor = XcmExecutor<XcmConfig>;
type ChannelInfo = ParachainSystem;
@@ -843,15 +847,18 @@
impl pallet_common::Config for Runtime {
type Event = Event;
- type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
- type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
- type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;
type Currency = Balances;
type CollectionCreationPrice = CollectionCreationPrice;
type TreasuryAccountId = TreasuryAccountId;
}
+impl pallet_evm::account::Config for Runtime {
+ type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Self>;
+ type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
+ type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;
+}
+
impl pallet_fungible::Config for Runtime {
type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;
}
@@ -910,8 +917,6 @@
impl pallet_evm_transaction_payment::Config for Runtime {
type EvmSponsorshipHandler = EvmSponsorshipHandler;
type Currency = Balances;
- type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
- type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
}
impl pallet_charge_transaction::Config for Runtime {
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -10,7 +10,7 @@
license = 'GPLv3'
name = 'unique-runtime'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.9.17'
+version = '0.9.18'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
@@ -72,7 +72,7 @@
'pallet-base-fee/std',
'fp-rpc/std',
'up-rpc/std',
- 'up-evm-mapping/std',
+ 'fp-evm-mapping/std',
'fp-self-contained/std',
'parachain-info/std',
'serde',
@@ -113,39 +113,39 @@
default-features = false
features = ['derive']
package = 'parity-scale-codec'
-version = '2.3.0'
+version = '3.1.2'
[dependencies.frame-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-executive]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.frame-system-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.hex-literal]
optional = true
@@ -160,131 +160,131 @@
[dependencies.pallet-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
# Contracts specific packages
# [dependencies.pallet-contracts]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-primitives]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
# 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.17'
+# branch = 'polkadot-v0.9.18'
# version = '4.0.0-dev'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-sudo]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-transaction-payment-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.pallet-treasury]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
# [dependencies.pallet-vesting]
# default-features = false
# git = 'https://github.com/paritytech/substrate.git'
-# branch = 'polkadot-v0.9.17'
+# branch = 'polkadot-v0.9.18'
[dependencies.sp-arithmetic]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-block-builder]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-consensus-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-inherents]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-offchain]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-session]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-transaction-pool]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.sp-version]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
[dependencies.smallvec]
version = '1.6.1'
@@ -294,47 +294,47 @@
[dependencies.parachain-info]
default-features = false
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
[dependencies.cumulus-pallet-aura-ext]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-parachain-system]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-core]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-xcm]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-dmp-queue]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-pallet-xcmp-queue]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-utility]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
[dependencies.cumulus-primitives-timestamp]
-git = 'https://github.com/uniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.17'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.18'
default-features = false
################################################################################
@@ -342,32 +342,32 @@
[dependencies.polkadot-parachain]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm-builder]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.xcm-executor]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.pallet-xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.17'
+branch = 'release-v0.9.18'
default-features = false
[dependencies.orml-vesting]
git = 'https://github.com/UniqueNetwork/open-runtime-module-library'
-branch = 'unique-polkadot-v0.9.17'
+branch = 'unique-polkadot-v0.9.18'
version = "0.4.1-dev"
default-features = false
@@ -376,13 +376,12 @@
[dependencies]
unique-runtime-common = { path = "../common", default-features = false }
-scale-info = { version = "1.0.0", default-features = false, features = [
+scale-info = { version = "2.0.1", default-features = false, features = [
"derive",
] }
derivative = "2.2.0"
pallet-unique = { path = '../../pallets/unique', default-features = false }
up-rpc = { path = "../../primitives/rpc", default-features = false }
-up-evm-mapping = { path = "../../primitives/evm-mapping", default-features = false }
pallet-inflation = { path = '../../pallets/inflation', default-features = false }
up-data-structs = { path = '../../primitives/data-structs', default-features = false }
pallet-common = { default-features = false, path = "../../pallets/common" }
@@ -391,20 +390,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.17', 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.18', 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.17" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.17" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.17'
+branch = 'polkadot-v0.9.18'
runtime/unique/src/lib.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.1819#![cfg_attr(not(feature = "std"), no_std)]20// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.21#![recursion_limit = "1024"]22#![allow(clippy::from_over_into, clippy::identity_op)]23#![allow(clippy::fn_to_numeric_cast_with_truncation)]24// Make the WASM binary available.25#[cfg(feature = "std")]26include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));2728use sp_api::impl_runtime_apis;29use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160};30use sp_runtime::DispatchError;31// #[cfg(any(feature = "std", test))]32// pub use sp_runtime::BuildStorage;3334use sp_runtime::{35 Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,36 traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, AccountIdConversion, Zero},37 transaction_validity::{TransactionSource, TransactionValidity},38 ApplyExtrinsicResult, RuntimeAppPublic,39};4041use sp_std::prelude::*;4243#[cfg(feature = "std")]44use sp_version::NativeVersion;45use sp_version::RuntimeVersion;46pub use pallet_transaction_payment::{47 Multiplier, TargetedFeeAdjustment, FeeDetails, RuntimeDispatchInfo,48};49// A few exports that help ease life for downstream crates.50pub use pallet_balances::Call as BalancesCall;51pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};52pub use frame_support::{53 construct_runtime, match_type,54 dispatch::DispatchResult,55 PalletId, parameter_types, StorageValue, ConsensusEngineId,56 traits::{57 tokens::currency::Currency as CurrencyT, OnUnbalanced as OnUnbalancedT, Everything,58 Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier,59 OnUnbalanced, Randomness, FindAuthor,60 },61 weights::{62 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},63 DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,64 WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients,65 },66};67use up_data_structs::*;68// use pallet_contracts::weights::WeightInfo;69// #[cfg(any(feature = "std", test))]70use frame_system::{71 self as frame_system, EnsureRoot, EnsureSigned,72 limits::{BlockWeights, BlockLength},73};74use sp_arithmetic::{75 traits::{BaseArithmetic, Unsigned},76};77use smallvec::smallvec;78use codec::{Encode, Decode};79use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};80use fp_rpc::TransactionStatus;81use sp_runtime::{82 traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},83 transaction_validity::TransactionValidityError,84 SaturatedConversion,85};8687// pub use pallet_timestamp::Call as TimestampCall;8889// Polkadot imports90use pallet_xcm::XcmPassthrough;91use polkadot_parachain::primitives::Sibling;92use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};93use xcm_builder::{94 AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,95 EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, ParentAsSuperuser,96 RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,97 SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,98 ParentIsPreset,99};100use xcm_executor::{Config, XcmExecutor, Assets};101use sp_std::{marker::PhantomData};102103use xcm::latest::{104 // Xcm,105 AssetId::{Concrete},106 Fungibility::Fungible as XcmFungible,107 MultiAsset,108 Error as XcmError,109};110use xcm_executor::traits::{MatchesFungible, WeightTrader};111//use xcm_executor::traits::MatchesFungible;112use sp_runtime::traits::CheckedConversion;113114use unique_runtime_common::{impl_common_runtime_apis, types::*, constants::*};115116pub const RUNTIME_NAME: &str = "Unique";117118type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;119120impl RuntimeInstance for Runtime {121 type CrossAccountId = self::CrossAccountId;122123 type TransactionConverter = self::TransactionConverter;124125 fn get_transaction_converter() -> TransactionConverter {126 TransactionConverter127 }128}129130/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know131/// the specifics of the runtime. They can then be made to be agnostic over specific formats132/// of data like extrinsics, allowing for them to continue syncing the network through upgrades133/// to even the core data structures.134pub mod opaque {135 use sp_std::prelude::*;136 use sp_runtime::impl_opaque_keys;137 use super::Aura;138139 pub use unique_runtime_common::types::*;140141 impl_opaque_keys! {142 pub struct SessionKeys {143 pub aura: Aura,144 }145 }146}147148/// This runtime version.149pub const VERSION: RuntimeVersion = RuntimeVersion {150 spec_name: create_runtime_str!(RUNTIME_NAME),151 impl_name: create_runtime_str!(RUNTIME_NAME),152 authoring_version: 1,153 spec_version: 917004,154 impl_version: 0,155 apis: RUNTIME_API_VERSIONS,156 transaction_version: 1,157 state_version: 0,158};159160#[derive(codec::Encode, codec::Decode)]161pub enum XCMPMessage<XAccountId, XBalance> {162 /// Transfer tokens to the given account from the Parachain account.163 TransferToken(XAccountId, XBalance),164}165166/// The version information used to identify this runtime when compiled natively.167#[cfg(feature = "std")]168pub fn native_version() -> NativeVersion {169 NativeVersion {170 runtime_version: VERSION,171 can_author_with: Default::default(),172 }173}174175type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;176177pub struct DealWithFees;178impl OnUnbalanced<NegativeImbalance> for DealWithFees {179 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item = NegativeImbalance>) {180 if let Some(fees) = fees_then_tips.next() {181 // for fees, 100% to treasury182 let mut split = fees.ration(100, 0);183 if let Some(tips) = fees_then_tips.next() {184 // for tips, if any, 100% to treasury185 tips.ration_merge_into(100, 0, &mut split);186 }187 Treasury::on_unbalanced(split.0);188 // Author::on_unbalanced(split.1);189 }190 }191}192193parameter_types! {194 pub const BlockHashCount: BlockNumber = 2400;195 pub RuntimeBlockLength: BlockLength =196 BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);197 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);198 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;199 pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()200 .base_block(BlockExecutionWeight::get())201 .for_class(DispatchClass::all(), |weights| {202 weights.base_extrinsic = ExtrinsicBaseWeight::get();203 })204 .for_class(DispatchClass::Normal, |weights| {205 weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);206 })207 .for_class(DispatchClass::Operational, |weights| {208 weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);209 // Operational transactions have some extra reserved space, so that they210 // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.211 weights.reserved = Some(212 MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT213 );214 })215 .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)216 .build_or_panic();217 pub const Version: RuntimeVersion = VERSION;218 pub const SS58Prefix: u16 = 7391;219}220221parameter_types! {222 pub const ChainId: u64 = 8880;223}224225pub struct FixedFee;226impl FeeCalculator for FixedFee {227 fn min_gas_price() -> U256 {228 MIN_GAS_PRICE.into()229 }230}231232// Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case233// (contract, which only writes a lot of data),234// approximating on top of our real store write weight235parameter_types! {236 pub const WritesPerSecond: u64 = WEIGHT_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;237 pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;238 pub const WeightPerGas: u64 = WEIGHT_PER_SECOND / GasPerSecond::get();239}240241/// Limiting EVM execution to 50% of block for substrate users and management tasks242/// EVM transaction consumes more weight than substrate's, so we can't rely on them being243/// scheduled fairly244const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);245parameter_types! {246 pub BlockGasLimit: U256 = U256::from(NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightPerGas::get());247}248249pub enum FixedGasWeightMapping {}250impl GasWeightMapping for FixedGasWeightMapping {251 fn gas_to_weight(gas: u64) -> Weight {252 gas.saturating_mul(WeightPerGas::get())253 }254 fn weight_to_gas(weight: Weight) -> u64 {255 weight / WeightPerGas::get()256 }257}258259impl pallet_evm::Config for Runtime {260 type BlockGasLimit = BlockGasLimit;261 type FeeCalculator = FixedFee;262 type GasWeightMapping = FixedGasWeightMapping;263 type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;264 type CallOrigin = EnsureAddressTruncated;265 type WithdrawOrigin = EnsureAddressTruncated;266 type AddressMapping = HashedAddressMapping<Self::Hashing>;267 type PrecompilesType = ();268 type PrecompilesValue = ();269 type Currency = Balances;270 type Event = Event;271 type OnMethodCall = (272 pallet_evm_migration::OnMethodCall<Self>,273 pallet_unique::UniqueErcSupport<Self>,274 pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,275 );276 type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;277 type ChainId = ChainId;278 type Runner = pallet_evm::runner::stack::Runner<Self>;279 type OnChargeTransaction = pallet_evm_transaction_payment::OnChargeTransaction<Self>;280 type TransactionValidityHack = pallet_evm_transaction_payment::TransactionValidityHack<Self>;281 type FindAuthor = EthereumFindAuthor<Aura>;282}283284impl pallet_evm_migration::Config for Runtime {285 type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;286}287288pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);289impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F> {290 fn find_author<'a, I>(digests: I) -> Option<H160>291 where292 I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,293 {294 if let Some(author_index) = F::find_author(digests) {295 let authority_id = Aura::authorities()[author_index as usize].clone();296 return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]));297 }298 None299 }300}301302impl pallet_ethereum::Config for Runtime {303 type Event = Event;304 type StateRoot = pallet_ethereum::IntermediateStateRoot;305}306307impl pallet_randomness_collective_flip::Config for Runtime {}308309impl frame_system::Config for Runtime {310 /// The data to be stored in an account.311 type AccountData = pallet_balances::AccountData<Balance>;312 /// The identifier used to distinguish between accounts.313 type AccountId = AccountId;314 /// The basic call filter to use in dispatchable.315 type BaseCallFilter = Everything;316 /// Maximum number of block number to block hash mappings to keep (oldest pruned first).317 type BlockHashCount = BlockHashCount;318 /// The maximum length of a block (in bytes).319 type BlockLength = RuntimeBlockLength;320 /// The index type for blocks.321 type BlockNumber = BlockNumber;322 /// The weight of the overhead invoked on the block import process, independent of the extrinsics included in that block.323 type BlockWeights = RuntimeBlockWeights;324 /// The aggregated dispatch type that is available for extrinsics.325 type Call = Call;326 /// The weight of database operations that the runtime can invoke.327 type DbWeight = RocksDbWeight;328 /// The ubiquitous event type.329 type Event = Event;330 /// The type for hashing blocks and tries.331 type Hash = Hash;332 /// The hashing algorithm used.333 type Hashing = BlakeTwo256;334 /// The header type.335 type Header = generic::Header<BlockNumber, BlakeTwo256>;336 /// The index type for storing how many extrinsics an account has signed.337 type Index = Index;338 /// The lookup mechanism to get account ID from whatever is passed in dispatchers.339 type Lookup = AccountIdLookup<AccountId, ()>;340 /// What to do if an account is fully reaped from the system.341 type OnKilledAccount = ();342 /// What to do if a new account is created.343 type OnNewAccount = ();344 type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;345 /// The ubiquitous origin type.346 type Origin = Origin;347 /// This type is being generated by `construct_runtime!`.348 type PalletInfo = PalletInfo;349 /// This is used as an identifier of the chain. 42 is the generic substrate prefix.350 type SS58Prefix = SS58Prefix;351 /// Weight information for the extrinsics of this pallet.352 type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;353 /// Version of the runtime.354 type Version = Version;355 type MaxConsumers = ConstU32<16>;356}357358parameter_types! {359 pub const MinimumPeriod: u64 = SLOT_DURATION / 2;360}361362impl pallet_timestamp::Config for Runtime {363 /// A timestamp: milliseconds since the unix epoch.364 type Moment = u64;365 type OnTimestampSet = ();366 type MinimumPeriod = MinimumPeriod;367 type WeightInfo = ();368}369370parameter_types! {371 // pub const ExistentialDeposit: u128 = 500;372 pub const ExistentialDeposit: u128 = 0;373 pub const MaxLocks: u32 = 50;374}375376impl pallet_balances::Config for Runtime {377 type MaxLocks = MaxLocks;378 type MaxReserves = ();379 type ReserveIdentifier = [u8; 8];380 /// The type for recording an account's balance.381 type Balance = Balance;382 /// The ubiquitous event type.383 type Event = Event;384 type DustRemoval = Treasury;385 type ExistentialDeposit = ExistentialDeposit;386 type AccountStore = System;387 type WeightInfo = pallet_balances::weights::SubstrateWeight<Self>;388}389390pub const fn deposit(items: u32, bytes: u32) -> Balance {391 items as Balance * 15 * CENTIUNIQUE + (bytes as Balance) * 6 * CENTIUNIQUE392}393394/*395parameter_types! {396 pub TombstoneDeposit: Balance = deposit(397 1,398 sp_std::mem::size_of::<pallet_contracts::Pallet<Runtime>> as u32,399 );400 pub DepositPerContract: Balance = TombstoneDeposit::get();401 pub const DepositPerStorageByte: Balance = deposit(0, 1);402 pub const DepositPerStorageItem: Balance = deposit(1, 0);403 pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS);404 pub const SurchargeReward: Balance = 150 * MILLIUNIQUE;405 pub const SignedClaimHandicap: u32 = 2;406 pub const MaxDepth: u32 = 32;407 pub const MaxValueSize: u32 = 16 * 1024;408 pub const MaxCodeSize: u32 = 1024 * 1024 * 25; // 25 Mb409 // The lazy deletion runs inside on_initialize.410 pub DeletionWeightLimit: Weight = AVERAGE_ON_INITIALIZE_RATIO *411 RuntimeBlockWeights::get().max_block;412 // The weight needed for decoding the queue should be less or equal than a fifth413 // of the overall weight dedicated to the lazy deletion.414 pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / (415 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(1) -416 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(0)417 )) / 5) as u32;418 pub Schedule: pallet_contracts::Schedule<Runtime> = Default::default();419}420421impl pallet_contracts::Config for Runtime {422 type Time = Timestamp;423 type Randomness = RandomnessCollectiveFlip;424 type Currency = Balances;425 type Event = Event;426 type RentPayment = ();427 type SignedClaimHandicap = SignedClaimHandicap;428 type TombstoneDeposit = TombstoneDeposit;429 type DepositPerContract = DepositPerContract;430 type DepositPerStorageByte = DepositPerStorageByte;431 type DepositPerStorageItem = DepositPerStorageItem;432 type RentFraction = RentFraction;433 type SurchargeReward = SurchargeReward;434 type WeightPrice = pallet_transaction_payment::Pallet<Self>;435 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;436 type ChainExtension = NFTExtension;437 type DeletionQueueDepth = DeletionQueueDepth;438 type DeletionWeightLimit = DeletionWeightLimit;439 type Schedule = Schedule;440 type CallStack = [pallet_contracts::Frame<Self>; 31];441}442*/443444parameter_types! {445 /// This value increases the priority of `Operational` transactions by adding446 /// a "virtual tip" that's equal to the `OperationalFeeMultiplier * final_fee`.447 pub const OperationalFeeMultiplier: u8 = 5;448}449450/// Linear implementor of `WeightToFeePolynomial`451pub struct LinearFee<T>(sp_std::marker::PhantomData<T>);452453impl<T> WeightToFeePolynomial for LinearFee<T>454where455 T: BaseArithmetic + From<u32> + Copy + Unsigned,456{457 type Balance = T;458459 fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {460 smallvec!(WeightToFeeCoefficient {461 // Targeting 0.1 Unique per NFT transfer462 coeff_integer: WEIGHT_TO_FEE_COEFF.into(),463 coeff_frac: Perbill::zero(),464 negative: false,465 degree: 1,466 })467 }468}469470impl pallet_transaction_payment::Config for Runtime {471 type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, DealWithFees>;472 type TransactionByteFee = TransactionByteFee;473 type OperationalFeeMultiplier = OperationalFeeMultiplier;474 type WeightToFee = LinearFee<Balance>;475 type FeeMultiplierUpdate = ();476}477478parameter_types! {479 pub const ProposalBond: Permill = Permill::from_percent(5);480 pub const ProposalBondMinimum: Balance = 1 * UNIQUE;481 pub const ProposalBondMaximum: Balance = 1000 * UNIQUE;482 pub const SpendPeriod: BlockNumber = 5 * MINUTES;483 pub const Burn: Permill = Permill::from_percent(0);484 pub const TipCountdown: BlockNumber = 1 * DAYS;485 pub const TipFindersFee: Percent = Percent::from_percent(20);486 pub const TipReportDepositBase: Balance = 1 * UNIQUE;487 pub const DataDepositPerByte: Balance = 1 * CENTIUNIQUE;488 pub const BountyDepositBase: Balance = 1 * UNIQUE;489 pub const BountyDepositPayoutDelay: BlockNumber = 1 * DAYS;490 pub const TreasuryModuleId: PalletId = PalletId(*b"py/trsry");491 pub const BountyUpdatePeriod: BlockNumber = 14 * DAYS;492 pub const MaximumReasonLength: u32 = 16384;493 pub const BountyCuratorDeposit: Permill = Permill::from_percent(50);494 pub const BountyValueMinimum: Balance = 5 * UNIQUE;495 pub const MaxApprovals: u32 = 100;496}497498impl pallet_treasury::Config for Runtime {499 type PalletId = TreasuryModuleId;500 type Currency = Balances;501 type ApproveOrigin = EnsureRoot<AccountId>;502 type RejectOrigin = EnsureRoot<AccountId>;503 type Event = Event;504 type OnSlash = ();505 type ProposalBond = ProposalBond;506 type ProposalBondMinimum = ProposalBondMinimum;507 type ProposalBondMaximum = ProposalBondMaximum;508 type SpendPeriod = SpendPeriod;509 type Burn = Burn;510 type BurnDestination = ();511 type SpendFunds = ();512 type WeightInfo = pallet_treasury::weights::SubstrateWeight<Self>;513 type MaxApprovals = MaxApprovals;514}515516impl pallet_sudo::Config for Runtime {517 type Event = Event;518 type Call = Call;519}520521pub struct RelayChainBlockNumberProvider<T>(sp_std::marker::PhantomData<T>);522523impl<T: cumulus_pallet_parachain_system::Config> BlockNumberProvider524 for RelayChainBlockNumberProvider<T>525{526 type BlockNumber = BlockNumber;527528 fn current_block_number() -> Self::BlockNumber {529 cumulus_pallet_parachain_system::Pallet::<T>::validation_data()530 .map(|d| d.relay_parent_number)531 .unwrap_or_default()532 }533}534535parameter_types! {536 pub const MinVestedTransfer: Balance = 10 * UNIQUE;537 pub const MaxVestingSchedules: u32 = 28;538}539540impl orml_vesting::Config for Runtime {541 type Event = Event;542 type Currency = pallet_balances::Pallet<Runtime>;543 type MinVestedTransfer = MinVestedTransfer;544 type VestedTransferOrigin = EnsureSigned<AccountId>;545 type WeightInfo = ();546 type MaxVestingSchedules = MaxVestingSchedules;547 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;548}549550parameter_types! {551 pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;552 pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;553}554555impl cumulus_pallet_parachain_system::Config for Runtime {556 type Event = Event;557 type SelfParaId = parachain_info::Pallet<Self>;558 type OnSystemEvent = ();559 // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<560 // MaxDownwardMessageWeight,561 // XcmExecutor<XcmConfig>,562 // Call,563 // >;564 type OutboundXcmpMessageSource = XcmpQueue;565 type DmpMessageHandler = DmpQueue;566 type ReservedDmpWeight = ReservedDmpWeight;567 type ReservedXcmpWeight = ReservedXcmpWeight;568 type XcmpMessageHandler = XcmpQueue;569}570571impl parachain_info::Config for Runtime {}572573impl cumulus_pallet_aura_ext::Config for Runtime {}574575parameter_types! {576 pub const RelayLocation: MultiLocation = MultiLocation::parent();577 pub const RelayNetwork: NetworkId = NetworkId::Polkadot;578 pub RelayOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into();579 pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();580}581582/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used583/// when determining ownership of accounts for asset transacting and when attempting to use XCM584/// `Transact` in order to determine the dispatch Origin.585pub type LocationToAccountId = (586 // The parent (Relay-chain) origin converts to the default `AccountId`.587 ParentIsPreset<AccountId>,588 // Sibling parachain origins convert to AccountId via the `ParaId::into`.589 SiblingParachainConvertsVia<Sibling, AccountId>,590 // Straight up local `AccountId32` origins just alias directly to `AccountId`.591 AccountId32Aliases<RelayNetwork, AccountId>,592);593594pub struct OnlySelfCurrency;595impl<B: TryFrom<u128>> MatchesFungible<B> for OnlySelfCurrency {596 fn matches_fungible(a: &MultiAsset) -> Option<B> {597 match (&a.id, &a.fun) {598 (Concrete(_), XcmFungible(ref amount)) => CheckedConversion::checked_from(*amount),599 _ => None,600 }601 }602}603604/// Means for transacting assets on this chain.605pub type LocalAssetTransactor = CurrencyAdapter<606 // Use this currency:607 Balances,608 // Use this currency when it is a fungible asset matching the given location or name:609 OnlySelfCurrency,610 // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:611 LocationToAccountId,612 // Our chain's account ID type (we can't get away without mentioning it explicitly):613 AccountId,614 // We don't track any teleports.615 (),616>;617618/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,619/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can620/// biases the kind of local `Origin` it will become.621pub type XcmOriginToTransactDispatchOrigin = (622 // Sovereign account converter; this attempts to derive an `AccountId` from the origin location623 // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for624 // foreign chains who want to have a local sovereign account on this chain which they control.625 SovereignSignedViaLocation<LocationToAccountId, Origin>,626 // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when627 // recognised.628 RelayChainAsNative<RelayOrigin, Origin>,629 // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when630 // recognised.631 SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>,632 // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a633 // transaction from the Root origin.634 ParentAsSuperuser<Origin>,635 // Native signed account converter; this just converts an `AccountId32` origin into a normal636 // `Origin::Signed` origin of the same 32-byte value.637 SignedAccountId32AsNative<RelayNetwork, Origin>,638 // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.639 XcmPassthrough<Origin>,640);641642parameter_types! {643 // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.644 pub UnitWeightCost: Weight = 1_000_000;645 // 1200 UNIQUEs buy 1 second of weight.646 pub const WeightPrice: (MultiLocation, u128) = (MultiLocation::parent(), 1_200 * UNIQUE);647 pub const MaxInstructions: u32 = 100;648 pub const MaxAuthorities: u32 = 100_000;649}650651match_type! {652 pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {653 MultiLocation { parents: 1, interior: Here } |654 MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Unit, .. }) }655 };656}657658pub type Barrier = (659 TakeWeightCredit,660 AllowTopLevelPaidExecutionFrom<Everything>,661 AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,662 // ^^^ Parent & its unit plurality gets free execution663);664665pub struct UsingOnlySelfCurrencyComponents<666 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,667 AssetId: Get<MultiLocation>,668 AccountId,669 Currency: CurrencyT<AccountId>,670 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,671>(672 Weight,673 Currency::Balance,674 PhantomData<(WeightToFee, AssetId, AccountId, Currency, OnUnbalanced)>,675);676impl<677 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,678 AssetId: Get<MultiLocation>,679 AccountId,680 Currency: CurrencyT<AccountId>,681 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,682 > WeightTrader683 for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>684{685 fn new() -> Self {686 Self(0, Zero::zero(), PhantomData)687 }688689 fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result<Assets, XcmError> {690 let amount = WeightToFee::calc(&weight);691 let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?;692693 // location to this parachain through relay chain694 let option1: xcm::v1::AssetId = Concrete(MultiLocation {695 parents: 1,696 interior: X1(Parachain(ParachainInfo::parachain_id().into())),697 });698 // direct location699 let option2: xcm::v1::AssetId = Concrete(MultiLocation {700 parents: 0,701 interior: Here,702 });703704 let required = if payment.fungible.contains_key(&option1) {705 (option1, u128_amount).into()706 } else if payment.fungible.contains_key(&option2) {707 (option2, u128_amount).into()708 } else {709 (Concrete(MultiLocation::default()), u128_amount).into()710 };711712 let unused = payment713 .checked_sub(required)714 .map_err(|_| XcmError::TooExpensive)?;715 self.0 = self.0.saturating_add(weight);716 self.1 = self.1.saturating_add(amount);717 Ok(unused)718 }719720 fn refund_weight(&mut self, weight: Weight) -> Option<MultiAsset> {721 let weight = weight.min(self.0);722 let amount = WeightToFee::calc(&weight);723 self.0 -= weight;724 self.1 = self.1.saturating_sub(amount);725 let amount: u128 = amount.saturated_into();726 if amount > 0 {727 Some((AssetId::get(), amount).into())728 } else {729 None730 }731 }732}733impl<734 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,735 AssetId: Get<MultiLocation>,736 AccountId,737 Currency: CurrencyT<AccountId>,738 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,739 > Drop740 for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>741{742 fn drop(&mut self) {743 OnUnbalanced::on_unbalanced(Currency::issue(self.1));744 }745}746747pub struct XcmConfig;748impl Config for XcmConfig {749 type Call = Call;750 type XcmSender = XcmRouter;751 // How to withdraw and deposit an asset.752 type AssetTransactor = LocalAssetTransactor;753 type OriginConverter = XcmOriginToTransactDispatchOrigin;754 type IsReserve = NativeAsset;755 type IsTeleporter = (); // Teleportation is disabled756 type LocationInverter = LocationInverter<Ancestry>;757 type Barrier = Barrier;758 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;759 type Trader = UsingOnlySelfCurrencyComponents<760 IdentityFee<Balance>,761 RelayLocation,762 AccountId,763 Balances,764 (),765 >;766 type ResponseHandler = (); // Don't handle responses for now.767 type SubscriptionService = PolkadotXcm;768769 type AssetTrap = PolkadotXcm;770 type AssetClaims = PolkadotXcm;771}772773// parameter_types! {774// pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10;775// }776777/// No local origins on this chain are allowed to dispatch XCM sends/executions.778pub type LocalOriginToLocation = (SignedToAccountId32<Origin, AccountId, RelayNetwork>,);779780/// The means for routing XCM messages which are not for local execution into the right message781/// queues.782pub type XcmRouter = (783 // Two routers - use UMP to communicate with the relay chain:784 cumulus_primitives_utility::ParentAsUmp<ParachainSystem, ()>,785 // ..and XCMP to communicate with the sibling chains.786 XcmpQueue,787);788789impl pallet_evm_coder_substrate::Config for Runtime {790 type EthereumTransactionSender = pallet_ethereum::Pallet<Self>;791 type GasWeightMapping = FixedGasWeightMapping;792}793794impl pallet_xcm::Config for Runtime {795 type Event = Event;796 type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;797 type XcmRouter = XcmRouter;798 type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;799 type XcmExecuteFilter = Everything;800 type XcmExecutor = XcmExecutor<XcmConfig>;801 type XcmTeleportFilter = Everything;802 type XcmReserveTransferFilter = Everything;803 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;804 type LocationInverter = LocationInverter<Ancestry>;805 type Origin = Origin;806 type Call = Call;807 const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;808 type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;809}810811impl cumulus_pallet_xcm::Config for Runtime {812 type Event = Event;813 type XcmExecutor = XcmExecutor<XcmConfig>;814}815816impl cumulus_pallet_xcmp_queue::Config for Runtime {817 type Event = Event;818 type XcmExecutor = XcmExecutor<XcmConfig>;819 type ChannelInfo = ParachainSystem;820 type VersionWrapper = ();821 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;822 type ControllerOrigin = EnsureRoot<AccountId>;823 type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;824}825826impl cumulus_pallet_dmp_queue::Config for Runtime {827 type Event = Event;828 type XcmExecutor = XcmExecutor<XcmConfig>;829 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;830}831832impl pallet_aura::Config for Runtime {833 type AuthorityId = AuraId;834 type DisabledValidators = ();835 type MaxAuthorities = MaxAuthorities;836}837838parameter_types! {839 pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account();840 pub const CollectionCreationPrice: Balance = 2 * UNIQUE;841}842843impl pallet_common::Config for Runtime {844 type Event = Event;845 type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;846 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;847 type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;848849 type Currency = Balances;850 type CollectionCreationPrice = CollectionCreationPrice;851 type TreasuryAccountId = TreasuryAccountId;852}853854impl pallet_fungible::Config for Runtime {855 type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;856}857impl pallet_refungible::Config for Runtime {858 type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;859}860impl pallet_nonfungible::Config for Runtime {861 type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;862}863864impl pallet_unique::Config for Runtime {865 type Event = Event;866 type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;867}868869parameter_types! {870 pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied871}872873/// Used for the pallet inflation874impl pallet_inflation::Config for Runtime {875 type Currency = Balances;876 type TreasuryAccountId = TreasuryAccountId;877 type InflationBlockInterval = InflationBlockInterval;878 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;879}880881// parameter_types! {882// pub MaximumSchedulerWeight: Weight = Perbill::from_percent(50) *883// RuntimeBlockWeights::get().max_block;884// pub const MaxScheduledPerBlock: u32 = 50;885// }886887type EvmSponsorshipHandler = (888 pallet_unique::UniqueEthSponsorshipHandler<Runtime>,889 pallet_evm_contract_helpers::HelpersContractSponsoring<Runtime>,890);891type SponsorshipHandler = (892 pallet_unique::UniqueSponsorshipHandler<Runtime>,893 //pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,894 pallet_evm_transaction_payment::BridgeSponsorshipHandler<Runtime>,895);896897// impl pallet_unq_scheduler::Config for Runtime {898// type Event = Event;899// type Origin = Origin;900// type PalletsOrigin = OriginCaller;901// type Call = Call;902// type MaximumWeight = MaximumSchedulerWeight;903// type ScheduleOrigin = EnsureSigned<AccountId>;904// type MaxScheduledPerBlock = MaxScheduledPerBlock;905// type SponsorshipHandler = SponsorshipHandler;906// type WeightInfo = ();907// }908909impl pallet_evm_transaction_payment::Config for Runtime {910 type EvmSponsorshipHandler = EvmSponsorshipHandler;911 type Currency = Balances;912 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;913 type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;914}915916impl pallet_charge_transaction::Config for Runtime {917 type SponsorshipHandler = SponsorshipHandler;918}919920// impl pallet_contract_helpers::Config for Runtime {921// type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;922// }923924parameter_types! {925 // 0x842899ECF380553E8a4de75bF534cdf6fBF64049926 pub const HelpersContractAddress: H160 = H160([927 0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,928 ]);929}930931impl pallet_evm_contract_helpers::Config for Runtime {932 type ContractAddress = HelpersContractAddress;933 type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;934}935936construct_runtime!(937 pub enum Runtime where938 Block = Block,939 NodeBlock = opaque::Block,940 UncheckedExtrinsic = UncheckedExtrinsic941 {942 ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,943 ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,944945 Aura: pallet_aura::{Pallet, Config<T>} = 22,946 AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,947948 Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,949 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,950 Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,951 TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 33,952 Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,953 Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,954 System: frame_system::{Pallet, Call, Storage, Config, Event<T>} = 36,955 Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,956 // Vesting: pallet_vesting::{Pallet, Call, Config<T>, Storage, Event<T>} = 37,957 // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,958959 // XCM helpers.960 XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,961 PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,962 CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,963 DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,964965 // Unique Pallets966 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,967 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,968 // Scheduler: pallet_unq_scheduler::{Pallet, Call, Storage, Event<T>} = 62,969 // free = 63970 Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,971 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,972 Common: pallet_common::{Pallet, Storage, Event<T>} = 66,973 Fungible: pallet_fungible::{Pallet, Storage} = 67,974 Refungible: pallet_refungible::{Pallet, Storage} = 68,975 Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,976977 // Frontier978 EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,979 Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,980981 EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,982 EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage} = 151,983 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,984 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,985 }986);987988pub struct TransactionConverter;989990impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {991 fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic {992 UncheckedExtrinsic::new_unsigned(993 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),994 )995 }996}997998impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConverter {999 fn convert_transaction(1000 &self,1001 transaction: pallet_ethereum::Transaction,1002 ) -> opaque::UncheckedExtrinsic {1003 let extrinsic = UncheckedExtrinsic::new_unsigned(1004 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),1005 );1006 let encoded = extrinsic.encode();1007 opaque::UncheckedExtrinsic::decode(&mut &encoded[..])1008 .expect("Encoded extrinsic is always valid")1009 }1010}10111012/// The address format for describing accounts.1013pub type Address = sp_runtime::MultiAddress<AccountId, ()>;1014/// Block header type as expected by this runtime.1015pub type Header = generic::Header<BlockNumber, BlakeTwo256>;1016/// Block type as expected by this runtime.1017pub type Block = generic::Block<Header, UncheckedExtrinsic>;1018/// A Block signed with a Justification1019pub type SignedBlock = generic::SignedBlock<Block>;1020/// BlockId type as expected by this runtime.1021pub type BlockId = generic::BlockId<Block>;1022/// The SignedExtension to the basic transaction logic.1023pub type SignedExtra = (1024 frame_system::CheckSpecVersion<Runtime>,1025 // system::CheckTxVersion<Runtime>,1026 frame_system::CheckGenesis<Runtime>,1027 frame_system::CheckEra<Runtime>,1028 frame_system::CheckNonce<Runtime>,1029 frame_system::CheckWeight<Runtime>,1030 pallet_charge_transaction::ChargeTransactionPayment<Runtime>,1031 //pallet_contract_helpers::ContractHelpersExtension<Runtime>,1032);1033/// Unchecked extrinsic type as expected by this runtime.1034pub type UncheckedExtrinsic =1035 fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;1036/// Extrinsic type that has already been checked.1037pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;1038/// Executive: handles dispatch to the various modules.1039pub type Executive = frame_executive::Executive<1040 Runtime,1041 Block,1042 frame_system::ChainContext<Runtime>,1043 Runtime,1044 AllPalletsReversedWithSystemFirst,1045>;10461047impl_opaque_keys! {1048 pub struct SessionKeys {1049 pub aura: Aura,1050 }1051}10521053impl fp_self_contained::SelfContainedCall for Call {1054 type SignedInfo = H160;10551056 fn is_self_contained(&self) -> bool {1057 match self {1058 Call::Ethereum(call) => call.is_self_contained(),1059 _ => false,1060 }1061 }10621063 fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {1064 match self {1065 Call::Ethereum(call) => call.check_self_contained(),1066 _ => None,1067 }1068 }10691070 fn validate_self_contained(&self, info: &Self::SignedInfo) -> Option<TransactionValidity> {1071 match self {1072 Call::Ethereum(call) => call.validate_self_contained(info),1073 _ => None,1074 }1075 }10761077 fn pre_dispatch_self_contained(1078 &self,1079 info: &Self::SignedInfo,1080 ) -> Option<Result<(), TransactionValidityError>> {1081 match self {1082 Call::Ethereum(call) => call.pre_dispatch_self_contained(info),1083 _ => None,1084 }1085 }10861087 fn apply_self_contained(1088 self,1089 info: Self::SignedInfo,1090 ) -> Option<sp_runtime::DispatchResultWithInfo<PostDispatchInfoOf<Self>>> {1091 match self {1092 call @ Call::Ethereum(pallet_ethereum::Call::transact { .. }) => Some(call.dispatch(1093 Origin::from(pallet_ethereum::RawOrigin::EthereumTransaction(info)),1094 )),1095 _ => None,1096 }1097 }1098}10991100macro_rules! dispatch_unique_runtime {1101 ($collection:ident.$method:ident($($name:ident),*)) => {{1102 use pallet_unique::dispatch::Dispatched;11031104 let collection = Dispatched::dispatch(<pallet_common::CollectionHandle<Runtime>>::try_get($collection)?);1105 let dispatch = collection.as_dyn();11061107 Ok(dispatch.$method($($name),*))1108 }};1109}11101111impl_common_runtime_apis!();11121113struct CheckInherents;11141115impl cumulus_pallet_parachain_system::CheckInherents<Block> for CheckInherents {1116 fn check_inherents(1117 block: &Block,1118 relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,1119 ) -> sp_inherents::CheckInherentsResult {1120 let relay_chain_slot = relay_state_proof1121 .read_slot()1122 .expect("Could not read the relay chain slot from the proof");11231124 let inherent_data =1125 cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(1126 relay_chain_slot,1127 sp_std::time::Duration::from_secs(6),1128 )1129 .create_inherent_data()1130 .expect("Could not create the timestamp inherent data");11311132 inherent_data.check_extrinsics(block)1133 }1134}11351136cumulus_pallet_parachain_system::register_validate_block!(1137 Runtime = Runtime,1138 BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,1139 CheckInherents = CheckInherents,1140);1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617//! The Substrate Node Template runtime. This can be compiled with `#[no_std]`, ready for Wasm.1819#![cfg_attr(not(feature = "std"), no_std)]20// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.21#![recursion_limit = "1024"]22#![allow(clippy::from_over_into, clippy::identity_op)]23#![allow(clippy::fn_to_numeric_cast_with_truncation)]24// Make the WASM binary available.25#[cfg(feature = "std")]26include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));2728use sp_api::impl_runtime_apis;29use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160};30use sp_runtime::DispatchError;31// #[cfg(any(feature = "std", test))]32// pub use sp_runtime::BuildStorage;3334use sp_runtime::{35 Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,36 traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, AccountIdConversion, Zero},37 transaction_validity::{TransactionSource, TransactionValidity},38 ApplyExtrinsicResult, RuntimeAppPublic,39};4041use sp_std::prelude::*;4243#[cfg(feature = "std")]44use sp_version::NativeVersion;45use sp_version::RuntimeVersion;46pub use pallet_transaction_payment::{47 Multiplier, TargetedFeeAdjustment, FeeDetails, RuntimeDispatchInfo,48};49// A few exports that help ease life for downstream crates.50pub use pallet_balances::Call as BalancesCall;51pub use pallet_evm::{52 EnsureAddressTruncated, HashedAddressMapping, Runner, account::CrossAccountId as _,53};54pub use frame_support::{55 construct_runtime, match_type,56 dispatch::DispatchResult,57 PalletId, parameter_types, StorageValue, ConsensusEngineId,58 traits::{59 tokens::currency::Currency as CurrencyT, OnUnbalanced as OnUnbalancedT, Everything,60 Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier,61 OnUnbalanced, Randomness, FindAuthor,62 },63 weights::{64 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},65 DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,66 WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients,67 },68};69use up_data_structs::*;70// use pallet_contracts::weights::WeightInfo;71// #[cfg(any(feature = "std", test))]72use frame_system::{73 self as frame_system, EnsureRoot, EnsureSigned,74 limits::{BlockWeights, BlockLength},75};76use sp_arithmetic::{77 traits::{BaseArithmetic, Unsigned},78};79use smallvec::smallvec;80use codec::{Encode, Decode};81use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};82use fp_rpc::TransactionStatus;83use sp_runtime::{84 traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},85 transaction_validity::TransactionValidityError,86 SaturatedConversion,87};8889// pub use pallet_timestamp::Call as TimestampCall;9091// Polkadot imports92use pallet_xcm::XcmPassthrough;93use polkadot_parachain::primitives::Sibling;94use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};95use xcm_builder::{96 AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,97 EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, ParentAsSuperuser,98 RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,99 SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,100 ParentIsPreset,101};102use xcm_executor::{Config, XcmExecutor, Assets};103use sp_std::{marker::PhantomData};104105use xcm::latest::{106 // Xcm,107 AssetId::{Concrete},108 Fungibility::Fungible as XcmFungible,109 MultiAsset,110 Error as XcmError,111};112use xcm_executor::traits::{MatchesFungible, WeightTrader};113//use xcm_executor::traits::MatchesFungible;114use sp_runtime::traits::CheckedConversion;115116use unique_runtime_common::{impl_common_runtime_apis, types::*, constants::*};117118pub const RUNTIME_NAME: &str = "unique";119pub const TOKEN_SYMBOL: &str = "UNQ";120121type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;122123impl RuntimeInstance for Runtime {124 type CrossAccountId = self::CrossAccountId;125126 type TransactionConverter = self::TransactionConverter;127128 fn get_transaction_converter() -> TransactionConverter {129 TransactionConverter130 }131}132133/// Opaque types. These are used by the CLI to instantiate machinery that don't need to know134/// the specifics of the runtime. They can then be made to be agnostic over specific formats135/// of data like extrinsics, allowing for them to continue syncing the network through upgrades136/// to even the core data structures.137pub mod opaque {138 use sp_std::prelude::*;139 use sp_runtime::impl_opaque_keys;140 use super::Aura;141142 pub use unique_runtime_common::types::*;143144 impl_opaque_keys! {145 pub struct SessionKeys {146 pub aura: Aura,147 }148 }149}150151/// This runtime version.152pub const VERSION: RuntimeVersion = RuntimeVersion {153 spec_name: create_runtime_str!(RUNTIME_NAME),154 impl_name: create_runtime_str!(RUNTIME_NAME),155 authoring_version: 1,156 spec_version: 918001,157 impl_version: 0,158 apis: RUNTIME_API_VERSIONS,159 transaction_version: 1,160 state_version: 0,161};162163#[derive(codec::Encode, codec::Decode)]164pub enum XCMPMessage<XAccountId, XBalance> {165 /// Transfer tokens to the given account from the Parachain account.166 TransferToken(XAccountId, XBalance),167}168169/// The version information used to identify this runtime when compiled natively.170#[cfg(feature = "std")]171pub fn native_version() -> NativeVersion {172 NativeVersion {173 runtime_version: VERSION,174 can_author_with: Default::default(),175 }176}177178type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;179180pub struct DealWithFees;181impl OnUnbalanced<NegativeImbalance> for DealWithFees {182 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item = NegativeImbalance>) {183 if let Some(fees) = fees_then_tips.next() {184 // for fees, 100% to treasury185 let mut split = fees.ration(100, 0);186 if let Some(tips) = fees_then_tips.next() {187 // for tips, if any, 100% to treasury188 tips.ration_merge_into(100, 0, &mut split);189 }190 Treasury::on_unbalanced(split.0);191 // Author::on_unbalanced(split.1);192 }193 }194}195196parameter_types! {197 pub const BlockHashCount: BlockNumber = 2400;198 pub RuntimeBlockLength: BlockLength =199 BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);200 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);201 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;202 pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()203 .base_block(BlockExecutionWeight::get())204 .for_class(DispatchClass::all(), |weights| {205 weights.base_extrinsic = ExtrinsicBaseWeight::get();206 })207 .for_class(DispatchClass::Normal, |weights| {208 weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);209 })210 .for_class(DispatchClass::Operational, |weights| {211 weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);212 // Operational transactions have some extra reserved space, so that they213 // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.214 weights.reserved = Some(215 MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT216 );217 })218 .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)219 .build_or_panic();220 pub const Version: RuntimeVersion = VERSION;221 pub const SS58Prefix: u16 = 7391;222}223224parameter_types! {225 pub const ChainId: u64 = 8880;226}227228pub struct FixedFee;229impl FeeCalculator for FixedFee {230 fn min_gas_price() -> U256 {231 MIN_GAS_PRICE.into()232 }233}234235// Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case236// (contract, which only writes a lot of data),237// approximating on top of our real store write weight238parameter_types! {239 pub const WritesPerSecond: u64 = WEIGHT_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;240 pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;241 pub const WeightPerGas: u64 = WEIGHT_PER_SECOND / GasPerSecond::get();242}243244/// Limiting EVM execution to 50% of block for substrate users and management tasks245/// EVM transaction consumes more weight than substrate's, so we can't rely on them being246/// scheduled fairly247const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);248parameter_types! {249 pub BlockGasLimit: U256 = U256::from(NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightPerGas::get());250}251252pub enum FixedGasWeightMapping {}253impl GasWeightMapping for FixedGasWeightMapping {254 fn gas_to_weight(gas: u64) -> Weight {255 gas.saturating_mul(WeightPerGas::get())256 }257 fn weight_to_gas(weight: Weight) -> u64 {258 weight / WeightPerGas::get()259 }260}261262impl pallet_evm::Config for Runtime {263 type BlockGasLimit = BlockGasLimit;264 type FeeCalculator = FixedFee;265 type GasWeightMapping = FixedGasWeightMapping;266 type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping<Self>;267 type CallOrigin = EnsureAddressTruncated;268 type WithdrawOrigin = EnsureAddressTruncated;269 type AddressMapping = HashedAddressMapping<Self::Hashing>;270 type PrecompilesType = ();271 type PrecompilesValue = ();272 type Currency = Balances;273 type Event = Event;274 type OnMethodCall = (275 pallet_evm_migration::OnMethodCall<Self>,276 pallet_unique::UniqueErcSupport<Self>,277 pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,278 );279 type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;280 type ChainId = ChainId;281 type Runner = pallet_evm::runner::stack::Runner<Self>;282 type OnChargeTransaction = pallet_evm_transaction_payment::OnChargeTransaction<Self>;283 type TransactionValidityHack = pallet_evm_transaction_payment::TransactionValidityHack<Self>;284 type FindAuthor = EthereumFindAuthor<Aura>;285}286287impl pallet_evm_migration::Config for Runtime {288 type WeightInfo = pallet_evm_migration::weights::SubstrateWeight<Self>;289}290291pub struct EthereumFindAuthor<F>(core::marker::PhantomData<F>);292impl<F: FindAuthor<u32>> FindAuthor<H160> for EthereumFindAuthor<F> {293 fn find_author<'a, I>(digests: I) -> Option<H160>294 where295 I: 'a + IntoIterator<Item = (ConsensusEngineId, &'a [u8])>,296 {297 if let Some(author_index) = F::find_author(digests) {298 let authority_id = Aura::authorities()[author_index as usize].clone();299 return Some(H160::from_slice(&authority_id.to_raw_vec()[4..24]));300 }301 None302 }303}304305impl pallet_ethereum::Config for Runtime {306 type Event = Event;307 type StateRoot = pallet_ethereum::IntermediateStateRoot;308}309310impl pallet_randomness_collective_flip::Config for Runtime {}311312impl frame_system::Config for Runtime {313 /// The data to be stored in an account.314 type AccountData = pallet_balances::AccountData<Balance>;315 /// The identifier used to distinguish between accounts.316 type AccountId = AccountId;317 /// The basic call filter to use in dispatchable.318 type BaseCallFilter = Everything;319 /// Maximum number of block number to block hash mappings to keep (oldest pruned first).320 type BlockHashCount = BlockHashCount;321 /// The maximum length of a block (in bytes).322 type BlockLength = RuntimeBlockLength;323 /// The index type for blocks.324 type BlockNumber = BlockNumber;325 /// The weight of the overhead invoked on the block import process, independent of the extrinsics included in that block.326 type BlockWeights = RuntimeBlockWeights;327 /// The aggregated dispatch type that is available for extrinsics.328 type Call = Call;329 /// The weight of database operations that the runtime can invoke.330 type DbWeight = RocksDbWeight;331 /// The ubiquitous event type.332 type Event = Event;333 /// The type for hashing blocks and tries.334 type Hash = Hash;335 /// The hashing algorithm used.336 type Hashing = BlakeTwo256;337 /// The header type.338 type Header = generic::Header<BlockNumber, BlakeTwo256>;339 /// The index type for storing how many extrinsics an account has signed.340 type Index = Index;341 /// The lookup mechanism to get account ID from whatever is passed in dispatchers.342 type Lookup = AccountIdLookup<AccountId, ()>;343 /// What to do if an account is fully reaped from the system.344 type OnKilledAccount = ();345 /// What to do if a new account is created.346 type OnNewAccount = ();347 type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;348 /// The ubiquitous origin type.349 type Origin = Origin;350 /// This type is being generated by `construct_runtime!`.351 type PalletInfo = PalletInfo;352 /// This is used as an identifier of the chain. 42 is the generic substrate prefix.353 type SS58Prefix = SS58Prefix;354 /// Weight information for the extrinsics of this pallet.355 type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;356 /// Version of the runtime.357 type Version = Version;358 type MaxConsumers = ConstU32<16>;359}360361parameter_types! {362 pub const MinimumPeriod: u64 = SLOT_DURATION / 2;363}364365impl pallet_timestamp::Config for Runtime {366 /// A timestamp: milliseconds since the unix epoch.367 type Moment = u64;368 type OnTimestampSet = ();369 type MinimumPeriod = MinimumPeriod;370 type WeightInfo = ();371}372373parameter_types! {374 // pub const ExistentialDeposit: u128 = 500;375 pub const ExistentialDeposit: u128 = 0;376 pub const MaxLocks: u32 = 50;377}378379impl pallet_balances::Config for Runtime {380 type MaxLocks = MaxLocks;381 type MaxReserves = ();382 type ReserveIdentifier = [u8; 8];383 /// The type for recording an account's balance.384 type Balance = Balance;385 /// The ubiquitous event type.386 type Event = Event;387 type DustRemoval = Treasury;388 type ExistentialDeposit = ExistentialDeposit;389 type AccountStore = System;390 type WeightInfo = pallet_balances::weights::SubstrateWeight<Self>;391}392393pub const fn deposit(items: u32, bytes: u32) -> Balance {394 items as Balance * 15 * CENTIUNIQUE + (bytes as Balance) * 6 * CENTIUNIQUE395}396397/*398parameter_types! {399 pub TombstoneDeposit: Balance = deposit(400 1,401 sp_std::mem::size_of::<pallet_contracts::Pallet<Runtime>> as u32,402 );403 pub DepositPerContract: Balance = TombstoneDeposit::get();404 pub const DepositPerStorageByte: Balance = deposit(0, 1);405 pub const DepositPerStorageItem: Balance = deposit(1, 0);406 pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS);407 pub const SurchargeReward: Balance = 150 * MILLIUNIQUE;408 pub const SignedClaimHandicap: u32 = 2;409 pub const MaxDepth: u32 = 32;410 pub const MaxValueSize: u32 = 16 * 1024;411 pub const MaxCodeSize: u32 = 1024 * 1024 * 25; // 25 Mb412 // The lazy deletion runs inside on_initialize.413 pub DeletionWeightLimit: Weight = AVERAGE_ON_INITIALIZE_RATIO *414 RuntimeBlockWeights::get().max_block;415 // The weight needed for decoding the queue should be less or equal than a fifth416 // of the overall weight dedicated to the lazy deletion.417 pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / (418 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(1) -419 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(0)420 )) / 5) as u32;421 pub Schedule: pallet_contracts::Schedule<Runtime> = Default::default();422}423424impl pallet_contracts::Config for Runtime {425 type Time = Timestamp;426 type Randomness = RandomnessCollectiveFlip;427 type Currency = Balances;428 type Event = Event;429 type RentPayment = ();430 type SignedClaimHandicap = SignedClaimHandicap;431 type TombstoneDeposit = TombstoneDeposit;432 type DepositPerContract = DepositPerContract;433 type DepositPerStorageByte = DepositPerStorageByte;434 type DepositPerStorageItem = DepositPerStorageItem;435 type RentFraction = RentFraction;436 type SurchargeReward = SurchargeReward;437 type WeightPrice = pallet_transaction_payment::Pallet<Self>;438 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;439 type ChainExtension = NFTExtension;440 type DeletionQueueDepth = DeletionQueueDepth;441 type DeletionWeightLimit = DeletionWeightLimit;442 type Schedule = Schedule;443 type CallStack = [pallet_contracts::Frame<Self>; 31];444}445*/446447parameter_types! {448 /// This value increases the priority of `Operational` transactions by adding449 /// a "virtual tip" that's equal to the `OperationalFeeMultiplier * final_fee`.450 pub const OperationalFeeMultiplier: u8 = 5;451}452453/// Linear implementor of `WeightToFeePolynomial`454pub struct LinearFee<T>(sp_std::marker::PhantomData<T>);455456impl<T> WeightToFeePolynomial for LinearFee<T>457where458 T: BaseArithmetic + From<u32> + Copy + Unsigned,459{460 type Balance = T;461462 fn polynomial() -> WeightToFeeCoefficients<Self::Balance> {463 smallvec!(WeightToFeeCoefficient {464 // Targeting 0.1 Unique per NFT transfer465 coeff_integer: WEIGHT_TO_FEE_COEFF.into(),466 coeff_frac: Perbill::zero(),467 negative: false,468 degree: 1,469 })470 }471}472473impl pallet_transaction_payment::Config for Runtime {474 type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, DealWithFees>;475 type TransactionByteFee = TransactionByteFee;476 type OperationalFeeMultiplier = OperationalFeeMultiplier;477 type WeightToFee = LinearFee<Balance>;478 type FeeMultiplierUpdate = ();479}480481parameter_types! {482 pub const ProposalBond: Permill = Permill::from_percent(5);483 pub const ProposalBondMinimum: Balance = 1 * UNIQUE;484 pub const ProposalBondMaximum: Balance = 1000 * UNIQUE;485 pub const SpendPeriod: BlockNumber = 5 * MINUTES;486 pub const Burn: Permill = Permill::from_percent(0);487 pub const TipCountdown: BlockNumber = 1 * DAYS;488 pub const TipFindersFee: Percent = Percent::from_percent(20);489 pub const TipReportDepositBase: Balance = 1 * UNIQUE;490 pub const DataDepositPerByte: Balance = 1 * CENTIUNIQUE;491 pub const BountyDepositBase: Balance = 1 * UNIQUE;492 pub const BountyDepositPayoutDelay: BlockNumber = 1 * DAYS;493 pub const TreasuryModuleId: PalletId = PalletId(*b"py/trsry");494 pub const BountyUpdatePeriod: BlockNumber = 14 * DAYS;495 pub const MaximumReasonLength: u32 = 16384;496 pub const BountyCuratorDeposit: Permill = Permill::from_percent(50);497 pub const BountyValueMinimum: Balance = 5 * UNIQUE;498 pub const MaxApprovals: u32 = 100;499}500501impl pallet_treasury::Config for Runtime {502 type PalletId = TreasuryModuleId;503 type Currency = Balances;504 type ApproveOrigin = EnsureRoot<AccountId>;505 type RejectOrigin = EnsureRoot<AccountId>;506 type Event = Event;507 type OnSlash = ();508 type ProposalBond = ProposalBond;509 type ProposalBondMinimum = ProposalBondMinimum;510 type ProposalBondMaximum = ProposalBondMaximum;511 type SpendPeriod = SpendPeriod;512 type Burn = Burn;513 type BurnDestination = ();514 type SpendFunds = ();515 type WeightInfo = pallet_treasury::weights::SubstrateWeight<Self>;516 type MaxApprovals = MaxApprovals;517}518519impl pallet_sudo::Config for Runtime {520 type Event = Event;521 type Call = Call;522}523524pub struct RelayChainBlockNumberProvider<T>(sp_std::marker::PhantomData<T>);525526impl<T: cumulus_pallet_parachain_system::Config> BlockNumberProvider527 for RelayChainBlockNumberProvider<T>528{529 type BlockNumber = BlockNumber;530531 fn current_block_number() -> Self::BlockNumber {532 cumulus_pallet_parachain_system::Pallet::<T>::validation_data()533 .map(|d| d.relay_parent_number)534 .unwrap_or_default()535 }536}537538parameter_types! {539 pub const MinVestedTransfer: Balance = 10 * UNIQUE;540 pub const MaxVestingSchedules: u32 = 28;541}542543impl orml_vesting::Config for Runtime {544 type Event = Event;545 type Currency = pallet_balances::Pallet<Runtime>;546 type MinVestedTransfer = MinVestedTransfer;547 type VestedTransferOrigin = EnsureSigned<AccountId>;548 type WeightInfo = ();549 type MaxVestingSchedules = MaxVestingSchedules;550 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;551}552553parameter_types! {554 pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;555 pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;556}557558impl cumulus_pallet_parachain_system::Config for Runtime {559 type Event = Event;560 type SelfParaId = parachain_info::Pallet<Self>;561 type OnSystemEvent = ();562 // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<563 // MaxDownwardMessageWeight,564 // XcmExecutor<XcmConfig>,565 // Call,566 // >;567 type OutboundXcmpMessageSource = XcmpQueue;568 type DmpMessageHandler = DmpQueue;569 type ReservedDmpWeight = ReservedDmpWeight;570 type ReservedXcmpWeight = ReservedXcmpWeight;571 type XcmpMessageHandler = XcmpQueue;572}573574impl parachain_info::Config for Runtime {}575576impl cumulus_pallet_aura_ext::Config for Runtime {}577578parameter_types! {579 pub const RelayLocation: MultiLocation = MultiLocation::parent();580 pub const RelayNetwork: NetworkId = NetworkId::Polkadot;581 pub RelayOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into();582 pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into();583}584585/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used586/// when determining ownership of accounts for asset transacting and when attempting to use XCM587/// `Transact` in order to determine the dispatch Origin.588pub type LocationToAccountId = (589 // The parent (Relay-chain) origin converts to the default `AccountId`.590 ParentIsPreset<AccountId>,591 // Sibling parachain origins convert to AccountId via the `ParaId::into`.592 SiblingParachainConvertsVia<Sibling, AccountId>,593 // Straight up local `AccountId32` origins just alias directly to `AccountId`.594 AccountId32Aliases<RelayNetwork, AccountId>,595);596597pub struct OnlySelfCurrency;598impl<B: TryFrom<u128>> MatchesFungible<B> for OnlySelfCurrency {599 fn matches_fungible(a: &MultiAsset) -> Option<B> {600 match (&a.id, &a.fun) {601 (Concrete(_), XcmFungible(ref amount)) => CheckedConversion::checked_from(*amount),602 _ => None,603 }604 }605}606607/// Means for transacting assets on this chain.608pub type LocalAssetTransactor = CurrencyAdapter<609 // Use this currency:610 Balances,611 // Use this currency when it is a fungible asset matching the given location or name:612 OnlySelfCurrency,613 // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:614 LocationToAccountId,615 // Our chain's account ID type (we can't get away without mentioning it explicitly):616 AccountId,617 // We don't track any teleports.618 (),619>;620621/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,622/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can623/// biases the kind of local `Origin` it will become.624pub type XcmOriginToTransactDispatchOrigin = (625 // Sovereign account converter; this attempts to derive an `AccountId` from the origin location626 // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for627 // foreign chains who want to have a local sovereign account on this chain which they control.628 SovereignSignedViaLocation<LocationToAccountId, Origin>,629 // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when630 // recognised.631 RelayChainAsNative<RelayOrigin, Origin>,632 // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when633 // recognised.634 SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>,635 // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a636 // transaction from the Root origin.637 ParentAsSuperuser<Origin>,638 // Native signed account converter; this just converts an `AccountId32` origin into a normal639 // `Origin::Signed` origin of the same 32-byte value.640 SignedAccountId32AsNative<RelayNetwork, Origin>,641 // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.642 XcmPassthrough<Origin>,643);644645parameter_types! {646 // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.647 pub UnitWeightCost: Weight = 1_000_000;648 // 1200 UNIQUEs buy 1 second of weight.649 pub const WeightPrice: (MultiLocation, u128) = (MultiLocation::parent(), 1_200 * UNIQUE);650 pub const MaxInstructions: u32 = 100;651 pub const MaxAuthorities: u32 = 100_000;652}653654match_type! {655 pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {656 MultiLocation { parents: 1, interior: Here } |657 MultiLocation { parents: 1, interior: X1(Plurality { id: BodyId::Unit, .. }) }658 };659}660661pub type Barrier = (662 TakeWeightCredit,663 AllowTopLevelPaidExecutionFrom<Everything>,664 AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,665 // ^^^ Parent & its unit plurality gets free execution666);667668pub struct UsingOnlySelfCurrencyComponents<669 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,670 AssetId: Get<MultiLocation>,671 AccountId,672 Currency: CurrencyT<AccountId>,673 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,674>(675 Weight,676 Currency::Balance,677 PhantomData<(WeightToFee, AssetId, AccountId, Currency, OnUnbalanced)>,678);679impl<680 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,681 AssetId: Get<MultiLocation>,682 AccountId,683 Currency: CurrencyT<AccountId>,684 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,685 > WeightTrader686 for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>687{688 fn new() -> Self {689 Self(0, Zero::zero(), PhantomData)690 }691692 fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result<Assets, XcmError> {693 let amount = WeightToFee::calc(&weight);694 let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?;695696 // location to this parachain through relay chain697 let option1: xcm::v1::AssetId = Concrete(MultiLocation {698 parents: 1,699 interior: X1(Parachain(ParachainInfo::parachain_id().into())),700 });701 // direct location702 let option2: xcm::v1::AssetId = Concrete(MultiLocation {703 parents: 0,704 interior: Here,705 });706707 let required = if payment.fungible.contains_key(&option1) {708 (option1, u128_amount).into()709 } else if payment.fungible.contains_key(&option2) {710 (option2, u128_amount).into()711 } else {712 (Concrete(MultiLocation::default()), u128_amount).into()713 };714715 let unused = payment716 .checked_sub(required)717 .map_err(|_| XcmError::TooExpensive)?;718 self.0 = self.0.saturating_add(weight);719 self.1 = self.1.saturating_add(amount);720 Ok(unused)721 }722723 fn refund_weight(&mut self, weight: Weight) -> Option<MultiAsset> {724 let weight = weight.min(self.0);725 let amount = WeightToFee::calc(&weight);726 self.0 -= weight;727 self.1 = self.1.saturating_sub(amount);728 let amount: u128 = amount.saturated_into();729 if amount > 0 {730 Some((AssetId::get(), amount).into())731 } else {732 None733 }734 }735}736impl<737 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,738 AssetId: Get<MultiLocation>,739 AccountId,740 Currency: CurrencyT<AccountId>,741 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,742 > Drop743 for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>744{745 fn drop(&mut self) {746 OnUnbalanced::on_unbalanced(Currency::issue(self.1));747 }748}749750pub struct XcmConfig;751impl Config for XcmConfig {752 type Call = Call;753 type XcmSender = XcmRouter;754 // How to withdraw and deposit an asset.755 type AssetTransactor = LocalAssetTransactor;756 type OriginConverter = XcmOriginToTransactDispatchOrigin;757 type IsReserve = NativeAsset;758 type IsTeleporter = (); // Teleportation is disabled759 type LocationInverter = LocationInverter<Ancestry>;760 type Barrier = Barrier;761 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;762 type Trader = UsingOnlySelfCurrencyComponents<763 IdentityFee<Balance>,764 RelayLocation,765 AccountId,766 Balances,767 (),768 >;769 type ResponseHandler = (); // Don't handle responses for now.770 type SubscriptionService = PolkadotXcm;771772 type AssetTrap = PolkadotXcm;773 type AssetClaims = PolkadotXcm;774}775776// parameter_types! {777// pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10;778// }779780/// No local origins on this chain are allowed to dispatch XCM sends/executions.781pub type LocalOriginToLocation = (SignedToAccountId32<Origin, AccountId, RelayNetwork>,);782783/// The means for routing XCM messages which are not for local execution into the right message784/// queues.785pub type XcmRouter = (786 // Two routers - use UMP to communicate with the relay chain:787 cumulus_primitives_utility::ParentAsUmp<ParachainSystem, ()>,788 // ..and XCMP to communicate with the sibling chains.789 XcmpQueue,790);791792impl pallet_evm_coder_substrate::Config for Runtime {793 type EthereumTransactionSender = pallet_ethereum::Pallet<Self>;794 type GasWeightMapping = FixedGasWeightMapping;795}796797impl pallet_xcm::Config for Runtime {798 type Event = Event;799 type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;800 type XcmRouter = XcmRouter;801 type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;802 type XcmExecuteFilter = Everything;803 type XcmExecutor = XcmExecutor<XcmConfig>;804 type XcmTeleportFilter = Everything;805 type XcmReserveTransferFilter = Everything;806 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;807 type LocationInverter = LocationInverter<Ancestry>;808 type Origin = Origin;809 type Call = Call;810 const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100;811 type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion;812}813814impl cumulus_pallet_xcm::Config for Runtime {815 type Event = Event;816 type XcmExecutor = XcmExecutor<XcmConfig>;817}818819impl cumulus_pallet_xcmp_queue::Config for Runtime {820 type WeightInfo = ();821 type Event = Event;822 type XcmExecutor = XcmExecutor<XcmConfig>;823 type ChannelInfo = ParachainSystem;824 type VersionWrapper = ();825 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;826 type ControllerOrigin = EnsureRoot<AccountId>;827 type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;828}829830impl cumulus_pallet_dmp_queue::Config for Runtime {831 type Event = Event;832 type XcmExecutor = XcmExecutor<XcmConfig>;833 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;834}835836impl pallet_aura::Config for Runtime {837 type AuthorityId = AuraId;838 type DisabledValidators = ();839 type MaxAuthorities = MaxAuthorities;840}841842parameter_types! {843 pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account();844 pub const CollectionCreationPrice: Balance = 2 * UNIQUE;845}846847impl pallet_common::Config for Runtime {848 type Event = Event;849 type Currency = Balances;850 type CollectionCreationPrice = CollectionCreationPrice;851 type TreasuryAccountId = TreasuryAccountId;852}853854impl pallet_evm::account::Config for Runtime {855 type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Self>;856 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;857 type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;858}859860impl pallet_fungible::Config for Runtime {861 type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;862}863impl pallet_refungible::Config for Runtime {864 type WeightInfo = pallet_refungible::weights::SubstrateWeight<Self>;865}866impl pallet_nonfungible::Config for Runtime {867 type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;868}869870impl pallet_unique::Config for Runtime {871 type Event = Event;872 type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;873}874875parameter_types! {876 pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied877}878879/// Used for the pallet inflation880impl pallet_inflation::Config for Runtime {881 type Currency = Balances;882 type TreasuryAccountId = TreasuryAccountId;883 type InflationBlockInterval = InflationBlockInterval;884 type BlockNumberProvider = RelayChainBlockNumberProvider<Runtime>;885}886887// parameter_types! {888// pub MaximumSchedulerWeight: Weight = Perbill::from_percent(50) *889// RuntimeBlockWeights::get().max_block;890// pub const MaxScheduledPerBlock: u32 = 50;891// }892893type EvmSponsorshipHandler = (894 pallet_unique::UniqueEthSponsorshipHandler<Runtime>,895 pallet_evm_contract_helpers::HelpersContractSponsoring<Runtime>,896);897type SponsorshipHandler = (898 pallet_unique::UniqueSponsorshipHandler<Runtime>,899 //pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,900 pallet_evm_transaction_payment::BridgeSponsorshipHandler<Runtime>,901);902903// impl pallet_unq_scheduler::Config for Runtime {904// type Event = Event;905// type Origin = Origin;906// type PalletsOrigin = OriginCaller;907// type Call = Call;908// type MaximumWeight = MaximumSchedulerWeight;909// type ScheduleOrigin = EnsureSigned<AccountId>;910// type MaxScheduledPerBlock = MaxScheduledPerBlock;911// type SponsorshipHandler = SponsorshipHandler;912// type WeightInfo = ();913// }914915impl pallet_evm_transaction_payment::Config for Runtime {916 type EvmSponsorshipHandler = EvmSponsorshipHandler;917 type Currency = Balances;918}919920impl pallet_charge_transaction::Config for Runtime {921 type SponsorshipHandler = SponsorshipHandler;922}923924// impl pallet_contract_helpers::Config for Runtime {925// type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;926// }927928parameter_types! {929 // 0x842899ECF380553E8a4de75bF534cdf6fBF64049930 pub const HelpersContractAddress: H160 = H160([931 0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,932 ]);933}934935impl pallet_evm_contract_helpers::Config for Runtime {936 type ContractAddress = HelpersContractAddress;937 type DefaultSponsoringRateLimit = DefaultSponsoringRateLimit;938}939940construct_runtime!(941 pub enum Runtime where942 Block = Block,943 NodeBlock = opaque::Block,944 UncheckedExtrinsic = UncheckedExtrinsic945 {946 ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Config, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,947 ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,948949 Aura: pallet_aura::{Pallet, Config<T>} = 22,950 AuraExt: cumulus_pallet_aura_ext::{Pallet, Config} = 23,951952 Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,953 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Storage} = 31,954 Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 32,955 TransactionPayment: pallet_transaction_payment::{Pallet, Storage} = 33,956 Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,957 Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,958 System: frame_system::{Pallet, Call, Storage, Config, Event<T>} = 36,959 Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,960 // Vesting: pallet_vesting::{Pallet, Call, Config<T>, Storage, Event<T>} = 37,961 // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,962963 // XCM helpers.964 XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,965 PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,966 CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,967 DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,968969 // Unique Pallets970 Inflation: pallet_inflation::{Pallet, Call, Storage} = 60,971 Unique: pallet_unique::{Pallet, Call, Storage, Event<T>} = 61,972 // Scheduler: pallet_unq_scheduler::{Pallet, Call, Storage, Event<T>} = 62,973 // free = 63974 Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64,975 // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65,976 Common: pallet_common::{Pallet, Storage, Event<T>} = 66,977 Fungible: pallet_fungible::{Pallet, Storage} = 67,978 Refungible: pallet_refungible::{Pallet, Storage} = 68,979 Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,980981 // Frontier982 EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,983 Ethereum: pallet_ethereum::{Pallet, Config, Call, Storage, Event, Origin} = 101,984985 EvmCoderSubstrate: pallet_evm_coder_substrate::{Pallet, Storage} = 150,986 EvmContractHelpers: pallet_evm_contract_helpers::{Pallet, Storage} = 151,987 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,988 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,989 }990);991992pub struct TransactionConverter;993994impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {995 fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic {996 UncheckedExtrinsic::new_unsigned(997 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),998 )999 }1000}10011002impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConverter {1003 fn convert_transaction(1004 &self,1005 transaction: pallet_ethereum::Transaction,1006 ) -> opaque::UncheckedExtrinsic {1007 let extrinsic = UncheckedExtrinsic::new_unsigned(1008 pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),1009 );1010 let encoded = extrinsic.encode();1011 opaque::UncheckedExtrinsic::decode(&mut &encoded[..])1012 .expect("Encoded extrinsic is always valid")1013 }1014}10151016/// The address format for describing accounts.1017pub type Address = sp_runtime::MultiAddress<AccountId, ()>;1018/// Block header type as expected by this runtime.1019pub type Header = generic::Header<BlockNumber, BlakeTwo256>;1020/// Block type as expected by this runtime.1021pub type Block = generic::Block<Header, UncheckedExtrinsic>;1022/// A Block signed with a Justification1023pub type SignedBlock = generic::SignedBlock<Block>;1024/// BlockId type as expected by this runtime.1025pub type BlockId = generic::BlockId<Block>;1026/// The SignedExtension to the basic transaction logic.1027pub type SignedExtra = (1028 frame_system::CheckSpecVersion<Runtime>,1029 // system::CheckTxVersion<Runtime>,1030 frame_system::CheckGenesis<Runtime>,1031 frame_system::CheckEra<Runtime>,1032 frame_system::CheckNonce<Runtime>,1033 frame_system::CheckWeight<Runtime>,1034 pallet_charge_transaction::ChargeTransactionPayment<Runtime>,1035 //pallet_contract_helpers::ContractHelpersExtension<Runtime>,1036);1037/// Unchecked extrinsic type as expected by this runtime.1038pub type UncheckedExtrinsic =1039 fp_self_contained::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;1040/// Extrinsic type that has already been checked.1041pub type CheckedExtrinsic = fp_self_contained::CheckedExtrinsic<AccountId, Call, SignedExtra, H160>;1042/// Executive: handles dispatch to the various modules.1043pub type Executive = frame_executive::Executive<1044 Runtime,1045 Block,1046 frame_system::ChainContext<Runtime>,1047 Runtime,1048 AllPalletsReversedWithSystemFirst,1049>;10501051impl_opaque_keys! {1052 pub struct SessionKeys {1053 pub aura: Aura,1054 }1055}10561057impl fp_self_contained::SelfContainedCall for Call {1058 type SignedInfo = H160;10591060 fn is_self_contained(&self) -> bool {1061 match self {1062 Call::Ethereum(call) => call.is_self_contained(),1063 _ => false,1064 }1065 }10661067 fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {1068 match self {1069 Call::Ethereum(call) => call.check_self_contained(),1070 _ => None,1071 }1072 }10731074 fn validate_self_contained(&self, info: &Self::SignedInfo) -> Option<TransactionValidity> {1075 match self {1076 Call::Ethereum(call) => call.validate_self_contained(info),1077 _ => None,1078 }1079 }10801081 fn pre_dispatch_self_contained(1082 &self,1083 info: &Self::SignedInfo,1084 ) -> Option<Result<(), TransactionValidityError>> {1085 match self {1086 Call::Ethereum(call) => call.pre_dispatch_self_contained(info),1087 _ => None,1088 }1089 }10901091 fn apply_self_contained(1092 self,1093 info: Self::SignedInfo,1094 ) -> Option<sp_runtime::DispatchResultWithInfo<PostDispatchInfoOf<Self>>> {1095 match self {1096 call @ Call::Ethereum(pallet_ethereum::Call::transact { .. }) => Some(call.dispatch(1097 Origin::from(pallet_ethereum::RawOrigin::EthereumTransaction(info)),1098 )),1099 _ => None,1100 }1101 }1102}11031104macro_rules! dispatch_unique_runtime {1105 ($collection:ident.$method:ident($($name:ident),*)) => {{1106 use pallet_unique::dispatch::Dispatched;11071108 let collection = Dispatched::dispatch(<pallet_common::CollectionHandle<Runtime>>::try_get($collection)?);1109 let dispatch = collection.as_dyn();11101111 Ok(dispatch.$method($($name),*))1112 }};1113}11141115impl_common_runtime_apis!();11161117struct CheckInherents;11181119impl cumulus_pallet_parachain_system::CheckInherents<Block> for CheckInherents {1120 fn check_inherents(1121 block: &Block,1122 relay_state_proof: &cumulus_pallet_parachain_system::RelayChainStateProof,1123 ) -> sp_inherents::CheckInherentsResult {1124 let relay_chain_slot = relay_state_proof1125 .read_slot()1126 .expect("Could not read the relay chain slot from the proof");11271128 let inherent_data =1129 cumulus_primitives_timestamp::InherentDataProvider::from_relay_chain_slot_and_duration(1130 relay_chain_slot,1131 sp_std::time::Duration::from_secs(6),1132 )1133 .create_inherent_data()1134 .expect("Could not create the timestamp inherent data");11351136 inherent_data.check_extrinsics(block)1137 }1138}11391140cumulus_pallet_parachain_system::register_validate_block!(1141 Runtime = Runtime,1142 BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,1143 CheckInherents = CheckInherents,1144);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.17
+git checkout release-v0.9.18
```
2. Build with nightly-2021-11-11
@@ -20,7 +20,7 @@
git clone https://github.com/paritytech/polkadot-launch && cd polkadot-launch
```
-5. Run launch-test-env.sh from the root of this project
+5. Run launch-testnet.sh from the root of this project
## How to run tests
tests/package.jsondiffbeforeafterboth--- a/tests/package.json
+++ b/tests/package.json
@@ -95,5 +95,8 @@
"contract",
"artifacts"
]
+ },
+ "resolutions": {
+ "simple-get": "^4.0.1"
}
}
tests/src/eth/base.test.tsdiffbeforeafterboth--- a/tests/src/eth/base.test.ts
+++ b/tests/src/eth/base.test.ts
@@ -34,7 +34,8 @@
const userB = createEthAccount(web3);
const cost = await recordEthFee(api, userA, () => web3.eth.sendTransaction({from: userA, to: userB, value: '1000000', ...GAS_ARGS}));
- expect(cost - await ethBalanceViaSub(api, userB) < BigInt(0.2 * Number(UNIQUE))).to.be.true;
+ const balanceB = await ethBalanceViaSub(api, userB);
+ expect(cost - balanceB < BigInt(0.2 * Number(UNIQUE))).to.be.true;
});
itWeb3('NFT transfer is close to 0.15 UNQ', async ({web3, api}) => {
tests/src/eth/collectionSponsoring.test.tsdiffbeforeafterboth--- /dev/null
+++ b/tests/src/eth/collectionSponsoring.test.ts
@@ -0,0 +1,43 @@
+import privateKey from '../substrate/privateKey';
+import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, enablePublicMintingExpectSuccess, setCollectionSponsorExpectSuccess} from '../util/helpers';
+import {itWeb3, transferBalanceToEth, subToEth, createEthAccount, collectionIdToAddress, GAS_ARGS, normalizeEvents} from './util/helpers';
+import nonFungibleAbi from './nonFungibleAbi.json';
+import {expect} from 'chai';
+
+describe('evm collection sponsoring', () => {
+ itWeb3('sponsors mint transactions', async ({api, web3}) => {
+ const alice = privateKey('//Alice');
+
+ const collection = await createCollectionExpectSuccess();
+ await setCollectionSponsorExpectSuccess(collection, alice.address);
+ await confirmSponsorshipExpectSuccess(collection);
+
+ // Wouldn't be needed after CORE-300
+ await transferBalanceToEth(api, alice, subToEth(alice.address));
+
+ const minter = createEthAccount(web3);
+ expect(await web3.eth.getBalance(minter)).to.equal('0');
+
+ const address = collectionIdToAddress(collection);
+ const contract = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collection), {from: minter, ...GAS_ARGS});
+
+ await enablePublicMintingExpectSuccess(alice, collection);
+ await addToAllowListExpectSuccess(alice, collection, {Ethereum: minter});
+
+ const nextTokenId = await contract.methods.nextTokenId().call();
+ expect(nextTokenId).to.equal('1');
+ const result = await contract.methods.mint(minter, nextTokenId).send();
+ const events = normalizeEvents(result.events);
+ expect(events).to.be.deep.equal([
+ {
+ address,
+ event: 'Transfer',
+ args: {
+ from: '0x0000000000000000000000000000000000000000',
+ to: minter,
+ tokenId: nextTokenId,
+ },
+ },
+ ]);
+ });
+});
tests/src/eth/contractSponsoring.test.tsdiffbeforeafterboth--- a/tests/src/eth/contractSponsoring.test.ts
+++ b/tests/src/eth/contractSponsoring.test.ts
@@ -24,7 +24,24 @@
itWeb3,
SponsoringMode,
createEthAccount,
+ collectionIdToAddress,
+ GAS_ARGS,
+ normalizeEvents,
+ subToEth,
+ executeEthTxOnSub,
} from './util/helpers';
+import {
+ addCollectionAdminExpectSuccess,
+ createCollectionExpectSuccess,
+ getCreateCollectionResult,
+ transferBalanceTo,
+} from '../util/helpers';
+import nonFungibleAbi from './nonFungibleAbi.json';
+import {
+ submitTransactionAsync,
+} from '../substrate/substrate-api';
+import getBalance from '../substrate/get-balance';
+import {alicesPublicKey} from '../accounts';
describe('Sponsoring EVM contracts', () => {
itWeb3('Sponsoring can be set by the address that has deployed the contract', async ({api, web3}) => {
@@ -199,4 +216,115 @@
const helpers = contractHelpers(web3, owner);
expect(await helpers.methods.getSponsoringRateLimit(flipper.options.address).call()).to.be.equals('7200');
});
+
+ itWeb3('Sponsoring evm address from substrate collection', async ({api, web3}) => {
+ const owner = privateKey('//Alice');
+ const userEth = createEthAccount(web3);
+ const collectionId = await createCollectionExpectSuccess();
+
+ {
+ const tx = api.tx.unique.setCollectionSponsor(collectionId, owner.address);
+ const events = await submitTransactionAsync(owner, tx);
+ const result = getCreateCollectionResult(events);
+ expect(result.success).to.be.true;
+ }
+ {
+ const tx = api.tx.unique.confirmSponsorship(collectionId);
+ const events = await submitTransactionAsync(owner, tx);
+ const result = getCreateCollectionResult(events);
+ expect(result.success).to.be.true;
+ }
+
+ const address = collectionIdToAddress(collectionId);
+ const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: userEth, ...GAS_ARGS});
+
+ { // This part should fail, because user not in access list and user have no money
+ const nextTokenId = await contract.methods.nextTokenId().call();
+ expect(nextTokenId).to.be.equal('1');
+ await expect(contract.methods.mintWithTokenURI(
+ userEth,
+ nextTokenId,
+ 'Test URI',
+ ).call({from: userEth})).to.be.rejectedWith(/PublicMintingNotAllowed/);
+ }
+
+ {
+ const tx = api.tx.unique.setPublicAccessMode(collectionId, 'AllowList');
+ const events = await submitTransactionAsync(owner, tx);
+ const result = getCreateCollectionResult(events);
+ expect(result.success).to.be.true;
+ }
+ {
+ const tx = api.tx.unique.addToAllowList(collectionId, {Ethereum: userEth});
+ const events = await submitTransactionAsync(owner, tx);
+ const result = getCreateCollectionResult(events);
+ expect(result.success).to.be.true;
+ }
+ {
+ const tx = api.tx.unique.setMintPermission(collectionId, true);
+ const events = await submitTransactionAsync(owner, tx);
+ const result = getCreateCollectionResult(events);
+ expect(result.success).to.be.true;
+ }
+
+ const [alicesBalanceBefore] = await getBalance(api, [alicesPublicKey]);
+
+ {
+ const nextTokenId = await contract.methods.nextTokenId().call();
+ expect(nextTokenId).to.be.equal('1');
+ const result = await contract.methods.mintWithTokenURI(
+ userEth,
+ nextTokenId,
+ 'Test URI',
+ ).send({from: userEth});
+ const events = normalizeEvents(result.events);
+
+ expect(events).to.be.deep.equal([
+ {
+ address,
+ event: 'Transfer',
+ args: {
+ from: '0x0000000000000000000000000000000000000000',
+ to: userEth,
+ tokenId: nextTokenId,
+ },
+ },
+ ]);
+
+ expect(await contract.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
+ }
+
+ const [alicesBalanceAfter] = await getBalance(api, [alicesPublicKey]);
+ expect(alicesBalanceAfter < alicesBalanceBefore).to.be.true;
+ });
+
+
+ itWeb3('Check that transaction via EVM spend money from substrate address', async ({api, web3}) => {
+ const owner = privateKey('//Alice');
+ const user = privateKey(`//User/${Date.now()}`);
+ const userEth = subToEth(user.address);
+ const collectionId = await createCollectionExpectSuccess();
+ await addCollectionAdminExpectSuccess(owner, collectionId, {Ethereum: userEth});
+ await transferBalanceTo(api, owner, user.address);
+
+ const address = collectionIdToAddress(collectionId);
+ const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: userEth, ...GAS_ARGS});
+
+ const [userBalanceBefore] = await getBalance(api, [user.address]);
+
+ {
+ const nextTokenId = await contract.methods.nextTokenId().call();
+ expect(nextTokenId).to.be.equal('1');
+ await executeEthTxOnSub(web3, api, user, contract, m => m.mintWithTokenURI(
+ userEth,
+ nextTokenId,
+ 'Test URI',
+ ));
+
+ expect(await contract.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
+ }
+
+ const [userBalanceAfter] = await getBalance(api, [user.address]);
+ expect(userBalanceAfter < userBalanceBefore).to.be.true;
+ });
});
tests/src/eth/marketplace/marketplace.test.tsdiffbeforeafterboth--- a/tests/src/eth/marketplace/marketplace.test.ts
+++ b/tests/src/eth/marketplace/marketplace.test.ts
@@ -15,13 +15,24 @@
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
import {readFile} from 'fs/promises';
-import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance';
+import {getBalanceSingle} from '../../substrate/get-balance';
import privateKey from '../../substrate/privateKey';
-import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionLimitsExpectSuccess, setCollectionSponsorExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers';
+import {
+ addToAllowListExpectSuccess,
+ confirmSponsorshipExpectSuccess,
+ createCollectionExpectSuccess,
+ createItemExpectSuccess,
+ getTokenOwner,
+ setCollectionLimitsExpectSuccess,
+ setCollectionSponsorExpectSuccess,
+ transferExpectSuccess,
+ transferFromExpectSuccess,
+ transferBalanceTo,
+} from '../../util/helpers';
import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, SponsoringMode, subToEth, subToEthLowercase, transferBalanceToEth} from '../util/helpers';
import {evmToAddress} from '@polkadot/util-crypto';
import nonFungibleAbi from '../nonFungibleAbi.json';
-import fungibleAbi from '../fungibleAbi.json';
+
import {expect} from 'chai';
const PRICE = 2000n;
@@ -87,32 +98,39 @@
expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address});
});
- // selling for custom tokens excluded from release
- itWeb3.skip('With custom ERC20', async ({api, web3}) => {
+
+ itWeb3('With escrow', async ({api, web3}) => {
const alice = privateKey('//Alice');
const matcherOwner = await createEthAccountWithBalance(api, web3);
+ const escrow = await createEthAccountWithBalance(api, web3);
const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, {
from: matcherOwner,
...GAS_ARGS,
});
- const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner});
+ const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});
+ await matcher.methods.setEscrow(escrow).send({from: matcherOwner});
+ const helpers = contractHelpers(web3, matcherOwner);
+ await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});
+ await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});
+ await transferBalanceToEth(api, alice, matcher.options.address);
const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+ await setCollectionLimitsExpectSuccess(alice, collectionId, {sponsorApproveTimeout: 1});
const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner});
+ await setCollectionSponsorExpectSuccess(collectionId, alice.address);
+ await transferBalanceToEth(api, alice, subToEth(alice.address));
+ await confirmSponsorshipExpectSuccess(collectionId);
- const fungibleId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
- const evmFungible = new web3.eth.Contract(fungibleAbi as any, collectionIdToAddress(fungibleId), {from: matcherOwner, ...GAS_ARGS});
- await createFungibleItemExpectSuccess(alice, fungibleId, {Value: PRICE}, {Ethereum: subToEth(alice.address)});
+ await helpers.methods.toggleAllowed(matcher.options.address, subToEth(alice.address), true).send({from: matcherOwner});
+ await addToAllowListExpectSuccess(alice, collectionId, evmToAddress(subToEth(alice.address)));
- const seller = privateKey('//Bob');
+ const seller = privateKey(`//Seller/${Date.now()}`);
+ await helpers.methods.toggleAllowed(matcher.options.address, subToEth(seller.address), true).send({from: matcherOwner});
const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address);
// To transfer item to matcher it first needs to be transfered to EVM account of bob
await transferExpectSuccess(collectionId, tokenId, seller, {Ethereum: subToEth(seller.address)});
- // Fees will be paid from EVM account, so we should have some balance here
- await transferBalanceExpectSuccess(api, seller, evmToAddress(subToEth(seller.address)), 10n ** 18n);
- await transferBalanceExpectSuccess(api, alice, evmToAddress(subToEth(alice.address)), 10n ** 18n);
// Token is owned by seller initially
expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(seller.address)});
@@ -120,66 +138,55 @@
// Ask
{
await executeEthTxOnSub(web3, api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId));
- await executeEthTxOnSub(web3, api, seller, matcher, m => m.addAsk(PRICE, evmFungible.options.address, evmCollection.options.address, tokenId, 1));
+ await executeEthTxOnSub(web3, api, seller, matcher, m => m.addAsk(PRICE, '0x0000000000000000000000000000000000000001', evmCollection.options.address, tokenId));
}
// Token is transferred to matcher
expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()});
+ // Give buyer KSM
+ await matcher.methods.depositKSM(PRICE, subToEth(alice.address)).send({from: escrow});
+
// Buy
{
- const sellerBalanceBeforePurchase = BigInt(await evmFungible.methods.balanceOf(subToEth(seller.address)).call());
- const buyerBalanceBeforePurchase = BigInt(await evmFungible.methods.balanceOf(subToEth(alice.address)).call());
+ expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal('0');
+ expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal(PRICE.toString());
- await executeEthTxOnSub(web3, api, alice, evmFungible, m => m.approve(matcher.options.address, PRICE));
- // There is two functions named 'buy', so we should provide full signature
- await executeEthTxOnSub(web3, api, alice, matcher, m =>
- m['buy(address,uint256,address,uint256)'](evmCollection.options.address, tokenId, evmFungible.options.address, PRICE));
+ await executeEthTxOnSub(web3, api, alice, matcher, m => m.buyKSM(evmCollection.options.address, tokenId, subToEth(alice.address), subToEth(alice.address)));
- // Approved price is removed from buyer balance, and added to seller
- expect(BigInt(await evmFungible.methods.balanceOf(subToEth(seller.address)).call()) - sellerBalanceBeforePurchase === PRICE);
- expect(buyerBalanceBeforePurchase - BigInt(await evmFungible.methods.balanceOf(subToEth(alice.address)).call()) === PRICE);
+ // Price is removed from buyer balance, and added to seller
+ expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal('0');
+ expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal(PRICE.toString());
}
// Token is transferred to evm account of alice
expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(alice.address)});
-
// Transfer token to substrate side of alice
await transferFromExpectSuccess(collectionId, tokenId, alice, {Ethereum: subToEth(alice.address)}, {Substrate: alice.address});
- // Token is transferred to substrate account of alice
+ // Token is transferred to substrate account of alice, seller received funds
expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address});
});
- itWeb3('With escrow', async ({api, web3}) => {
+
+ itWeb3('Sell tokens from substrate user via EVM contract', async ({api, web3}) => {
const alice = privateKey('//Alice');
const matcherOwner = await createEthAccountWithBalance(api, web3);
- const escrow = await createEthAccountWithBalance(api, web3);
const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, {
from: matcherOwner,
...GAS_ARGS,
});
- const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});
- await matcher.methods.setEscrow(escrow).send({from: matcherOwner});
- const helpers = contractHelpers(web3, matcherOwner);
- await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});
- await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});
+ const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner});
await transferBalanceToEth(api, alice, matcher.options.address);
const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
await setCollectionLimitsExpectSuccess(alice, collectionId, {sponsorApproveTimeout: 1});
const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner});
- await setCollectionSponsorExpectSuccess(collectionId, alice.address);
- await transferBalanceToEth(api, alice, subToEth(alice.address));
- await confirmSponsorshipExpectSuccess(collectionId);
-
- await helpers.methods.toggleAllowed(matcher.options.address, subToEth(alice.address), true).send({from: matcherOwner});
- await addToAllowListExpectSuccess(alice, collectionId, evmToAddress(subToEth(alice.address)));
const seller = privateKey(`//Seller/${Date.now()}`);
- await helpers.methods.toggleAllowed(matcher.options.address, subToEth(seller.address), true).send({from: matcherOwner});
-
+ await transferBalanceTo(api, alice, seller.address);
+
const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address);
// To transfer item to matcher it first needs to be transfered to EVM account of bob
@@ -197,19 +204,11 @@
// Token is transferred to matcher
expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()});
- // Give buyer KSM
- await matcher.methods.depositKSM(PRICE, subToEth(alice.address)).send({from: escrow});
-
// Buy
{
- expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal('0');
- expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal(PRICE.toString());
-
- await executeEthTxOnSub(web3, api, alice, matcher, m => m.buyKSM(evmCollection.options.address, tokenId, subToEth(alice.address), subToEth(alice.address)));
-
- // Price is removed from buyer balance, and added to seller
- expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal('0');
- expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal(PRICE.toString());
+ const sellerBalanceBeforePurchase = await getBalanceSingle(api, seller.address);
+ await executeEthTxOnSub(web3, api, alice, matcher, m => m.buy(evmCollection.options.address, tokenId), {value: PRICE});
+ expect(await getBalanceSingle(api, seller.address) - sellerBalanceBeforePurchase === PRICE);
}
// Token is transferred to evm account of alice
tests/src/eth/util/helpers.tsdiffbeforeafterboth--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -29,6 +29,7 @@
import privateKey from '../../substrate/privateKey';
import contractHelpersAbi from './contractHelpersAbi.json';
import getBalance from '../../substrate/get-balance';
+import waitNewBlocks from '../../substrate/wait-new-blocks';
export const GAS_ARGS = {gas: 2500000};
@@ -241,6 +242,12 @@
return collector;
}
+/**
+ * pallet evm_contract_helpers
+ * @param web3
+ * @param caller - eth address
+ * @returns
+ */
export function contractHelpers(web3: Web3, caller: string) {
return new web3.eth.Contract(contractHelpersAbi as any, '0x842899ECF380553E8a4de75bF534cdf6fBF64049', {from: caller, ...GAS_ARGS});
}
@@ -287,6 +294,8 @@
await call();
+ // In dev mode, the transaction might not finish processing in time
+ await waitNewBlocks(api, 1);
const after = await ethBalanceViaSub(api, user);
// Can't use .to.be.less, because chai doesn't supports bigint
tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -4,7 +4,7 @@
import type { ApiTypes } from '@polkadot/api-base/types';
import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types-codec';
import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, OrmlVestingVestingSchedule, PalletCommonAccountBasicCrossAccountIdRepr, SpRuntimeDispatchError, UpDataStructsAccessMode, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
+import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, SpRuntimeDispatchError, UpDataStructsAccessMode, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
declare module '@polkadot/api-base/types/events' {
export interface AugmentedEvents<ApiType extends ApiTypes> {
@@ -68,7 +68,7 @@
*
* * amount
**/
- Approved: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ Approved: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
/**
* New collection was created
*
@@ -102,7 +102,7 @@
*
* * amount: Always 1 for NFT
**/
- ItemCreated: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ ItemCreated: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
/**
* Collection item was burned.
*
@@ -116,7 +116,7 @@
*
* * amount: Always 1 for NFT
**/
- ItemDestroyed: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ ItemDestroyed: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
/**
* Item was transferred
*
@@ -130,7 +130,7 @@
*
* * amount: Always 1 for NFT
**/
- Transfer: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ Transfer: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
/**
* Generic event
**/
@@ -483,7 +483,7 @@
*
* * user: Address.
**/
- AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Address was remove from allow list
*
@@ -493,7 +493,7 @@
*
* * user: Address.
**/
- AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Collection admin was added
*
@@ -503,7 +503,7 @@
*
* * admin: Admin address.
**/
- CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Collection admin was removed
*
@@ -513,7 +513,7 @@
*
* * admin: Admin address.
**/
- CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Collection limits was set
*
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -5,7 +5,7 @@
import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeDigest, UpDataStructsCollection, UpDataStructsCollectionStats } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeDigest, UpDataStructsCollection, UpDataStructsCollectionStats } from '@polkadot/types/lookup';
import type { Observable } from '@polkadot/types/types';
declare module '@polkadot/api-base/types/storage' {
@@ -73,7 +73,7 @@
/**
* Allowlisted collection users
**/
- allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Collection info
**/
@@ -87,7 +87,7 @@
/**
* List of collection admins
**/
- isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Generic query
**/
@@ -173,8 +173,8 @@
[key: string]: QueryableStorageEntry<ApiType>;
};
fungible: {
- allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]>;
- balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
+ balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
* Generic query
@@ -208,12 +208,12 @@
[key: string]: QueryableStorageEntry<ApiType>;
};
nonfungible: {
- accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
- allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletCommonAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+ accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+ allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
/**
* Used to enumerate tokens owned by account
**/
- owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]>;
+ owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
@@ -371,13 +371,13 @@
[key: string]: QueryableStorageEntry<ApiType>;
};
refungible: {
- accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
- allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]>;
- balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+ allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
+ balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Used to enumerate tokens owned by account
**/
- owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]>;
+ owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
tests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -1,7 +1,7 @@
// Auto-generated via `yarn polkadot-types-from-chain`, do not edit
/* eslint-disable */
-import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionStats } from './unique';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsCollectionStats } from './unique';
import type { AugmentedRpc } from '@polkadot/rpc-core/types';
import type { Metadata, StorageKey } from '@polkadot/types';
import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec';
@@ -562,31 +562,31 @@
/**
* Get amount of different user tokens
**/
- accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
+ accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
/**
* Get tokens owned by account
**/
- accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
+ accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
/**
* Get admin list
**/
- adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
+ adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
/**
* Get allowed amount
**/
- allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+ allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
/**
* Check if user is allowed to use collection
**/
- allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
+ allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
/**
* Get allowlist
**/
- allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
+ allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
/**
* Get amount of specific account token
**/
- balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+ balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
/**
* Get collection by specified id
**/
@@ -618,7 +618,7 @@
/**
* Get token owner
**/
- tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletCommonAccountBasicCrossAccountIdRepr>>;
+ tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletEvmAccountBasicCrossAccountIdRepr>>;
/**
* Get token variable metadata
**/
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -5,7 +5,7 @@
import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
declare module '@polkadot/api-base/types/submittable' {
export interface AugmentedSubmittables<ApiType extends ApiTypes> {
@@ -551,7 +551,7 @@
*
* * new_admin_id: Address of new admin to add.
**/
- addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Add an address to allow list.
*
@@ -566,7 +566,7 @@
*
* * address.
**/
- addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Set, change, or remove approved address to transfer the ownership of the NFT.
*
@@ -584,7 +584,7 @@
*
* * item_id: ID of the item.
**/
- approve: AugmentedSubmittable<(spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+ approve: AugmentedSubmittable<(spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
/**
* Destroys a concrete instance of NFT on behalf of the owner
* See also: [`approve`]
@@ -603,7 +603,7 @@
*
* * from: owner of item
**/
- burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32, u128]>;
+ burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32, u128]>;
/**
* Destroys a concrete instance of NFT.
*
@@ -688,7 +688,7 @@
*
* * data: Token data to store on chain.
**/
- createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
+ createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
/**
* This method creates multiple items in a collection created with CreateCollection method.
*
@@ -709,7 +709,7 @@
*
* * owner: Address, initial owner of the NFT.
**/
- createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
+ createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;
/**
* **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.
@@ -737,7 +737,7 @@
*
* * account_id: Address of admin to remove.
**/
- removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
/**
* Switch back to pay-per-own-transaction model.
*
@@ -764,7 +764,7 @@
*
* * address.
**/
- removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimits]>;
/**
* # Permissions
@@ -938,7 +938,7 @@
* * Fungible Mode: Must specify transferred amount
* * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)
**/
- transfer: AugmentedSubmittable<(recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+ transfer: AugmentedSubmittable<(recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
/**
* Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.
*
@@ -960,7 +960,7 @@
*
* * value: Amount to transfer.
**/
- transferFrom: AugmentedSubmittable<(from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+ transferFrom: AugmentedSubmittable<(from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
/**
* Generic tx
**/
tests/src/interfaces/augment-types.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,7 +1,7 @@
// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
/* eslint-disable */
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
import type { Data, StorageKey } from '@polkadot/types';
import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -752,7 +752,6 @@
PalletBalancesReserveData: PalletBalancesReserveData;
PalletCallMetadataLatest: PalletCallMetadataLatest;
PalletCallMetadataV14: PalletCallMetadataV14;
- PalletCommonAccountBasicCrossAccountIdRepr: PalletCommonAccountBasicCrossAccountIdRepr;
PalletCommonError: PalletCommonError;
PalletCommonEvent: PalletCommonEvent;
PalletConstantMetadataLatest: PalletConstantMetadataLatest;
@@ -764,6 +763,7 @@
PalletEthereumEvent: PalletEthereumEvent;
PalletEventMetadataLatest: PalletEventMetadataLatest;
PalletEventMetadataV14: PalletEventMetadataV14;
+ PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
PalletEvmCall: PalletEvmCall;
PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
PalletEvmContractHelpersError: PalletEvmContractHelpersError;
tests/src/interfaces/lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1254,11 +1254,11 @@
},
add_to_allow_list: {
collectionId: 'u32',
- address: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ address: 'PalletEvmAccountBasicCrossAccountIdRepr',
},
remove_from_allow_list: {
collectionId: 'u32',
- address: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ address: 'PalletEvmAccountBasicCrossAccountIdRepr',
},
set_public_access_mode: {
collectionId: 'u32',
@@ -1274,11 +1274,11 @@
},
add_collection_admin: {
collectionId: 'u32',
- newAdminId: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',
},
remove_collection_admin: {
collectionId: 'u32',
- accountId: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',
},
set_collection_sponsor: {
collectionId: 'u32',
@@ -1292,12 +1292,12 @@
},
create_item: {
collectionId: 'u32',
- owner: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ owner: 'PalletEvmAccountBasicCrossAccountIdRepr',
data: 'UpDataStructsCreateItemData',
},
create_multiple_items: {
collectionId: 'u32',
- owner: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ owner: 'PalletEvmAccountBasicCrossAccountIdRepr',
itemsData: 'Vec<UpDataStructsCreateItemData>',
},
create_multiple_items_ex: {
@@ -1315,25 +1315,25 @@
},
burn_from: {
collectionId: 'u32',
- from: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ from: 'PalletEvmAccountBasicCrossAccountIdRepr',
itemId: 'u32',
value: 'u128',
},
transfer: {
- recipient: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',
collectionId: 'u32',
itemId: 'u32',
value: 'u128',
},
approve: {
- spender: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ spender: 'PalletEvmAccountBasicCrossAccountIdRepr',
collectionId: 'u32',
itemId: 'u32',
amount: 'u128',
},
transfer_from: {
- from: 'PalletCommonAccountBasicCrossAccountIdRepr',
- recipient: 'PalletCommonAccountBasicCrossAccountIdRepr',
+ from: 'PalletEvmAccountBasicCrossAccountIdRepr',
+ recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',
collectionId: 'u32',
itemId: 'u32',
value: 'u128',
@@ -1438,9 +1438,9 @@
_enum: ['ItemOwner', 'Admin', 'None']
},
/**
- * Lookup172: pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
+ * Lookup172: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
**/
- PalletCommonAccountBasicCrossAccountIdRepr: {
+ PalletEvmAccountBasicCrossAccountIdRepr: {
_enum: {
Substrate: 'AccountId32',
Ethereum: 'H160'
@@ -1478,31 +1478,31 @@
pieces: 'u128'
},
/**
- * Lookup180: up_data_structs::CreateItemExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup180: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateItemExData: {
_enum: {
NFT: 'Vec<UpDataStructsCreateNftExData>',
- Fungible: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>',
+ Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',
RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'
}
},
/**
- * Lookup182: up_data_structs::CreateNftExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup182: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateNftExData: {
constData: 'Bytes',
variableData: 'Bytes',
- owner: 'PalletCommonAccountBasicCrossAccountIdRepr'
+ owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
},
/**
- * Lookup189: up_data_structs::CreateRefungibleExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup189: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateRefungibleExData: {
constData: 'Bytes',
variableData: 'Bytes',
- users: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>'
+ users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'
},
/**
* Lookup192: pallet_template_transaction_payment::Call<T>
@@ -1902,19 +1902,19 @@
}
},
/**
- * Lookup238: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup238: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
PalletUniqueRawEvent: {
_enum: {
CollectionSponsorRemoved: 'u32',
- CollectionAdminAdded: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',
+ CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
CollectionOwnedChanged: '(u32,AccountId32)',
CollectionSponsorSet: '(u32,AccountId32)',
ConstOnChainSchemaSet: 'u32',
SponsorshipConfirmed: '(u32,AccountId32)',
- CollectionAdminRemoved: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',
- AllowListAddressRemoved: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',
- AllowListAddressAdded: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',
+ CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
+ AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
+ AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
CollectionLimitSet: 'u32',
MintPermissionSet: 'u32',
OffchainSchemaSet: 'u32',
@@ -1930,10 +1930,10 @@
_enum: {
CollectionCreated: '(u32,u8,AccountId32)',
CollectionDestroyed: 'u32',
- ItemCreated: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,u128)',
- ItemDestroyed: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,u128)',
- Transfer: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)',
- Approved: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)'
+ ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+ ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+ Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+ Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)'
}
},
/**
@@ -2262,12 +2262,12 @@
_enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']
},
/**
- * Lookup305: pallet_nonfungible::ItemData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup305: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
PalletNonfungibleItemData: {
constData: 'Bytes',
variableData: 'Bytes',
- owner: 'PalletCommonAccountBasicCrossAccountIdRepr'
+ owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
},
/**
* Lookup306: pallet_nonfungible::pallet::Error<T>
tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1364,12 +1364,12 @@
readonly isAddToAllowList: boolean;
readonly asAddToAllowList: {
readonly collectionId: u32;
- readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isRemoveFromAllowList: boolean;
readonly asRemoveFromAllowList: {
readonly collectionId: u32;
- readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isSetPublicAccessMode: boolean;
readonly asSetPublicAccessMode: {
@@ -1389,12 +1389,12 @@
readonly isAddCollectionAdmin: boolean;
readonly asAddCollectionAdmin: {
readonly collectionId: u32;
- readonly newAdminId: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isRemoveCollectionAdmin: boolean;
readonly asRemoveCollectionAdmin: {
readonly collectionId: u32;
- readonly accountId: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isSetCollectionSponsor: boolean;
readonly asSetCollectionSponsor: {
@@ -1412,13 +1412,13 @@
readonly isCreateItem: boolean;
readonly asCreateItem: {
readonly collectionId: u32;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
readonly data: UpDataStructsCreateItemData;
} & Struct;
readonly isCreateMultipleItems: boolean;
readonly asCreateMultipleItems: {
readonly collectionId: u32;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
readonly itemsData: Vec<UpDataStructsCreateItemData>;
} & Struct;
readonly isCreateMultipleItemsEx: boolean;
@@ -1440,28 +1440,28 @@
readonly isBurnFrom: boolean;
readonly asBurnFrom: {
readonly collectionId: u32;
- readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
readonly itemId: u32;
readonly value: u128;
} & Struct;
readonly isTransfer: boolean;
readonly asTransfer: {
- readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
readonly collectionId: u32;
readonly itemId: u32;
readonly value: u128;
} & Struct;
readonly isApprove: boolean;
readonly asApprove: {
- readonly spender: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;
readonly collectionId: u32;
readonly itemId: u32;
readonly amount: u128;
} & Struct;
readonly isTransferFrom: boolean;
readonly asTransferFrom: {
- readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
- readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+ readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
readonly collectionId: u32;
readonly itemId: u32;
readonly value: u128;
@@ -1573,8 +1573,8 @@
readonly type: 'ItemOwner' | 'Admin' | 'None';
}
- /** @name PalletCommonAccountBasicCrossAccountIdRepr (172) */
- export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
+ /** @name PalletEvmAccountBasicCrossAccountIdRepr (172) */
+ export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
readonly isSubstrate: boolean;
readonly asSubstrate: AccountId32;
readonly isEthereum: boolean;
@@ -1616,7 +1616,7 @@
readonly isNft: boolean;
readonly asNft: Vec<UpDataStructsCreateNftExData>;
readonly isFungible: boolean;
- readonly asFungible: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+ readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
readonly isRefungibleMultipleItems: boolean;
readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
readonly isRefungibleMultipleOwners: boolean;
@@ -1628,14 +1628,14 @@
export interface UpDataStructsCreateNftExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
/** @name UpDataStructsCreateRefungibleExData (189) */
export interface UpDataStructsCreateRefungibleExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+ readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
}
/** @name PalletTemplateTransactionPaymentCall (192) */
@@ -2068,7 +2068,7 @@
readonly isCollectionSponsorRemoved: boolean;
readonly asCollectionSponsorRemoved: u32;
readonly isCollectionAdminAdded: boolean;
- readonly asCollectionAdminAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isCollectionOwnedChanged: boolean;
readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;
readonly isCollectionSponsorSet: boolean;
@@ -2078,11 +2078,11 @@
readonly isSponsorshipConfirmed: boolean;
readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;
readonly isCollectionAdminRemoved: boolean;
- readonly asCollectionAdminRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isAllowListAddressRemoved: boolean;
- readonly asAllowListAddressRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isAllowListAddressAdded: boolean;
- readonly asAllowListAddressAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isCollectionLimitSet: boolean;
readonly asCollectionLimitSet: u32;
readonly isMintPermissionSet: boolean;
@@ -2105,13 +2105,13 @@
readonly isCollectionDestroyed: boolean;
readonly asCollectionDestroyed: u32;
readonly isItemCreated: boolean;
- readonly asItemCreated: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isItemDestroyed: boolean;
- readonly asItemDestroyed: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isTransfer: boolean;
- readonly asTransfer: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isApproved: boolean;
- readonly asApproved: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved';
}
@@ -2491,7 +2491,7 @@
export interface PalletNonfungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
/** @name PalletNonfungibleError (306) */
tests/src/interfaces/unique/definitions.tsdiffbeforeafterboth--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -22,7 +22,7 @@
isOptional?: true;
};
-const CROSS_ACCOUNT_ID_TYPE = 'PalletCommonAccountBasicCrossAccountIdRepr';
+const CROSS_ACCOUNT_ID_TYPE = 'PalletEvmAccountBasicCrossAccountIdRepr';
const collectionParam = {name: 'collection', type: 'u32'};
const tokenParam = {name: 'tokenId', type: 'u32'};
@@ -38,8 +38,8 @@
export default {
types,
rpc: {
- adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
- allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
+ adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),
+ allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),
accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<u32>'),
collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<u32>'),
tests/src/interfaces/unique/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -861,15 +861,6 @@
readonly amount: u128;
}
-/** @name PalletCommonAccountBasicCrossAccountIdRepr */
-export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
- readonly isSubstrate: boolean;
- readonly asSubstrate: AccountId32;
- readonly isEthereum: boolean;
- readonly asEthereum: H160;
- readonly type: 'Substrate' | 'Ethereum';
-}
-
/** @name PalletCommonError */
export interface PalletCommonError extends Enum {
readonly isCollectionNotFound: boolean;
@@ -906,13 +897,13 @@
readonly isCollectionDestroyed: boolean;
readonly asCollectionDestroyed: u32;
readonly isItemCreated: boolean;
- readonly asItemCreated: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isItemDestroyed: boolean;
- readonly asItemDestroyed: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isTransfer: boolean;
- readonly asTransfer: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isApproved: boolean;
- readonly asApproved: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+ readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved';
}
@@ -939,6 +930,15 @@
readonly type: 'Executed';
}
+/** @name PalletEvmAccountBasicCrossAccountIdRepr */
+export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
+ readonly isSubstrate: boolean;
+ readonly asSubstrate: AccountId32;
+ readonly isEthereum: boolean;
+ readonly asEthereum: H160;
+ readonly type: 'Substrate' | 'Ethereum';
+}
+
/** @name PalletEvmCall */
export interface PalletEvmCall extends Enum {
readonly isWithdraw: boolean;
@@ -1089,7 +1089,7 @@
export interface PalletNonfungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
/** @name PalletRefungibleError */
@@ -1263,12 +1263,12 @@
readonly isAddToAllowList: boolean;
readonly asAddToAllowList: {
readonly collectionId: u32;
- readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isRemoveFromAllowList: boolean;
readonly asRemoveFromAllowList: {
readonly collectionId: u32;
- readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isSetPublicAccessMode: boolean;
readonly asSetPublicAccessMode: {
@@ -1288,12 +1288,12 @@
readonly isAddCollectionAdmin: boolean;
readonly asAddCollectionAdmin: {
readonly collectionId: u32;
- readonly newAdminId: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isRemoveCollectionAdmin: boolean;
readonly asRemoveCollectionAdmin: {
readonly collectionId: u32;
- readonly accountId: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;
} & Struct;
readonly isSetCollectionSponsor: boolean;
readonly asSetCollectionSponsor: {
@@ -1311,13 +1311,13 @@
readonly isCreateItem: boolean;
readonly asCreateItem: {
readonly collectionId: u32;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
readonly data: UpDataStructsCreateItemData;
} & Struct;
readonly isCreateMultipleItems: boolean;
readonly asCreateMultipleItems: {
readonly collectionId: u32;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
readonly itemsData: Vec<UpDataStructsCreateItemData>;
} & Struct;
readonly isCreateMultipleItemsEx: boolean;
@@ -1339,28 +1339,28 @@
readonly isBurnFrom: boolean;
readonly asBurnFrom: {
readonly collectionId: u32;
- readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
readonly itemId: u32;
readonly value: u128;
} & Struct;
readonly isTransfer: boolean;
readonly asTransfer: {
- readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
readonly collectionId: u32;
readonly itemId: u32;
readonly value: u128;
} & Struct;
readonly isApprove: boolean;
readonly asApprove: {
- readonly spender: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;
readonly collectionId: u32;
readonly itemId: u32;
readonly amount: u128;
} & Struct;
readonly isTransferFrom: boolean;
readonly asTransferFrom: {
- readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
- readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+ readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
readonly collectionId: u32;
readonly itemId: u32;
readonly value: u128;
@@ -1417,7 +1417,7 @@
readonly isCollectionSponsorRemoved: boolean;
readonly asCollectionSponsorRemoved: u32;
readonly isCollectionAdminAdded: boolean;
- readonly asCollectionAdminAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isCollectionOwnedChanged: boolean;
readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;
readonly isCollectionSponsorSet: boolean;
@@ -1427,11 +1427,11 @@
readonly isSponsorshipConfirmed: boolean;
readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;
readonly isCollectionAdminRemoved: boolean;
- readonly asCollectionAdminRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isAllowListAddressRemoved: boolean;
- readonly asAllowListAddressRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isAllowListAddressAdded: boolean;
- readonly asAllowListAddressAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
readonly isCollectionLimitSet: boolean;
readonly asCollectionLimitSet: u32;
readonly isMintPermissionSet: boolean;
@@ -1817,7 +1817,7 @@
readonly isNft: boolean;
readonly asNft: Vec<UpDataStructsCreateNftExData>;
readonly isFungible: boolean;
- readonly asFungible: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr,u128>;
+ readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;
readonly isRefungibleMultipleItems: boolean;
readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
readonly isRefungibleMultipleOwners: boolean;
@@ -1835,7 +1835,7 @@
export interface UpDataStructsCreateNftExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
/** @name UpDataStructsCreateReFungibleData */
@@ -1849,7 +1849,7 @@
export interface UpDataStructsCreateRefungibleExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+ readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
}
/** @name UpDataStructsMetaUpdatePermission */
tests/src/util/helpers.tsdiffbeforeafterboth--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -37,6 +37,7 @@
} | {
Ethereum: string,
};
+
export function normalizeAccountId(input: string | AccountId | CrossAccountId | IKeyringPair): CrossAccountId {
if (typeof input === 'string') {
if (input.length === 48 || input.length === 47) {
@@ -343,15 +344,12 @@
// Run the CreateCollection transaction
const alicePrivateKey = privateKey('//Alice');
const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});
- const events = await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;
- const result = getCreateCollectionResult(events);
+ await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;
// Get number of collections after the transaction
const collectionCountAfter = await getCreatedCollectionCount(api);
// What to expect
- // tslint:disable-next-line:no-unused-expression
- expect(result.success).to.be.false;
expect(collectionCountAfter).to.be.equal(collectionCountBefore, 'Error: Collection with incorrect data created.');
});
}
@@ -763,6 +761,7 @@
type = 'NFT',
) {
await usingApi(async (api: ApiPromise) => {
+ const from = normalizeAccountId(accountFrom);
const to = normalizeAccountId(accountTo);
let balanceBefore = 0n;
if (type === 'Fungible') {
@@ -778,7 +777,11 @@
}
if (type === 'Fungible') {
const balanceAfter = await getBalance(api, collectionId, to, tokenId);
- expect(balanceAfter - balanceBefore).to.be.equal(BigInt(value));
+ if (JSON.stringify(to) !== JSON.stringify(from)) {
+ expect(balanceAfter - balanceBefore).to.be.equal(BigInt(value));
+ } else {
+ expect(balanceAfter).to.be.equal(balanceBefore);
+ }
}
if (type === 'ReFungible') {
expect(await getBalance(api, collectionId, to, tokenId)).to.be.equal(BigInt(value));
@@ -833,6 +836,13 @@
return balance;
}
+export async function transferBalanceTo(api: ApiPromise, source: IKeyringPair, target: string, amount = 1000n * UNIQUE) {
+ const tx = api.tx.balances.transfer(target, amount);
+ const events = await submitTransactionAsync(source, tx);
+ const result = getGenericResult(events);
+ expect(result.success).to.be.true;
+}
+
export async function
scheduleTransferExpectSuccess(
collectionId: number,
@@ -877,6 +887,7 @@
type = 'NFT',
) {
await usingApi(async (api: ApiPromise) => {
+ const from = normalizeAccountId(sender);
const to = normalizeAccountId(recipient);
let balanceBefore = 0n;
@@ -898,7 +909,11 @@
}
if (type === 'Fungible') {
const balanceAfter = await getBalance(api, collectionId, to, tokenId);
- expect(balanceAfter - balanceBefore).to.be.equal(BigInt(value));
+ if (JSON.stringify(to) !== JSON.stringify(from)) {
+ expect(balanceAfter - balanceBefore).to.be.equal(BigInt(value));
+ } else {
+ expect(balanceAfter).to.be.equal(balanceBefore);
+ }
}
if (type === 'ReFungible') {
expect(await getBalance(api, collectionId, to, tokenId) >= value).to.be.true;
tests/yarn.lockdiffbeforeafterboth--- a/tests/yarn.lock
+++ b/tests/yarn.lock
@@ -8299,16 +8299,7 @@
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-simple-get@^2.7.0:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019"
- integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==
- dependencies:
- decompress-response "^3.3.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
-simple-get@^4.0.0:
+simple-get@^2.7.0, simple-get@^4.0.0, simple-get@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==