difftreelog
Merge branch 'develop' into feature/CORE-325
in: master
63 files changed
.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
@@ -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",
]
@@ -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",
@@ -306,9 +306,9 @@
[[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",
@@ -392,7 +392,7 @@
checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
dependencies = [
"futures-core",
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
"instant",
"pin-project-lite 0.2.8",
"rand 0.8.5",
@@ -440,9 +440,9 @@
[[package]]
name = "base64ct"
-version = "1.4.1"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71acf5509fc522cce1b100ac0121c635129bfd4d91cdf036bcc9b9935f97ccf5"
+checksum = "dea908e7347a8c64e378c17e30ef880ad73e3b4498346b055c2c00ea342f3179"
[[package]]
name = "beef"
@@ -990,7 +990,7 @@
dependencies = [
"camino",
"cargo-platform",
- "semver 1.0.6",
+ "semver 1.0.7",
"serde",
"serde_json",
]
@@ -1111,9 +1111,9 @@
[[package]]
name = "clap"
-version = "3.1.6"
+version = "3.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123"
+checksum = "71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c"
dependencies = [
"atty",
"bitflags",
@@ -1128,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",
@@ -1913,9 +1913,9 @@
[[package]]
name = "darling"
-version = "0.13.1"
+version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4"
+checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
dependencies = [
"darling_core",
"darling_macro",
@@ -1923,9 +1923,9 @@
[[package]]
name = "darling_core"
-version = "0.13.1"
+version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324"
+checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
dependencies = [
"fnv",
"ident_case",
@@ -1937,9 +1937,9 @@
[[package]]
name = "darling_macro"
-version = "0.13.1"
+version = "0.13.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b"
+checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
dependencies = [
"darling_core",
"quote",
@@ -2484,7 +2484,7 @@
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"async-trait",
"derive_more",
@@ -2511,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"fp-storage",
"kvdb",
@@ -2527,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"fc-consensus",
"fc-db",
@@ -2545,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2591,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2725,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"parity-scale-codec",
@@ -2739,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"evm",
"impl-trait-for-tuples",
@@ -2751,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2770,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"ethereum",
"frame-support",
@@ -2787,7 +2796,7 @@
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
[[package]]
name = "frame-benchmarking"
@@ -3234,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",
@@ -3308,9 +3317,9 @@
[[package]]
name = "h2"
-version = "0.3.12"
+version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62eeb471aa3e3c9197aa4bfeabfe02982f6dc96f750486c0bb0009ac58b26d2b"
+checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
dependencies = [
"bytes 1.1.0",
"fnv",
@@ -3321,7 +3330,7 @@
"indexmap",
"slab",
"tokio 1.17.0",
- "tokio-util",
+ "tokio-util 0.7.1",
"tracing",
]
@@ -3679,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",
@@ -3906,7 +3915,7 @@
"log",
"tokio 1.17.0",
"tokio-stream",
- "tokio-util",
+ "tokio-util 0.6.9",
"unicase",
]
@@ -3976,7 +3985,7 @@
"thiserror",
"tokio 1.17.0",
"tokio-rustls 0.23.3",
- "tokio-util",
+ "tokio-util 0.6.9",
"tracing",
"webpki-roots 0.22.2",
]
@@ -3997,7 +4006,7 @@
"thiserror",
"tokio 1.17.0",
"tokio-rustls 0.23.3",
- "tokio-util",
+ "tokio-util 0.6.9",
"tracing",
"webpki-roots 0.22.2",
]
@@ -4158,7 +4167,7 @@
"thiserror",
"tokio 1.17.0",
"tokio-rustls 0.22.0",
- "tokio-util",
+ "tokio-util 0.6.9",
]
[[package]]
@@ -4769,7 +4778,7 @@
"libp2p-core",
"libp2p-swarm",
"log",
- "lru 0.7.3",
+ "lru 0.7.5",
"rand 0.7.3",
"smallvec",
"unsigned-varint 0.7.1",
@@ -4999,10 +5008,11 @@
[[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",
]
@@ -5027,9 +5037,9 @@
[[package]]
name = "lru"
-version = "0.7.3"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb87f3080f6d1d69e8c564c0fcfde1d7aa8cc451ce40cae89479111f03bc0eb"
+checksum = "32613e41de4c47ab04970c348ca7ae7382cf116625755af070b008a15516a889"
dependencies = [
"hashbrown 0.11.2",
]
@@ -5576,6 +5586,7 @@
"cumulus-primitives-timestamp",
"cumulus-primitives-utility",
"derivative",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -5632,7 +5643,6 @@
"substrate-wasm-builder",
"unique-runtime-common",
"up-data-structs",
- "up-evm-mapping",
"up-rpc",
"xcm",
"xcm-builder",
@@ -5831,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
dependencies = [
"frame-support",
"frame-system",
@@ -5984,6 +5994,7 @@
version = "0.1.0"
dependencies = [
"evm-coder",
+ "fp-evm-mapping",
"frame-support",
"frame-system",
"pallet-evm",
@@ -5995,7 +6006,6 @@
"sp-runtime",
"sp-std",
"up-data-structs",
- "up-evm-mapping",
]
[[package]]
@@ -6058,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+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",
@@ -6088,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.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+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",
@@ -6136,6 +6148,7 @@
version = "0.1.0"
dependencies = [
"evm-coder",
+ "fp-evm-mapping",
"frame-support",
"frame-system",
"log",
@@ -6171,6 +6184,7 @@
version = "0.1.0"
dependencies = [
"fp-evm",
+ "fp-evm-mapping",
"frame-support",
"frame-system",
"pallet-ethereum",
@@ -6181,7 +6195,6 @@
"sp-io",
"sp-runtime",
"sp-std",
- "up-evm-mapping",
"up-sponsorship",
]
@@ -6195,6 +6208,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"pallet-evm-coder-substrate",
"parity-scale-codec",
"scale-info",
@@ -6421,6 +6435,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"pallet-evm-coder-substrate",
"parity-scale-codec",
"scale-info",
@@ -6537,6 +6552,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"scale-info",
"sp-core",
@@ -6672,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.18#e914a799e5ff1c18383a614ea99e87dd7f3f446e"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#7bc842b35a53f762ee6ee89e5f5bef84a284c9f4"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6795,6 +6811,7 @@
"ethereum",
"evm-coder",
"fp-evm",
+ "fp-evm-mapping",
"frame-benchmarking",
"frame-support",
"frame-system",
@@ -6821,7 +6838,6 @@
"sp-runtime",
"sp-std",
"up-data-structs",
- "up-evm-mapping",
"up-sponsorship",
]
@@ -6925,9 +6941,9 @@
[[package]]
name = "parity-db"
-version = "0.3.9"
+version = "0.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d121a9af17a43efd0a38c6afa508b927ba07785bd4709efb2ac03bf77efef8d"
+checksum = "b3e7f385d61562f5834282b90aa50b41f38a35cf64d5209b8b05487b50553dbe"
dependencies = [
"blake2-rfc",
"crc32fast",
@@ -6998,7 +7014,7 @@
"ethereum-types",
"hashbrown 0.12.0",
"impl-trait-for-tuples",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-util-mem-derive",
"parking_lot 0.12.0",
"primitive-types",
@@ -7074,7 +7090,7 @@
checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.1",
+ "parking_lot_core 0.9.2",
]
[[package]]
@@ -7093,9 +7109,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",
@@ -7106,9 +7122,9 @@
[[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"
@@ -7270,9 +7286,9 @@
[[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"
@@ -7315,7 +7331,7 @@
"derive_more",
"fatality",
"futures 0.3.21",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-node-network-protocol",
@@ -7337,7 +7353,7 @@
dependencies = [
"fatality",
"futures 0.3.21",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-node-network-protocol",
@@ -7446,7 +7462,7 @@
"derive_more",
"fatality",
"futures 0.3.21",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-scale-codec",
"polkadot-erasure-coding",
"polkadot-node-network-protocol",
@@ -7542,7 +7558,7 @@
"futures 0.3.21",
"futures-timer",
"kvdb",
- "lru 0.7.3",
+ "lru 0.7.5",
"merlin",
"parity-scale-codec",
"polkadot-node-jaeger",
@@ -7671,7 +7687,7 @@
"fatality",
"futures 0.3.21",
"kvdb",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-scale-codec",
"polkadot-node-primitives",
"polkadot-node-subsystem",
@@ -7897,7 +7913,7 @@
"futures 0.3.21",
"itertools",
"kvdb",
- "lru 0.7.3",
+ "lru 0.7.5",
"metered-channel",
"parity-db",
"parity-scale-codec",
@@ -7926,7 +7942,7 @@
dependencies = [
"futures 0.3.21",
"futures-timer",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-util-mem",
"parking_lot 0.12.0",
"polkadot-node-metrics",
@@ -8273,7 +8289,7 @@
"kusama-runtime",
"kvdb",
"kvdb-rocksdb",
- "lru 0.7.3",
+ "lru 0.7.5",
"pallet-babe",
"pallet-im-online",
"pallet-mmr-primitives",
@@ -8608,9 +8624,9 @@
[[package]]
name = "proc-macro2"
-version = "1.0.36"
+version = "1.0.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
+checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1"
dependencies = [
"unicode-xid",
]
@@ -8684,9 +8700,9 @@
[[package]]
name = "psm"
-version = "0.1.17"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eca0fa5dd7c4c96e184cec588f0b1db1ee3165e678db21c09793105acb17e6f"
+checksum = "871372391786ccec00d3c5d3d6608905b3d4db263639cfe075d3b60a736d115a"
dependencies = [
"cc",
]
@@ -8704,6 +8720,7 @@
"cumulus-primitives-timestamp",
"cumulus-primitives-utility",
"derivative",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-executive",
@@ -8757,7 +8774,6 @@
"substrate-wasm-builder",
"unique-runtime-common",
"up-data-structs",
- "up-evm-mapping",
"up-rpc",
"xcm",
"xcm-builder",
@@ -8789,9 +8805,9 @@
[[package]]
name = "quote"
-version = "1.0.16"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4af2ec4714533fcdf07e886f17025ace8b997b9ce51204ee69b6da831c3da57"
+checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58"
dependencies = [
"proc-macro2",
]
@@ -8862,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]]
@@ -8926,20 +8942,20 @@
[[package]]
name = "redox_syscall"
-version = "0.2.11"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c"
+checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
dependencies = [
"bitflags",
]
[[package]]
name = "redox_users"
-version = "0.4.2"
+version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7776223e2696f1aa4c6b0170e83212f47296a00424305117d013dfe86fb0fe55"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
"redox_syscall",
"thiserror",
]
@@ -9253,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]]
@@ -9974,7 +9990,7 @@
"linked-hash-map",
"linked_hash_set",
"log",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-scale-codec",
"parking_lot 0.12.0",
"pin-project 1.0.10",
@@ -10012,7 +10028,7 @@
"futures-timer",
"libp2p",
"log",
- "lru 0.7.3",
+ "lru 0.7.5",
"sc-network",
"sp-runtime",
"substrate-prometheus-endpoint",
@@ -10532,9 +10548,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",
]
@@ -10747,9 +10763,9 @@
[[package]]
name = "slab"
-version = "0.4.5"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
+checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
[[package]]
name = "slot-range-helper"
@@ -10940,7 +10956,7 @@
dependencies = [
"futures 0.3.21",
"log",
- "lru 0.7.3",
+ "lru 0.7.5",
"parity-scale-codec",
"parking_lot 0.12.0",
"sp-api",
@@ -11801,9 +11817,9 @@
[[package]]
name = "syn"
-version = "1.0.89"
+version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54"
+checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
dependencies = [
"proc-macro2",
"quote",
@@ -12094,6 +12110,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"
@@ -12133,9 +12163,9 @@
[[package]]
name = "tracing-core"
-version = "0.1.23"
+version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c"
+checksum = "90442985ee2f57c9e1b548ee72ae842f4a9a20e3f417cc38dbc5dc684d9bb4ee"
dependencies = [
"lazy_static",
"valuable",
@@ -12333,6 +12363,7 @@
"jsonrpc-core-client",
"jsonrpc-derive",
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"sp-api",
"sp-blockchain",
@@ -12475,6 +12506,7 @@
"substrate-build-script-utils",
"substrate-frame-rpc-system",
"substrate-prometheus-endpoint",
+ "tokio 1.17.0",
"unique-rpc",
"unique-runtime",
"unique-runtime-common",
@@ -12542,6 +12574,7 @@
"cumulus-primitives-timestamp",
"cumulus-primitives-utility",
"derivative",
+ "fp-evm-mapping",
"fp-rpc",
"fp-self-contained",
"frame-benchmarking",
@@ -12598,7 +12631,6 @@
"substrate-wasm-builder",
"unique-runtime-common",
"up-data-structs",
- "up-evm-mapping",
"up-rpc",
"xcm",
"xcm-builder",
@@ -12613,6 +12645,7 @@
"frame-support",
"frame-system",
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"scale-info",
"sp-consensus-aura",
@@ -12682,18 +12715,11 @@
]
[[package]]
-name = "up-evm-mapping"
-version = "0.1.0"
-dependencies = [
- "frame-support",
- "sp-core",
-]
-
-[[package]]
name = "up-rpc"
version = "0.1.0"
dependencies = [
"pallet-common",
+ "pallet-evm",
"parity-scale-codec",
"sp-api",
"sp-core",
@@ -12705,7 +12731,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#e914a799e5ff1c18383a614ea99e87dd7f3f446e"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#7bc842b35a53f762ee6ee89e5f5bef84a284c9f4"
dependencies = [
"impl-trait-for-tuples",
]
@@ -13313,9 +13339,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",
@@ -13326,33 +13352,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"
client/rpc/Cargo.tomldiffbeforeafterboth--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -18,3 +18,4 @@
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
@@ -19,7 +19,7 @@
use codec::Decode;
use jsonrpc_core::{Error as RpcError, ErrorCode, Result};
use jsonrpc_derive::rpc;
-use up_data_structs::{Collection, CollectionId, CollectionStats, TokenId};
+use up_data_structs::{Collection, CollectionId, CollectionStats, CollectionLimits, TokenId};
use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
use sp_blockchain::HeaderBackend;
use up_rpc::UniqueApi as UniqueRuntimeApi;
@@ -119,6 +119,21 @@
) -> Result<Option<Collection<AccountId>>>;
#[rpc(name = "unique_collectionStats")]
fn collection_stats(&self, at: Option<BlockHash>) -> Result<CollectionStats>;
+
+ #[rpc(name = "unique_nextSponsored")]
+ fn next_sponsored(
+ &self,
+ collection: CollectionId,
+ account: CrossAccountId,
+ token: TokenId,
+ at: Option<BlockHash>,
+ ) -> Result<Option<u64>>;
+ #[rpc(name = "unique_effectiveCollectionLimits")]
+ fn effective_collection_limits(
+ &self,
+ collection_id: CollectionId,
+ at: Option<BlockHash>,
+ ) -> Result<Option<CollectionLimits>>;
}
pub struct Unique<C, P> {
@@ -201,7 +216,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);
@@ -222,4 +237,6 @@
pass_method!(last_token_id(collection: CollectionId) -> TokenId);
pass_method!(collection_by_id(collection: CollectionId) -> Option<Collection<AccountId>>);
pass_method!(collection_stats() -> CollectionStats);
+ pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option<u64>);
+ pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option<CollectionLimits>);
}
node/cli/Cargo.tomldiffbeforeafterboth--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -302,13 +302,13 @@
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.18" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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" }
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -212,6 +212,16 @@
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
)
node/rpc/Cargo.tomldiffbeforeafterboth--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -41,12 +41,12 @@
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.18" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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
@@ -16,11 +16,11 @@
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' }
-up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }
+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.18" }
+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 = "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,
@@ -33,12 +33,11 @@
TokenId, Weight, WithdrawReasons, CollectionStats, MAX_TOKEN_OWNERSHIP, CollectionMode,
NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits,
- CustomDataLimit, CreateCollectionData, SponsorshipState, CreateItemExData,
+ CustomDataLimit, CreateCollectionData, SponsorshipState, CreateItemExData, SponsoringRateLimit,
};
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,20 +162,17 @@
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>;
#[pallet::constant]
@@ -421,6 +417,39 @@
alive: created.0 - destroyed.0,
}
}
+
+ pub fn effective_collection_limits(collection: CollectionId) -> Option<CollectionLimits> {
+ let collection = <CollectionById<T>>::get(collection);
+ if collection.is_none() {
+ return None;
+ }
+
+ let collection = collection.unwrap();
+ let limits = collection.limits;
+ let effective_limits = CollectionLimits {
+ account_token_ownership_limit: Some(limits.account_token_ownership_limit()),
+ sponsored_data_size: Some(limits.sponsored_data_size()),
+ sponsored_data_rate_limit: Some(
+ limits
+ .sponsored_data_rate_limit
+ .unwrap_or(SponsoringRateLimit::SponsoringDisabled),
+ ),
+ token_limit: Some(limits.token_limit()),
+ sponsor_transfer_timeout: Some(limits.sponsor_transfer_timeout(
+ match collection.mode {
+ CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,
+ CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+ CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+ },
+ )),
+ sponsor_approve_timeout: Some(limits.sponsor_approve_timeout()),
+ owner_can_transfer: Some(limits.owner_can_transfer()),
+ owner_can_destroy: Some(limits.owner_can_destroy()),
+ transfers_enabled: Some(limits.transfers_enabled()),
+ };
+
+ Some(effective_limits)
+ }
}
impl<T: Config> Pallet<T> {
pallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -12,8 +12,8 @@
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.18" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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' }
pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -15,7 +15,8 @@
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.18" }
+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"
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
@@ -15,8 +15,8 @@
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" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-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
pallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -14,11 +14,11 @@
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" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-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' }
-up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
+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
@@ -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
@@ -22,6 +22,7 @@
pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
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/nonfungible/Cargo.tomldiffbeforeafterboth--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -16,6 +16,7 @@
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' }
@@ -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
@@ -26,9 +26,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
@@ -16,6 +16,7 @@
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.18' }
@@ -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/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',
@@ -132,16 +132,16 @@
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.18' }
-up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
+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.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.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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,26 +24,24 @@
use up_sponsorship::SponsorshipHandler;
use core::marker::PhantomData;
use core::convert::TryInto;
-use up_data_structs::{TokenId, CreateItemData, CreateNftData};
-use up_evm_mapping::EvmBackwardsAddressMapping;
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
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 {
@@ -83,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, .. }) => {
@@ -99,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};
@@ -69,7 +67,7 @@
mod eth;
mod sponsorship;
-pub use sponsorship::UniqueSponsorshipHandler;
+pub use sponsorship::{UniqueSponsorshipHandler, UniqueSponsorshipPredict};
pub use eth::sponsoring::UniqueEthSponsorshipHandler;
pub use eth::UniqueErcSupport;
@@ -84,6 +82,12 @@
pub mod weights;
use weights::WeightInfo;
+pub trait SponsorshipPredict<T: Config> {
+ fn predict(collection: CollectionId, account: T::CrossAccountId, token: TokenId) -> Option<u64>
+ where
+ u64: From<<T as frame_system::Config>::BlockNumber>;
+}
+
decl_error! {
/// Error for non-fungible-token module.
pub enum Error for Module<T: Config> {
@@ -116,7 +120,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
@@ -29,8 +29,9 @@
CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MetaUpdatePermission,
NFT_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId,
};
+use sp_runtime::traits::Saturating;
use pallet_common::{CollectionHandle};
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
pub fn withdraw_transfer<T: Config>(
collection: &CollectionHandle<T>,
@@ -301,3 +302,65 @@
}
}
}
+
+use crate::SponsorshipPredict;
+use up_data_structs::SponsorshipState;
+pub struct UniqueSponsorshipPredict<T>(PhantomData<T>);
+
+impl<T> SponsorshipPredict<T> for UniqueSponsorshipPredict<T>
+where
+ T: Config,
+{
+ fn predict(collection_id: CollectionId, who: T::CrossAccountId, token: TokenId) -> Option<u64>
+ where
+ u64: From<<T as frame_system::Config>::BlockNumber>,
+ {
+ let collection = <CollectionHandle<T>>::try_get(collection_id).ok()?;
+ let _ = collection.sponsorship.sponsor()?;
+
+ // sponsor timeout
+ let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+ let limit = collection
+ .limits
+ .sponsor_transfer_timeout(match collection.mode {
+ CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,
+ CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+ CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+ });
+
+ let last_tx_block = match collection.mode {
+ CollectionMode::NFT => <NftTransferBasket<T>>::get(collection.id, token),
+ CollectionMode::Fungible(_) => {
+ <FungibleTransferBasket<T>>::get(collection.id, who.as_sub())
+ }
+ CollectionMode::ReFungible => {
+ <ReFungibleTransferBasket<T>>::get((collection.id, token, who.as_sub()))
+ }
+ };
+
+ if let Some(last_tx_block) = last_tx_block {
+ return Some(
+ last_tx_block
+ .saturating_add(limit.into())
+ .saturating_sub(block_number)
+ .into(),
+ );
+ }
+
+ let token_exists = match collection.mode {
+ CollectionMode::NFT => {
+ <pallet_nonfungible::TokenData<T>>::contains_key((collection.id, token))
+ }
+ CollectionMode::Fungible(_) => true,
+ CollectionMode::ReFungible => {
+ <pallet_refungible::TotalSupply<T>>::contains_key((collection.id, token))
+ }
+ };
+
+ if token_exists {
+ Some(0)
+ } else {
+ None
+ }
+ }
+}
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/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.18' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-
-[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
@@ -14,6 +14,7 @@
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
@@ -16,7 +16,7 @@
#![cfg_attr(not(feature = "std"), no_std)]
-use up_data_structs::{CollectionId, TokenId, Collection, CollectionStats};
+use up_data_structs::{CollectionId, TokenId, Collection, CollectionStats, CollectionLimits};
use sp_std::vec::Vec;
use sp_core::H160;
use codec::Decode;
@@ -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>;
@@ -59,5 +59,7 @@
fn last_token_id(collection: CollectionId) -> Result<TokenId>;
fn collection_by_id(collection: CollectionId) -> Result<Option<Collection<AccountId>>>;
fn collection_stats() -> Result<CollectionStats>;
+ fn next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<Option<u64>>;
+ fn effective_collection_limits(collection_id: CollectionId) -> Result<Option<CollectionLimits>>;
}
}
runtime/common/Cargo.tomldiffbeforeafterboth--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -69,4 +69,7 @@
[dependencies.fp-rpc]
default-features = false
git = "https://github.com/uniquenetwork/frontier.git"
-branch = "unique-polkadot-v0.9.18"
+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
@@ -69,6 +69,17 @@
fn collection_stats() -> Result<CollectionStats, DispatchError> {
Ok(<pallet_common::Pallet<Runtime>>::collection_stats())
}
+ fn next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<Option<u64>, DispatchError> {
+ Ok(<pallet_unique::UniqueSponsorshipPredict<Runtime> as
+ pallet_unique::SponsorshipPredict<Runtime>>::predict(
+ collection,
+ account,
+ token))
+ }
+
+ fn effective_collection_limits(collection: CollectionId) -> Result<Option<CollectionLimits>, DispatchError> {
+ Ok(<pallet_common::Pallet<Runtime>>::effective_collection_limits(collection))
+ }
}
impl sp_api::Core<Block> for Runtime {
@@ -181,7 +192,7 @@
};
<Runtime as pallet_evm::Config>::Runner::call(
- from,
+ CrossAccountId::from_eth(from),
to,
data,
value,
@@ -215,7 +226,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
@@ -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',
@@ -382,7 +382,7 @@
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" }
@@ -396,11 +396,11 @@
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.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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
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,
@@ -117,11 +119,10 @@
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 {
@@ -129,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
@@ -152,7 +169,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 918001,
+ spec_version: 918010,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
@@ -258,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;
@@ -845,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;
@@ -912,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
@@ -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',
@@ -382,7 +382,7 @@
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" }
@@ -396,11 +396,11 @@
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.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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
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,
@@ -117,7 +119,7 @@
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;
@@ -152,7 +154,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 918001,
+ spec_version: 918010,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
@@ -845,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>;
}
@@ -912,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
@@ -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',
@@ -382,7 +382,6 @@
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" }
@@ -396,11 +395,12 @@
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.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+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
runtime/unique/src/lib.rsdiffbeforeafterboth--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/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,
@@ -116,7 +118,7 @@
pub const RUNTIME_NAME: &str = "unique";
pub const TOKEN_SYMBOL: &str = "UNQ";
-type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;
+type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
impl RuntimeInstance for Runtime {
type CrossAccountId = self::CrossAccountId;
@@ -151,7 +153,7 @@
spec_name: create_runtime_str!(RUNTIME_NAME),
impl_name: create_runtime_str!(RUNTIME_NAME),
authoring_version: 1,
- spec_version: 918001,
+ spec_version: 918010,
impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
@@ -844,15 +846,17 @@
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>;
}
@@ -911,8 +915,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 {
tests/README.mddiffbeforeafterboth--- a/tests/README.md
+++ b/tests/README.md
@@ -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
@@ -67,6 +67,7 @@
"testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
"testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",
"testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",
+ "testLimits": "mocha --timeout 9999999 -r ts-node/register ./**/limits.test.ts",
"polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > src/interfaces/metadata.json",
"polkadot-types-from-defs": "echo 'export default {}' > src/interfaces/lookup.ts && ts-node ./node_modules/.bin/polkadot-types-from-defs --endpoint src/interfaces/metadata.json --input src/interfaces/ --package .",
"polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",
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/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-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -105,6 +105,10 @@
**/
NoPermission: AugmentedError<ApiType>;
/**
+ * Not sufficient founds to perform action
+ **/
+ NotSufficientFounds: AugmentedError<ApiType>;
+ /**
* Tried to enable permissions which are only permitted to be disabled
**/
OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
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, SpTrieStorageProof, 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]>;
@@ -312,6 +312,15 @@
**/
processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
/**
+ * The state proof for the last relay parent block.
+ *
+ * This field is meant to be updated each block with the validation data inherent. Therefore,
+ * before processing of the inherent, e.g. in `on_initialize` this data may be stale.
+ *
+ * This data is also absent from the genesis.
+ **/
+ relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
* The snapshot of some state related to messaging relevant to the current parachain as per
* the relay parent.
*
@@ -371,13 +380,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, UpDataStructsCollectionStats } from './unique';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionLimits, 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
**/
@@ -604,6 +604,10 @@
**/
constMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
/**
+ * Get effective collection limits
+ **/
+ effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;
+ /**
* Get last token id
**/
lastTokenId: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
@@ -614,11 +618,15 @@
/**
* 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
**/
variableMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
+ /**
+ * nextSponsored transaction
+ **/
+ nextSponsored: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: AccountId | string | Uint8Array | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
};
web3: {
/**
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,9 +1,9 @@
// 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, 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, UniqueRuntimeRuntime, 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 { BTreeSet, 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';
import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';
import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';
@@ -18,7 +18,7 @@
import type { StatementKind } from '@polkadot/types/interfaces/claims';
import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective';
import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus';
-import type { AliveContractInfo, CodeHash, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateReturnValue, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
+import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';
import type { ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';
@@ -175,6 +175,7 @@
BridgedBlockNumber: BridgedBlockNumber;
BridgedHeader: BridgedHeader;
BridgeMessageId: BridgeMessageId;
+ BTreeSet: BTreeSet;
BufferedSessionChange: BufferedSessionChange;
Bytes: Bytes;
Call: Call;
@@ -198,6 +199,7 @@
ClassMetadata: ClassMetadata;
CodecHash: CodecHash;
CodeHash: CodeHash;
+ CodeSource: CodeSource;
CodeUploadRequest: CodeUploadRequest;
CodeUploadResult: CodeUploadResult;
CodeUploadResultValue: CodeUploadResultValue;
@@ -250,6 +252,7 @@
ContractInfo: ContractInfo;
ContractInstantiateResult: ContractInstantiateResult;
ContractInstantiateResultTo267: ContractInstantiateResultTo267;
+ ContractInstantiateResultTo299: ContractInstantiateResultTo299;
ContractLayoutArray: ContractLayoutArray;
ContractLayoutCell: ContractLayoutCell;
ContractLayoutEnum: ContractLayoutEnum;
@@ -591,7 +594,10 @@
InstanceId: InstanceId;
InstanceMetadata: InstanceMetadata;
InstantiateRequest: InstantiateRequest;
+ InstantiateRequestV1: InstantiateRequestV1;
+ InstantiateRequestV2: InstantiateRequestV2;
InstantiateReturnValue: InstantiateReturnValue;
+ InstantiateReturnValueOk: InstantiateReturnValueOk;
InstantiateReturnValueTo267: InstantiateReturnValueTo267;
InstructionV2: InstructionV2;
InstructionWeights: InstructionWeights;
@@ -707,6 +713,7 @@
OffchainAccuracyCompact: OffchainAccuracyCompact;
OffenceDetails: OffenceDetails;
Offender: Offender;
+ OpalRuntimeRuntime: OpalRuntimeRuntime;
OpaqueCall: OpaqueCall;
OpaqueMultiaddr: OpaqueMultiaddr;
OpaqueNetworkState: OpaqueNetworkState;
@@ -746,7 +753,6 @@
PalletBalancesReserveData: PalletBalancesReserveData;
PalletCallMetadataLatest: PalletCallMetadataLatest;
PalletCallMetadataV14: PalletCallMetadataV14;
- PalletCommonAccountBasicCrossAccountIdRepr: PalletCommonAccountBasicCrossAccountIdRepr;
PalletCommonError: PalletCommonError;
PalletCommonEvent: PalletCommonEvent;
PalletConstantMetadataLatest: PalletConstantMetadataLatest;
@@ -758,6 +764,7 @@
PalletEthereumEvent: PalletEthereumEvent;
PalletEventMetadataLatest: PalletEventMetadataLatest;
PalletEventMetadataV14: PalletEventMetadataV14;
+ PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
PalletEvmCall: PalletEvmCall;
PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
PalletEvmContractHelpersError: PalletEvmContractHelpersError;
@@ -1146,7 +1153,6 @@
UnappliedSlash: UnappliedSlash;
UnappliedSlashOther: UnappliedSlashOther;
UncleEntryItem: UncleEntryItem;
- UniqueRuntimeRuntime: UniqueRuntimeRuntime;
UnknownTransaction: UnknownTransaction;
UnlockChunk: UnlockChunk;
UnrewardedRelayer: UnrewardedRelayer;
tests/src/interfaces/lookup.tsdiffbeforeafterboth1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7 /**8 * Lookup2: polkadot_primitives::v1::PersistedValidationData<primitive_types::H256, N>9 **/10 PolkadotPrimitivesV1PersistedValidationData: {11 parentHead: 'Bytes',12 relayParentNumber: 'u32',13 relayParentStorageRoot: 'H256',14 maxPovSize: 'u32'15 },16 /**17 * Lookup9: polkadot_primitives::v1::UpgradeRestriction18 **/19 PolkadotPrimitivesV1UpgradeRestriction: {20 _enum: ['Present']21 },22 /**23 * Lookup10: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot24 **/25 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {26 dmqMqcHead: 'H256',27 relayDispatchQueueSize: '(u32,u32)',28 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>',29 egressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>'30 },31 /**32 * Lookup15: polkadot_primitives::v1::AbridgedHrmpChannel33 **/34 PolkadotPrimitivesV1AbridgedHrmpChannel: {35 maxCapacity: 'u32',36 maxTotalSize: 'u32',37 maxMessageSize: 'u32',38 msgCount: 'u32',39 totalSize: 'u32',40 mqcHead: 'Option<H256>'41 },42 /**43 * Lookup17: polkadot_primitives::v1::AbridgedHostConfiguration44 **/45 PolkadotPrimitivesV1AbridgedHostConfiguration: {46 maxCodeSize: 'u32',47 maxHeadDataSize: 'u32',48 maxUpwardQueueCount: 'u32',49 maxUpwardQueueSize: 'u32',50 maxUpwardMessageSize: 'u32',51 maxUpwardMessageNumPerCandidate: 'u32',52 hrmpMaxMessageNumPerCandidate: 'u32',53 validationUpgradeCooldown: 'u32',54 validationUpgradeDelay: 'u32'55 },56 /**57 * Lookup23: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>58 **/59 PolkadotCorePrimitivesOutboundHrmpMessage: {60 recipient: 'u32',61 data: 'Bytes'62 },63 /**64 * Lookup26: cumulus_pallet_parachain_system::pallet::Call<T>65 **/66 CumulusPalletParachainSystemCall: {67 _enum: {68 set_validation_data: {69 data: 'CumulusPrimitivesParachainInherentParachainInherentData',70 },71 sudo_send_upward_message: {72 message: 'Bytes',73 },74 authorize_upgrade: {75 codeHash: 'H256',76 },77 enact_authorized_upgrade: {78 code: 'Bytes'79 }80 }81 },82 /**83 * Lookup27: cumulus_primitives_parachain_inherent::ParachainInherentData84 **/85 CumulusPrimitivesParachainInherentParachainInherentData: {86 validationData: 'PolkadotPrimitivesV1PersistedValidationData',87 relayChainState: 'SpTrieStorageProof',88 downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',89 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'90 },91 /**92 * Lookup28: sp_trie::storage_proof::StorageProof93 **/94 SpTrieStorageProof: {95 trieNodes: 'Vec<Bytes>'96 },97 /**98 * Lookup30: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>99 **/100 PolkadotCorePrimitivesInboundDownwardMessage: {101 sentAt: 'u32',102 msg: 'Bytes'103 },104 /**105 * Lookup33: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>106 **/107 PolkadotCorePrimitivesInboundHrmpMessage: {108 sentAt: 'u32',109 data: 'Bytes'110 },111 /**112 * Lookup36: cumulus_pallet_parachain_system::pallet::Event<T>113 **/114 CumulusPalletParachainSystemEvent: {115 _enum: {116 ValidationFunctionStored: 'Null',117 ValidationFunctionApplied: 'u32',118 ValidationFunctionDiscarded: 'Null',119 UpgradeAuthorized: 'H256',120 DownwardMessagesReceived: 'u32',121 DownwardMessagesProcessed: '(u64,H256)'122 }123 },124 /**125 * Lookup37: cumulus_pallet_parachain_system::pallet::Error<T>126 **/127 CumulusPalletParachainSystemError: {128 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']129 },130 /**131 * Lookup40: pallet_balances::AccountData<Balance>132 **/133 PalletBalancesAccountData: {134 free: 'u128',135 reserved: 'u128',136 miscFrozen: 'u128',137 feeFrozen: 'u128'138 },139 /**140 * Lookup42: pallet_balances::BalanceLock<Balance>141 **/142 PalletBalancesBalanceLock: {143 id: '[u8;8]',144 amount: 'u128',145 reasons: 'PalletBalancesReasons'146 },147 /**148 * Lookup44: pallet_balances::Reasons149 **/150 PalletBalancesReasons: {151 _enum: ['Fee', 'Misc', 'All']152 },153 /**154 * Lookup47: pallet_balances::ReserveData<ReserveIdentifier, Balance>155 **/156 PalletBalancesReserveData: {157 id: '[u8;8]',158 amount: 'u128'159 },160 /**161 * Lookup49: pallet_balances::Releases162 **/163 PalletBalancesReleases: {164 _enum: ['V1_0_0', 'V2_0_0']165 },166 /**167 * Lookup50: pallet_balances::pallet::Call<T, I>168 **/169 PalletBalancesCall: {170 _enum: {171 transfer: {172 dest: 'MultiAddress',173 value: 'Compact<u128>',174 },175 set_balance: {176 who: 'MultiAddress',177 newFree: 'Compact<u128>',178 newReserved: 'Compact<u128>',179 },180 force_transfer: {181 source: 'MultiAddress',182 dest: 'MultiAddress',183 value: 'Compact<u128>',184 },185 transfer_keep_alive: {186 dest: 'MultiAddress',187 value: 'Compact<u128>',188 },189 transfer_all: {190 dest: 'MultiAddress',191 keepAlive: 'bool',192 },193 force_unreserve: {194 who: 'MultiAddress',195 amount: 'u128'196 }197 }198 },199 /**200 * Lookup56: pallet_balances::pallet::Event<T, I>201 **/202 PalletBalancesEvent: {203 _enum: {204 Endowed: {205 account: 'AccountId32',206 freeBalance: 'u128',207 },208 DustLost: {209 account: 'AccountId32',210 amount: 'u128',211 },212 Transfer: {213 from: 'AccountId32',214 to: 'AccountId32',215 amount: 'u128',216 },217 BalanceSet: {218 who: 'AccountId32',219 free: 'u128',220 reserved: 'u128',221 },222 Reserved: {223 who: 'AccountId32',224 amount: 'u128',225 },226 Unreserved: {227 who: 'AccountId32',228 amount: 'u128',229 },230 ReserveRepatriated: {231 from: 'AccountId32',232 to: 'AccountId32',233 amount: 'u128',234 destinationStatus: 'FrameSupportTokensMiscBalanceStatus',235 },236 Deposit: {237 who: 'AccountId32',238 amount: 'u128',239 },240 Withdraw: {241 who: 'AccountId32',242 amount: 'u128',243 },244 Slashed: {245 who: 'AccountId32',246 amount: 'u128'247 }248 }249 },250 /**251 * Lookup57: frame_support::traits::tokens::misc::BalanceStatus252 **/253 FrameSupportTokensMiscBalanceStatus: {254 _enum: ['Free', 'Reserved']255 },256 /**257 * Lookup58: pallet_balances::pallet::Error<T, I>258 **/259 PalletBalancesError: {260 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']261 },262 /**263 * Lookup61: pallet_timestamp::pallet::Call<T>264 **/265 PalletTimestampCall: {266 _enum: {267 set: {268 now: 'Compact<u64>'269 }270 }271 },272 /**273 * Lookup64: pallet_transaction_payment::Releases274 **/275 PalletTransactionPaymentReleases: {276 _enum: ['V1Ancient', 'V2']277 },278 /**279 * Lookup66: frame_support::weights::WeightToFeeCoefficient<Balance>280 **/281 FrameSupportWeightsWeightToFeeCoefficient: {282 coeffInteger: 'u128',283 coeffFrac: 'Perbill',284 negative: 'bool',285 degree: 'u8'286 },287 /**288 * Lookup68: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>289 **/290 PalletTreasuryProposal: {291 proposer: 'AccountId32',292 value: 'u128',293 beneficiary: 'AccountId32',294 bond: 'u128'295 },296 /**297 * Lookup71: pallet_treasury::pallet::Call<T, I>298 **/299 PalletTreasuryCall: {300 _enum: {301 propose_spend: {302 value: 'Compact<u128>',303 beneficiary: 'MultiAddress',304 },305 reject_proposal: {306 proposalId: 'Compact<u32>',307 },308 approve_proposal: {309 proposalId: 'Compact<u32>'310 }311 }312 },313 /**314 * Lookup73: pallet_treasury::pallet::Event<T, I>315 **/316 PalletTreasuryEvent: {317 _enum: {318 Proposed: {319 proposalIndex: 'u32',320 },321 Spending: {322 budgetRemaining: 'u128',323 },324 Awarded: {325 proposalIndex: 'u32',326 award: 'u128',327 account: 'AccountId32',328 },329 Rejected: {330 proposalIndex: 'u32',331 slashed: 'u128',332 },333 Burnt: {334 burntFunds: 'u128',335 },336 Rollover: {337 rolloverBalance: 'u128',338 },339 Deposit: {340 value: 'u128'341 }342 }343 },344 /**345 * Lookup76: frame_support::PalletId346 **/347 FrameSupportPalletId: '[u8;8]',348 /**349 * Lookup77: pallet_treasury::pallet::Error<T, I>350 **/351 PalletTreasuryError: {352 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']353 },354 /**355 * Lookup78: pallet_sudo::pallet::Call<T>356 **/357 PalletSudoCall: {358 _enum: {359 sudo: {360 call: 'Call',361 },362 sudo_unchecked_weight: {363 call: 'Call',364 weight: 'u64',365 },366 set_key: {367 _alias: {368 new_: 'new',369 },370 new_: 'MultiAddress',371 },372 sudo_as: {373 who: 'MultiAddress',374 call: 'Call'375 }376 }377 },378 /**379 * Lookup80: frame_system::pallet::Call<T>380 **/381 FrameSystemCall: {382 _enum: {383 fill_block: {384 ratio: 'Perbill',385 },386 remark: {387 remark: 'Bytes',388 },389 set_heap_pages: {390 pages: 'u64',391 },392 set_code: {393 code: 'Bytes',394 },395 set_code_without_checks: {396 code: 'Bytes',397 },398 set_storage: {399 items: 'Vec<(Bytes,Bytes)>',400 },401 kill_storage: {402 _alias: {403 keys_: 'keys',404 },405 keys_: 'Vec<Bytes>',406 },407 kill_prefix: {408 prefix: 'Bytes',409 subkeys: 'u32',410 },411 remark_with_event: {412 remark: 'Bytes'413 }414 }415 },416 /**417 * Lookup83: orml_vesting::module::Call<T>418 **/419 OrmlVestingModuleCall: {420 _enum: {421 claim: 'Null',422 vested_transfer: {423 dest: 'MultiAddress',424 schedule: 'OrmlVestingVestingSchedule',425 },426 update_vesting_schedules: {427 who: 'MultiAddress',428 vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',429 },430 claim_for: {431 dest: 'MultiAddress'432 }433 }434 },435 /**436 * Lookup84: orml_vesting::VestingSchedule<BlockNumber, Balance>437 **/438 OrmlVestingVestingSchedule: {439 start: 'u32',440 period: 'u32',441 periodCount: 'u32',442 perPeriod: 'Compact<u128>'443 },444 /**445 * Lookup86: cumulus_pallet_xcmp_queue::pallet::Call<T>446 **/447 CumulusPalletXcmpQueueCall: {448 _enum: {449 service_overweight: {450 index: 'u64',451 weightLimit: 'u64',452 },453 suspend_xcm_execution: 'Null',454 resume_xcm_execution: 'Null',455 update_suspend_threshold: {456 _alias: {457 new_: 'new',458 },459 new_: 'u32',460 },461 update_drop_threshold: {462 _alias: {463 new_: 'new',464 },465 new_: 'u32',466 },467 update_resume_threshold: {468 _alias: {469 new_: 'new',470 },471 new_: 'u32',472 },473 update_threshold_weight: {474 _alias: {475 new_: 'new',476 },477 new_: 'u64',478 },479 update_weight_restrict_decay: {480 _alias: {481 new_: 'new',482 },483 new_: 'u64',484 },485 update_xcmp_max_individual_weight: {486 _alias: {487 new_: 'new',488 },489 new_: 'u64'490 }491 }492 },493 /**494 * Lookup87: pallet_xcm::pallet::Call<T>495 **/496 PalletXcmCall: {497 _enum: {498 send: {499 dest: 'XcmVersionedMultiLocation',500 message: 'XcmVersionedXcm',501 },502 teleport_assets: {503 dest: 'XcmVersionedMultiLocation',504 beneficiary: 'XcmVersionedMultiLocation',505 assets: 'XcmVersionedMultiAssets',506 feeAssetItem: 'u32',507 },508 reserve_transfer_assets: {509 dest: 'XcmVersionedMultiLocation',510 beneficiary: 'XcmVersionedMultiLocation',511 assets: 'XcmVersionedMultiAssets',512 feeAssetItem: 'u32',513 },514 execute: {515 message: 'XcmVersionedXcm',516 maxWeight: 'u64',517 },518 force_xcm_version: {519 location: 'XcmV1MultiLocation',520 xcmVersion: 'u32',521 },522 force_default_xcm_version: {523 maybeXcmVersion: 'Option<u32>',524 },525 force_subscribe_version_notify: {526 location: 'XcmVersionedMultiLocation',527 },528 force_unsubscribe_version_notify: {529 location: 'XcmVersionedMultiLocation',530 },531 limited_reserve_transfer_assets: {532 dest: 'XcmVersionedMultiLocation',533 beneficiary: 'XcmVersionedMultiLocation',534 assets: 'XcmVersionedMultiAssets',535 feeAssetItem: 'u32',536 weightLimit: 'XcmV2WeightLimit',537 },538 limited_teleport_assets: {539 dest: 'XcmVersionedMultiLocation',540 beneficiary: 'XcmVersionedMultiLocation',541 assets: 'XcmVersionedMultiAssets',542 feeAssetItem: 'u32',543 weightLimit: 'XcmV2WeightLimit'544 }545 }546 },547 /**548 * Lookup88: xcm::VersionedMultiLocation549 **/550 XcmVersionedMultiLocation: {551 _enum: {552 V0: 'XcmV0MultiLocation',553 V1: 'XcmV1MultiLocation'554 }555 },556 /**557 * Lookup89: xcm::v0::multi_location::MultiLocation558 **/559 XcmV0MultiLocation: {560 _enum: {561 Null: 'Null',562 X1: 'XcmV0Junction',563 X2: '(XcmV0Junction,XcmV0Junction)',564 X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',565 X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',566 X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',567 X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',568 X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569 X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'570 }571 },572 /**573 * Lookup90: xcm::v0::junction::Junction574 **/575 XcmV0Junction: {576 _enum: {577 Parent: 'Null',578 Parachain: 'Compact<u32>',579 AccountId32: {580 network: 'XcmV0JunctionNetworkId',581 id: '[u8;32]',582 },583 AccountIndex64: {584 network: 'XcmV0JunctionNetworkId',585 index: 'Compact<u64>',586 },587 AccountKey20: {588 network: 'XcmV0JunctionNetworkId',589 key: '[u8;20]',590 },591 PalletInstance: 'u8',592 GeneralIndex: 'Compact<u128>',593 GeneralKey: 'Bytes',594 OnlyChild: 'Null',595 Plurality: {596 id: 'XcmV0JunctionBodyId',597 part: 'XcmV0JunctionBodyPart'598 }599 }600 },601 /**602 * Lookup91: xcm::v0::junction::NetworkId603 **/604 XcmV0JunctionNetworkId: {605 _enum: {606 Any: 'Null',607 Named: 'Bytes',608 Polkadot: 'Null',609 Kusama: 'Null'610 }611 },612 /**613 * Lookup92: xcm::v0::junction::BodyId614 **/615 XcmV0JunctionBodyId: {616 _enum: {617 Unit: 'Null',618 Named: 'Bytes',619 Index: 'Compact<u32>',620 Executive: 'Null',621 Technical: 'Null',622 Legislative: 'Null',623 Judicial: 'Null'624 }625 },626 /**627 * Lookup93: xcm::v0::junction::BodyPart628 **/629 XcmV0JunctionBodyPart: {630 _enum: {631 Voice: 'Null',632 Members: {633 count: 'Compact<u32>',634 },635 Fraction: {636 nom: 'Compact<u32>',637 denom: 'Compact<u32>',638 },639 AtLeastProportion: {640 nom: 'Compact<u32>',641 denom: 'Compact<u32>',642 },643 MoreThanProportion: {644 nom: 'Compact<u32>',645 denom: 'Compact<u32>'646 }647 }648 },649 /**650 * Lookup94: xcm::v1::multilocation::MultiLocation651 **/652 XcmV1MultiLocation: {653 parents: 'u8',654 interior: 'XcmV1MultilocationJunctions'655 },656 /**657 * Lookup95: xcm::v1::multilocation::Junctions658 **/659 XcmV1MultilocationJunctions: {660 _enum: {661 Here: 'Null',662 X1: 'XcmV1Junction',663 X2: '(XcmV1Junction,XcmV1Junction)',664 X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',665 X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',666 X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',667 X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',668 X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669 X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'670 }671 },672 /**673 * Lookup96: xcm::v1::junction::Junction674 **/675 XcmV1Junction: {676 _enum: {677 Parachain: 'Compact<u32>',678 AccountId32: {679 network: 'XcmV0JunctionNetworkId',680 id: '[u8;32]',681 },682 AccountIndex64: {683 network: 'XcmV0JunctionNetworkId',684 index: 'Compact<u64>',685 },686 AccountKey20: {687 network: 'XcmV0JunctionNetworkId',688 key: '[u8;20]',689 },690 PalletInstance: 'u8',691 GeneralIndex: 'Compact<u128>',692 GeneralKey: 'Bytes',693 OnlyChild: 'Null',694 Plurality: {695 id: 'XcmV0JunctionBodyId',696 part: 'XcmV0JunctionBodyPart'697 }698 }699 },700 /**701 * Lookup97: xcm::VersionedXcm<Call>702 **/703 XcmVersionedXcm: {704 _enum: {705 V0: 'XcmV0Xcm',706 V1: 'XcmV1Xcm',707 V2: 'XcmV2Xcm'708 }709 },710 /**711 * Lookup98: xcm::v0::Xcm<Call>712 **/713 XcmV0Xcm: {714 _enum: {715 WithdrawAsset: {716 assets: 'Vec<XcmV0MultiAsset>',717 effects: 'Vec<XcmV0Order>',718 },719 ReserveAssetDeposit: {720 assets: 'Vec<XcmV0MultiAsset>',721 effects: 'Vec<XcmV0Order>',722 },723 TeleportAsset: {724 assets: 'Vec<XcmV0MultiAsset>',725 effects: 'Vec<XcmV0Order>',726 },727 QueryResponse: {728 queryId: 'Compact<u64>',729 response: 'XcmV0Response',730 },731 TransferAsset: {732 assets: 'Vec<XcmV0MultiAsset>',733 dest: 'XcmV0MultiLocation',734 },735 TransferReserveAsset: {736 assets: 'Vec<XcmV0MultiAsset>',737 dest: 'XcmV0MultiLocation',738 effects: 'Vec<XcmV0Order>',739 },740 Transact: {741 originType: 'XcmV0OriginKind',742 requireWeightAtMost: 'u64',743 call: 'XcmDoubleEncoded',744 },745 HrmpNewChannelOpenRequest: {746 sender: 'Compact<u32>',747 maxMessageSize: 'Compact<u32>',748 maxCapacity: 'Compact<u32>',749 },750 HrmpChannelAccepted: {751 recipient: 'Compact<u32>',752 },753 HrmpChannelClosing: {754 initiator: 'Compact<u32>',755 sender: 'Compact<u32>',756 recipient: 'Compact<u32>',757 },758 RelayedFrom: {759 who: 'XcmV0MultiLocation',760 message: 'XcmV0Xcm'761 }762 }763 },764 /**765 * Lookup100: xcm::v0::multi_asset::MultiAsset766 **/767 XcmV0MultiAsset: {768 _enum: {769 None: 'Null',770 All: 'Null',771 AllFungible: 'Null',772 AllNonFungible: 'Null',773 AllAbstractFungible: {774 id: 'Bytes',775 },776 AllAbstractNonFungible: {777 class: 'Bytes',778 },779 AllConcreteFungible: {780 id: 'XcmV0MultiLocation',781 },782 AllConcreteNonFungible: {783 class: 'XcmV0MultiLocation',784 },785 AbstractFungible: {786 id: 'Bytes',787 amount: 'Compact<u128>',788 },789 AbstractNonFungible: {790 class: 'Bytes',791 instance: 'XcmV1MultiassetAssetInstance',792 },793 ConcreteFungible: {794 id: 'XcmV0MultiLocation',795 amount: 'Compact<u128>',796 },797 ConcreteNonFungible: {798 class: 'XcmV0MultiLocation',799 instance: 'XcmV1MultiassetAssetInstance'800 }801 }802 },803 /**804 * Lookup101: xcm::v1::multiasset::AssetInstance805 **/806 XcmV1MultiassetAssetInstance: {807 _enum: {808 Undefined: 'Null',809 Index: 'Compact<u128>',810 Array4: '[u8;4]',811 Array8: '[u8;8]',812 Array16: '[u8;16]',813 Array32: '[u8;32]',814 Blob: 'Bytes'815 }816 },817 /**818 * Lookup105: xcm::v0::order::Order<Call>819 **/820 XcmV0Order: {821 _enum: {822 Null: 'Null',823 DepositAsset: {824 assets: 'Vec<XcmV0MultiAsset>',825 dest: 'XcmV0MultiLocation',826 },827 DepositReserveAsset: {828 assets: 'Vec<XcmV0MultiAsset>',829 dest: 'XcmV0MultiLocation',830 effects: 'Vec<XcmV0Order>',831 },832 ExchangeAsset: {833 give: 'Vec<XcmV0MultiAsset>',834 receive: 'Vec<XcmV0MultiAsset>',835 },836 InitiateReserveWithdraw: {837 assets: 'Vec<XcmV0MultiAsset>',838 reserve: 'XcmV0MultiLocation',839 effects: 'Vec<XcmV0Order>',840 },841 InitiateTeleport: {842 assets: 'Vec<XcmV0MultiAsset>',843 dest: 'XcmV0MultiLocation',844 effects: 'Vec<XcmV0Order>',845 },846 QueryHolding: {847 queryId: 'Compact<u64>',848 dest: 'XcmV0MultiLocation',849 assets: 'Vec<XcmV0MultiAsset>',850 },851 BuyExecution: {852 fees: 'XcmV0MultiAsset',853 weight: 'u64',854 debt: 'u64',855 haltOnError: 'bool',856 xcm: 'Vec<XcmV0Xcm>'857 }858 }859 },860 /**861 * Lookup107: xcm::v0::Response862 **/863 XcmV0Response: {864 _enum: {865 Assets: 'Vec<XcmV0MultiAsset>'866 }867 },868 /**869 * Lookup108: xcm::v0::OriginKind870 **/871 XcmV0OriginKind: {872 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']873 },874 /**875 * Lookup109: xcm::double_encoded::DoubleEncoded<T>876 **/877 XcmDoubleEncoded: {878 encoded: 'Bytes'879 },880 /**881 * Lookup110: xcm::v1::Xcm<Call>882 **/883 XcmV1Xcm: {884 _enum: {885 WithdrawAsset: {886 assets: 'XcmV1MultiassetMultiAssets',887 effects: 'Vec<XcmV1Order>',888 },889 ReserveAssetDeposited: {890 assets: 'XcmV1MultiassetMultiAssets',891 effects: 'Vec<XcmV1Order>',892 },893 ReceiveTeleportedAsset: {894 assets: 'XcmV1MultiassetMultiAssets',895 effects: 'Vec<XcmV1Order>',896 },897 QueryResponse: {898 queryId: 'Compact<u64>',899 response: 'XcmV1Response',900 },901 TransferAsset: {902 assets: 'XcmV1MultiassetMultiAssets',903 beneficiary: 'XcmV1MultiLocation',904 },905 TransferReserveAsset: {906 assets: 'XcmV1MultiassetMultiAssets',907 dest: 'XcmV1MultiLocation',908 effects: 'Vec<XcmV1Order>',909 },910 Transact: {911 originType: 'XcmV0OriginKind',912 requireWeightAtMost: 'u64',913 call: 'XcmDoubleEncoded',914 },915 HrmpNewChannelOpenRequest: {916 sender: 'Compact<u32>',917 maxMessageSize: 'Compact<u32>',918 maxCapacity: 'Compact<u32>',919 },920 HrmpChannelAccepted: {921 recipient: 'Compact<u32>',922 },923 HrmpChannelClosing: {924 initiator: 'Compact<u32>',925 sender: 'Compact<u32>',926 recipient: 'Compact<u32>',927 },928 RelayedFrom: {929 who: 'XcmV1MultilocationJunctions',930 message: 'XcmV1Xcm',931 },932 SubscribeVersion: {933 queryId: 'Compact<u64>',934 maxResponseWeight: 'Compact<u64>',935 },936 UnsubscribeVersion: 'Null'937 }938 },939 /**940 * Lookup111: xcm::v1::multiasset::MultiAssets941 **/942 XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',943 /**944 * Lookup113: xcm::v1::multiasset::MultiAsset945 **/946 XcmV1MultiAsset: {947 id: 'XcmV1MultiassetAssetId',948 fun: 'XcmV1MultiassetFungibility'949 },950 /**951 * Lookup114: xcm::v1::multiasset::AssetId952 **/953 XcmV1MultiassetAssetId: {954 _enum: {955 Concrete: 'XcmV1MultiLocation',956 Abstract: 'Bytes'957 }958 },959 /**960 * Lookup115: xcm::v1::multiasset::Fungibility961 **/962 XcmV1MultiassetFungibility: {963 _enum: {964 Fungible: 'Compact<u128>',965 NonFungible: 'XcmV1MultiassetAssetInstance'966 }967 },968 /**969 * Lookup117: xcm::v1::order::Order<Call>970 **/971 XcmV1Order: {972 _enum: {973 Noop: 'Null',974 DepositAsset: {975 assets: 'XcmV1MultiassetMultiAssetFilter',976 maxAssets: 'u32',977 beneficiary: 'XcmV1MultiLocation',978 },979 DepositReserveAsset: {980 assets: 'XcmV1MultiassetMultiAssetFilter',981 maxAssets: 'u32',982 dest: 'XcmV1MultiLocation',983 effects: 'Vec<XcmV1Order>',984 },985 ExchangeAsset: {986 give: 'XcmV1MultiassetMultiAssetFilter',987 receive: 'XcmV1MultiassetMultiAssets',988 },989 InitiateReserveWithdraw: {990 assets: 'XcmV1MultiassetMultiAssetFilter',991 reserve: 'XcmV1MultiLocation',992 effects: 'Vec<XcmV1Order>',993 },994 InitiateTeleport: {995 assets: 'XcmV1MultiassetMultiAssetFilter',996 dest: 'XcmV1MultiLocation',997 effects: 'Vec<XcmV1Order>',998 },999 QueryHolding: {1000 queryId: 'Compact<u64>',1001 dest: 'XcmV1MultiLocation',1002 assets: 'XcmV1MultiassetMultiAssetFilter',1003 },1004 BuyExecution: {1005 fees: 'XcmV1MultiAsset',1006 weight: 'u64',1007 debt: 'u64',1008 haltOnError: 'bool',1009 instructions: 'Vec<XcmV1Xcm>'1010 }1011 }1012 },1013 /**1014 * Lookup118: xcm::v1::multiasset::MultiAssetFilter1015 **/1016 XcmV1MultiassetMultiAssetFilter: {1017 _enum: {1018 Definite: 'XcmV1MultiassetMultiAssets',1019 Wild: 'XcmV1MultiassetWildMultiAsset'1020 }1021 },1022 /**1023 * Lookup119: xcm::v1::multiasset::WildMultiAsset1024 **/1025 XcmV1MultiassetWildMultiAsset: {1026 _enum: {1027 All: 'Null',1028 AllOf: {1029 id: 'XcmV1MultiassetAssetId',1030 fun: 'XcmV1MultiassetWildFungibility'1031 }1032 }1033 },1034 /**1035 * Lookup120: xcm::v1::multiasset::WildFungibility1036 **/1037 XcmV1MultiassetWildFungibility: {1038 _enum: ['Fungible', 'NonFungible']1039 },1040 /**1041 * Lookup122: xcm::v1::Response1042 **/1043 XcmV1Response: {1044 _enum: {1045 Assets: 'XcmV1MultiassetMultiAssets',1046 Version: 'u32'1047 }1048 },1049 /**1050 * Lookup123: xcm::v2::Xcm<Call>1051 **/1052 XcmV2Xcm: 'Vec<XcmV2Instruction>',1053 /**1054 * Lookup125: xcm::v2::Instruction<Call>1055 **/1056 XcmV2Instruction: {1057 _enum: {1058 WithdrawAsset: 'XcmV1MultiassetMultiAssets',1059 ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1060 ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1061 QueryResponse: {1062 queryId: 'Compact<u64>',1063 response: 'XcmV2Response',1064 maxWeight: 'Compact<u64>',1065 },1066 TransferAsset: {1067 assets: 'XcmV1MultiassetMultiAssets',1068 beneficiary: 'XcmV1MultiLocation',1069 },1070 TransferReserveAsset: {1071 assets: 'XcmV1MultiassetMultiAssets',1072 dest: 'XcmV1MultiLocation',1073 xcm: 'XcmV2Xcm',1074 },1075 Transact: {1076 originType: 'XcmV0OriginKind',1077 requireWeightAtMost: 'Compact<u64>',1078 call: 'XcmDoubleEncoded',1079 },1080 HrmpNewChannelOpenRequest: {1081 sender: 'Compact<u32>',1082 maxMessageSize: 'Compact<u32>',1083 maxCapacity: 'Compact<u32>',1084 },1085 HrmpChannelAccepted: {1086 recipient: 'Compact<u32>',1087 },1088 HrmpChannelClosing: {1089 initiator: 'Compact<u32>',1090 sender: 'Compact<u32>',1091 recipient: 'Compact<u32>',1092 },1093 ClearOrigin: 'Null',1094 DescendOrigin: 'XcmV1MultilocationJunctions',1095 ReportError: {1096 queryId: 'Compact<u64>',1097 dest: 'XcmV1MultiLocation',1098 maxResponseWeight: 'Compact<u64>',1099 },1100 DepositAsset: {1101 assets: 'XcmV1MultiassetMultiAssetFilter',1102 maxAssets: 'Compact<u32>',1103 beneficiary: 'XcmV1MultiLocation',1104 },1105 DepositReserveAsset: {1106 assets: 'XcmV1MultiassetMultiAssetFilter',1107 maxAssets: 'Compact<u32>',1108 dest: 'XcmV1MultiLocation',1109 xcm: 'XcmV2Xcm',1110 },1111 ExchangeAsset: {1112 give: 'XcmV1MultiassetMultiAssetFilter',1113 receive: 'XcmV1MultiassetMultiAssets',1114 },1115 InitiateReserveWithdraw: {1116 assets: 'XcmV1MultiassetMultiAssetFilter',1117 reserve: 'XcmV1MultiLocation',1118 xcm: 'XcmV2Xcm',1119 },1120 InitiateTeleport: {1121 assets: 'XcmV1MultiassetMultiAssetFilter',1122 dest: 'XcmV1MultiLocation',1123 xcm: 'XcmV2Xcm',1124 },1125 QueryHolding: {1126 queryId: 'Compact<u64>',1127 dest: 'XcmV1MultiLocation',1128 assets: 'XcmV1MultiassetMultiAssetFilter',1129 maxResponseWeight: 'Compact<u64>',1130 },1131 BuyExecution: {1132 fees: 'XcmV1MultiAsset',1133 weightLimit: 'XcmV2WeightLimit',1134 },1135 RefundSurplus: 'Null',1136 SetErrorHandler: 'XcmV2Xcm',1137 SetAppendix: 'XcmV2Xcm',1138 ClearError: 'Null',1139 ClaimAsset: {1140 assets: 'XcmV1MultiassetMultiAssets',1141 ticket: 'XcmV1MultiLocation',1142 },1143 Trap: 'Compact<u64>',1144 SubscribeVersion: {1145 queryId: 'Compact<u64>',1146 maxResponseWeight: 'Compact<u64>',1147 },1148 UnsubscribeVersion: 'Null'1149 }1150 },1151 /**1152 * Lookup126: xcm::v2::Response1153 **/1154 XcmV2Response: {1155 _enum: {1156 Null: 'Null',1157 Assets: 'XcmV1MultiassetMultiAssets',1158 ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1159 Version: 'u32'1160 }1161 },1162 /**1163 * Lookup129: xcm::v2::traits::Error1164 **/1165 XcmV2TraitsError: {1166 _enum: {1167 Overflow: 'Null',1168 Unimplemented: 'Null',1169 UntrustedReserveLocation: 'Null',1170 UntrustedTeleportLocation: 'Null',1171 MultiLocationFull: 'Null',1172 MultiLocationNotInvertible: 'Null',1173 BadOrigin: 'Null',1174 InvalidLocation: 'Null',1175 AssetNotFound: 'Null',1176 FailedToTransactAsset: 'Null',1177 NotWithdrawable: 'Null',1178 LocationCannotHold: 'Null',1179 ExceedsMaxMessageSize: 'Null',1180 DestinationUnsupported: 'Null',1181 Transport: 'Null',1182 Unroutable: 'Null',1183 UnknownClaim: 'Null',1184 FailedToDecode: 'Null',1185 MaxWeightInvalid: 'Null',1186 NotHoldingFees: 'Null',1187 TooExpensive: 'Null',1188 Trap: 'u64',1189 UnhandledXcmVersion: 'Null',1190 WeightLimitReached: 'u64',1191 Barrier: 'Null',1192 WeightNotComputable: 'Null'1193 }1194 },1195 /**1196 * Lookup130: xcm::v2::WeightLimit1197 **/1198 XcmV2WeightLimit: {1199 _enum: {1200 Unlimited: 'Null',1201 Limited: 'Compact<u64>'1202 }1203 },1204 /**1205 * Lookup131: xcm::VersionedMultiAssets1206 **/1207 XcmVersionedMultiAssets: {1208 _enum: {1209 V0: 'Vec<XcmV0MultiAsset>',1210 V1: 'XcmV1MultiassetMultiAssets'1211 }1212 },1213 /**1214 * Lookup146: cumulus_pallet_xcm::pallet::Call<T>1215 **/1216 CumulusPalletXcmCall: 'Null',1217 /**1218 * Lookup147: cumulus_pallet_dmp_queue::pallet::Call<T>1219 **/1220 CumulusPalletDmpQueueCall: {1221 _enum: {1222 service_overweight: {1223 index: 'u64',1224 weightLimit: 'u64'1225 }1226 }1227 },1228 /**1229 * Lookup148: pallet_inflation::pallet::Call<T>1230 **/1231 PalletInflationCall: {1232 _enum: {1233 start_inflation: {1234 inflationStartRelayBlock: 'u32'1235 }1236 }1237 },1238 /**1239 * Lookup149: pallet_unique::Call<T>1240 **/1241 PalletUniqueCall: {1242 _enum: {1243 create_collection: {1244 collectionName: 'Vec<u16>',1245 collectionDescription: 'Vec<u16>',1246 tokenPrefix: 'Bytes',1247 mode: 'UpDataStructsCollectionMode',1248 },1249 create_collection_ex: {1250 data: 'UpDataStructsCreateCollectionData',1251 },1252 destroy_collection: {1253 collectionId: 'u32',1254 },1255 add_to_allow_list: {1256 collectionId: 'u32',1257 address: 'PalletCommonAccountBasicCrossAccountIdRepr',1258 },1259 remove_from_allow_list: {1260 collectionId: 'u32',1261 address: 'PalletCommonAccountBasicCrossAccountIdRepr',1262 },1263 set_public_access_mode: {1264 collectionId: 'u32',1265 mode: 'UpDataStructsAccessMode',1266 },1267 set_mint_permission: {1268 collectionId: 'u32',1269 mintPermission: 'bool',1270 },1271 change_collection_owner: {1272 collectionId: 'u32',1273 newOwner: 'AccountId32',1274 },1275 add_collection_admin: {1276 collectionId: 'u32',1277 newAdminId: 'PalletCommonAccountBasicCrossAccountIdRepr',1278 },1279 remove_collection_admin: {1280 collectionId: 'u32',1281 accountId: 'PalletCommonAccountBasicCrossAccountIdRepr',1282 },1283 set_collection_sponsor: {1284 collectionId: 'u32',1285 newSponsor: 'AccountId32',1286 },1287 confirm_sponsorship: {1288 collectionId: 'u32',1289 },1290 remove_collection_sponsor: {1291 collectionId: 'u32',1292 },1293 create_item: {1294 collectionId: 'u32',1295 owner: 'PalletCommonAccountBasicCrossAccountIdRepr',1296 data: 'UpDataStructsCreateItemData',1297 },1298 create_multiple_items: {1299 collectionId: 'u32',1300 owner: 'PalletCommonAccountBasicCrossAccountIdRepr',1301 itemsData: 'Vec<UpDataStructsCreateItemData>',1302 },1303 create_multiple_items_ex: {1304 collectionId: 'u32',1305 data: 'UpDataStructsCreateItemExData',1306 },1307 set_transfers_enabled_flag: {1308 collectionId: 'u32',1309 value: 'bool',1310 },1311 burn_item: {1312 collectionId: 'u32',1313 itemId: 'u32',1314 value: 'u128',1315 },1316 burn_from: {1317 collectionId: 'u32',1318 from: 'PalletCommonAccountBasicCrossAccountIdRepr',1319 itemId: 'u32',1320 value: 'u128',1321 },1322 transfer: {1323 recipient: 'PalletCommonAccountBasicCrossAccountIdRepr',1324 collectionId: 'u32',1325 itemId: 'u32',1326 value: 'u128',1327 },1328 approve: {1329 spender: 'PalletCommonAccountBasicCrossAccountIdRepr',1330 collectionId: 'u32',1331 itemId: 'u32',1332 amount: 'u128',1333 },1334 transfer_from: {1335 from: 'PalletCommonAccountBasicCrossAccountIdRepr',1336 recipient: 'PalletCommonAccountBasicCrossAccountIdRepr',1337 collectionId: 'u32',1338 itemId: 'u32',1339 value: 'u128',1340 },1341 set_variable_meta_data: {1342 collectionId: 'u32',1343 itemId: 'u32',1344 data: 'Bytes',1345 },1346 set_meta_update_permission_flag: {1347 collectionId: 'u32',1348 value: 'UpDataStructsMetaUpdatePermission',1349 },1350 set_schema_version: {1351 collectionId: 'u32',1352 version: 'UpDataStructsSchemaVersion',1353 },1354 set_offchain_schema: {1355 collectionId: 'u32',1356 schema: 'Bytes',1357 },1358 set_const_on_chain_schema: {1359 collectionId: 'u32',1360 schema: 'Bytes',1361 },1362 set_variable_on_chain_schema: {1363 collectionId: 'u32',1364 schema: 'Bytes',1365 },1366 set_collection_limits: {1367 collectionId: 'u32',1368 newLimit: 'UpDataStructsCollectionLimits'1369 }1370 }1371 },1372 /**1373 * Lookup155: up_data_structs::CollectionMode1374 **/1375 UpDataStructsCollectionMode: {1376 _enum: {1377 NFT: 'Null',1378 Fungible: 'u8',1379 ReFungible: 'Null'1380 }1381 },1382 /**1383 * Lookup156: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1384 **/1385 UpDataStructsCreateCollectionData: {1386 mode: 'UpDataStructsCollectionMode',1387 access: 'Option<UpDataStructsAccessMode>',1388 name: 'Vec<u16>',1389 description: 'Vec<u16>',1390 tokenPrefix: 'Bytes',1391 offchainSchema: 'Bytes',1392 schemaVersion: 'Option<UpDataStructsSchemaVersion>',1393 pendingSponsor: 'Option<AccountId32>',1394 limits: 'Option<UpDataStructsCollectionLimits>',1395 variableOnChainSchema: 'Bytes',1396 constOnChainSchema: 'Bytes',1397 metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>'1398 },1399 /**1400 * Lookup158: up_data_structs::AccessMode1401 **/1402 UpDataStructsAccessMode: {1403 _enum: ['Normal', 'AllowList']1404 },1405 /**1406 * Lookup161: up_data_structs::SchemaVersion1407 **/1408 UpDataStructsSchemaVersion: {1409 _enum: ['ImageURL', 'Unique']1410 },1411 /**1412 * Lookup164: up_data_structs::CollectionLimits1413 **/1414 UpDataStructsCollectionLimits: {1415 accountTokenOwnershipLimit: 'Option<u32>',1416 sponsoredDataSize: 'Option<u32>',1417 sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1418 tokenLimit: 'Option<u32>',1419 sponsorTransferTimeout: 'Option<u32>',1420 sponsorApproveTimeout: 'Option<u32>',1421 ownerCanTransfer: 'Option<bool>',1422 ownerCanDestroy: 'Option<bool>',1423 transfersEnabled: 'Option<bool>'1424 },1425 /**1426 * Lookup166: up_data_structs::SponsoringRateLimit1427 **/1428 UpDataStructsSponsoringRateLimit: {1429 _enum: {1430 SponsoringDisabled: 'Null',1431 Blocks: 'u32'1432 }1433 },1434 /**1435 * Lookup170: up_data_structs::MetaUpdatePermission1436 **/1437 UpDataStructsMetaUpdatePermission: {1438 _enum: ['ItemOwner', 'Admin', 'None']1439 },1440 /**1441 * Lookup172: pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1442 **/1443 PalletCommonAccountBasicCrossAccountIdRepr: {1444 _enum: {1445 Substrate: 'AccountId32',1446 Ethereum: 'H160'1447 }1448 },1449 /**1450 * Lookup174: up_data_structs::CreateItemData1451 **/1452 UpDataStructsCreateItemData: {1453 _enum: {1454 NFT: 'UpDataStructsCreateNftData',1455 Fungible: 'UpDataStructsCreateFungibleData',1456 ReFungible: 'UpDataStructsCreateReFungibleData'1457 }1458 },1459 /**1460 * Lookup175: up_data_structs::CreateNftData1461 **/1462 UpDataStructsCreateNftData: {1463 constData: 'Bytes',1464 variableData: 'Bytes'1465 },1466 /**1467 * Lookup177: up_data_structs::CreateFungibleData1468 **/1469 UpDataStructsCreateFungibleData: {1470 value: 'u128'1471 },1472 /**1473 * Lookup178: up_data_structs::CreateReFungibleData1474 **/1475 UpDataStructsCreateReFungibleData: {1476 constData: 'Bytes',1477 variableData: 'Bytes',1478 pieces: 'u128'1479 },1480 /**1481 * Lookup180: up_data_structs::CreateItemExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1482 **/1483 UpDataStructsCreateItemExData: {1484 _enum: {1485 NFT: 'Vec<UpDataStructsCreateNftExData>',1486 Fungible: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>',1487 RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1488 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1489 }1490 },1491 /**1492 * Lookup182: up_data_structs::CreateNftExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1493 **/1494 UpDataStructsCreateNftExData: {1495 constData: 'Bytes',1496 variableData: 'Bytes',1497 owner: 'PalletCommonAccountBasicCrossAccountIdRepr'1498 },1499 /**1500 * Lookup189: up_data_structs::CreateRefungibleExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1501 **/1502 UpDataStructsCreateRefungibleExData: {1503 constData: 'Bytes',1504 variableData: 'Bytes',1505 users: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>'1506 },1507 /**1508 * Lookup192: pallet_template_transaction_payment::Call<T>1509 **/1510 PalletTemplateTransactionPaymentCall: 'Null',1511 /**1512 * Lookup193: pallet_evm::pallet::Call<T>1513 **/1514 PalletEvmCall: {1515 _enum: {1516 withdraw: {1517 address: 'H160',1518 value: 'u128',1519 },1520 call: {1521 source: 'H160',1522 target: 'H160',1523 input: 'Bytes',1524 value: 'U256',1525 gasLimit: 'u64',1526 maxFeePerGas: 'U256',1527 maxPriorityFeePerGas: 'Option<U256>',1528 nonce: 'Option<U256>',1529 accessList: 'Vec<(H160,Vec<H256>)>',1530 },1531 create: {1532 source: 'H160',1533 init: 'Bytes',1534 value: 'U256',1535 gasLimit: 'u64',1536 maxFeePerGas: 'U256',1537 maxPriorityFeePerGas: 'Option<U256>',1538 nonce: 'Option<U256>',1539 accessList: 'Vec<(H160,Vec<H256>)>',1540 },1541 create2: {1542 source: 'H160',1543 init: 'Bytes',1544 salt: 'H256',1545 value: 'U256',1546 gasLimit: 'u64',1547 maxFeePerGas: 'U256',1548 maxPriorityFeePerGas: 'Option<U256>',1549 nonce: 'Option<U256>',1550 accessList: 'Vec<(H160,Vec<H256>)>'1551 }1552 }1553 },1554 /**1555 * Lookup199: pallet_ethereum::pallet::Call<T>1556 **/1557 PalletEthereumCall: {1558 _enum: {1559 transact: {1560 transaction: 'EthereumTransactionTransactionV2'1561 }1562 }1563 },1564 /**1565 * Lookup200: ethereum::transaction::TransactionV21566 **/1567 EthereumTransactionTransactionV2: {1568 _enum: {1569 Legacy: 'EthereumTransactionLegacyTransaction',1570 EIP2930: 'EthereumTransactionEip2930Transaction',1571 EIP1559: 'EthereumTransactionEip1559Transaction'1572 }1573 },1574 /**1575 * Lookup201: ethereum::transaction::LegacyTransaction1576 **/1577 EthereumTransactionLegacyTransaction: {1578 nonce: 'U256',1579 gasPrice: 'U256',1580 gasLimit: 'U256',1581 action: 'EthereumTransactionTransactionAction',1582 value: 'U256',1583 input: 'Bytes',1584 signature: 'EthereumTransactionTransactionSignature'1585 },1586 /**1587 * Lookup202: ethereum::transaction::TransactionAction1588 **/1589 EthereumTransactionTransactionAction: {1590 _enum: {1591 Call: 'H160',1592 Create: 'Null'1593 }1594 },1595 /**1596 * Lookup203: ethereum::transaction::TransactionSignature1597 **/1598 EthereumTransactionTransactionSignature: {1599 v: 'u64',1600 r: 'H256',1601 s: 'H256'1602 },1603 /**1604 * Lookup205: ethereum::transaction::EIP2930Transaction1605 **/1606 EthereumTransactionEip2930Transaction: {1607 chainId: 'u64',1608 nonce: 'U256',1609 gasPrice: 'U256',1610 gasLimit: 'U256',1611 action: 'EthereumTransactionTransactionAction',1612 value: 'U256',1613 input: 'Bytes',1614 accessList: 'Vec<EthereumTransactionAccessListItem>',1615 oddYParity: 'bool',1616 r: 'H256',1617 s: 'H256'1618 },1619 /**1620 * Lookup207: ethereum::transaction::AccessListItem1621 **/1622 EthereumTransactionAccessListItem: {1623 address: 'H160',1624 slots: 'Vec<H256>'1625 },1626 /**1627 * Lookup208: ethereum::transaction::EIP1559Transaction1628 **/1629 EthereumTransactionEip1559Transaction: {1630 chainId: 'u64',1631 nonce: 'U256',1632 maxPriorityFeePerGas: 'U256',1633 maxFeePerGas: 'U256',1634 gasLimit: 'U256',1635 action: 'EthereumTransactionTransactionAction',1636 value: 'U256',1637 input: 'Bytes',1638 accessList: 'Vec<EthereumTransactionAccessListItem>',1639 oddYParity: 'bool',1640 r: 'H256',1641 s: 'H256'1642 },1643 /**1644 * Lookup209: pallet_evm_migration::pallet::Call<T>1645 **/1646 PalletEvmMigrationCall: {1647 _enum: {1648 begin: {1649 address: 'H160',1650 },1651 set_data: {1652 address: 'H160',1653 data: 'Vec<(H256,H256)>',1654 },1655 finish: {1656 address: 'H160',1657 code: 'Bytes'1658 }1659 }1660 },1661 /**1662 * Lookup212: pallet_sudo::pallet::Event<T>1663 **/1664 PalletSudoEvent: {1665 _enum: {1666 Sudid: {1667 sudoResult: 'Result<Null, SpRuntimeDispatchError>',1668 },1669 KeyChanged: {1670 oldSudoer: 'Option<AccountId32>',1671 },1672 SudoAsDone: {1673 sudoResult: 'Result<Null, SpRuntimeDispatchError>'1674 }1675 }1676 },1677 /**1678 * Lookup214: sp_runtime::DispatchError1679 **/1680 SpRuntimeDispatchError: {1681 _enum: {1682 Other: 'Null',1683 CannotLookup: 'Null',1684 BadOrigin: 'Null',1685 Module: 'SpRuntimeModuleError',1686 ConsumerRemaining: 'Null',1687 NoProviders: 'Null',1688 TooManyConsumers: 'Null',1689 Token: 'SpRuntimeTokenError',1690 Arithmetic: 'SpRuntimeArithmeticError'1691 }1692 },1693 /**1694 * Lookup215: sp_runtime::ModuleError1695 **/1696 SpRuntimeModuleError: {1697 index: 'u8',1698 error: 'u8'1699 },1700 /**1701 * Lookup216: sp_runtime::TokenError1702 **/1703 SpRuntimeTokenError: {1704 _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1705 },1706 /**1707 * Lookup217: sp_runtime::ArithmeticError1708 **/1709 SpRuntimeArithmeticError: {1710 _enum: ['Underflow', 'Overflow', 'DivisionByZero']1711 },1712 /**1713 * Lookup218: pallet_sudo::pallet::Error<T>1714 **/1715 PalletSudoError: {1716 _enum: ['RequireSudo']1717 },1718 /**1719 * Lookup219: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1720 **/1721 FrameSystemAccountInfo: {1722 nonce: 'u32',1723 consumers: 'u32',1724 providers: 'u32',1725 sufficients: 'u32',1726 data: 'PalletBalancesAccountData'1727 },1728 /**1729 * Lookup220: frame_support::weights::PerDispatchClass<T>1730 **/1731 FrameSupportWeightsPerDispatchClassU64: {1732 normal: 'u64',1733 operational: 'u64',1734 mandatory: 'u64'1735 },1736 /**1737 * Lookup221: sp_runtime::generic::digest::Digest1738 **/1739 SpRuntimeDigest: {1740 logs: 'Vec<SpRuntimeDigestDigestItem>'1741 },1742 /**1743 * Lookup223: sp_runtime::generic::digest::DigestItem1744 **/1745 SpRuntimeDigestDigestItem: {1746 _enum: {1747 Other: 'Bytes',1748 __Unused1: 'Null',1749 __Unused2: 'Null',1750 __Unused3: 'Null',1751 Consensus: '([u8;4],Bytes)',1752 Seal: '([u8;4],Bytes)',1753 PreRuntime: '([u8;4],Bytes)',1754 __Unused7: 'Null',1755 RuntimeEnvironmentUpdated: 'Null'1756 }1757 },1758 /**1759 * Lookup225: frame_system::EventRecord<unique_runtime::Event, primitive_types::H256>1760 **/1761 FrameSystemEventRecord: {1762 phase: 'FrameSystemPhase',1763 event: 'Event',1764 topics: 'Vec<H256>'1765 },1766 /**1767 * Lookup227: frame_system::pallet::Event<T>1768 **/1769 FrameSystemEvent: {1770 _enum: {1771 ExtrinsicSuccess: {1772 dispatchInfo: 'FrameSupportWeightsDispatchInfo',1773 },1774 ExtrinsicFailed: {1775 dispatchError: 'SpRuntimeDispatchError',1776 dispatchInfo: 'FrameSupportWeightsDispatchInfo',1777 },1778 CodeUpdated: 'Null',1779 NewAccount: {1780 account: 'AccountId32',1781 },1782 KilledAccount: {1783 account: 'AccountId32',1784 },1785 Remarked: {1786 _alias: {1787 hash_: 'hash',1788 },1789 sender: 'AccountId32',1790 hash_: 'H256'1791 }1792 }1793 },1794 /**1795 * Lookup228: frame_support::weights::DispatchInfo1796 **/1797 FrameSupportWeightsDispatchInfo: {1798 weight: 'u64',1799 class: 'FrameSupportWeightsDispatchClass',1800 paysFee: 'FrameSupportWeightsPays'1801 },1802 /**1803 * Lookup229: frame_support::weights::DispatchClass1804 **/1805 FrameSupportWeightsDispatchClass: {1806 _enum: ['Normal', 'Operational', 'Mandatory']1807 },1808 /**1809 * Lookup230: frame_support::weights::Pays1810 **/1811 FrameSupportWeightsPays: {1812 _enum: ['Yes', 'No']1813 },1814 /**1815 * Lookup231: orml_vesting::module::Event<T>1816 **/1817 OrmlVestingModuleEvent: {1818 _enum: {1819 VestingScheduleAdded: {1820 from: 'AccountId32',1821 to: 'AccountId32',1822 vestingSchedule: 'OrmlVestingVestingSchedule',1823 },1824 Claimed: {1825 who: 'AccountId32',1826 amount: 'u128',1827 },1828 VestingSchedulesUpdated: {1829 who: 'AccountId32'1830 }1831 }1832 },1833 /**1834 * Lookup232: cumulus_pallet_xcmp_queue::pallet::Event<T>1835 **/1836 CumulusPalletXcmpQueueEvent: {1837 _enum: {1838 Success: 'Option<H256>',1839 Fail: '(Option<H256>,XcmV2TraitsError)',1840 BadVersion: 'Option<H256>',1841 BadFormat: 'Option<H256>',1842 UpwardMessageSent: 'Option<H256>',1843 XcmpMessageSent: 'Option<H256>',1844 OverweightEnqueued: '(u32,u32,u64,u64)',1845 OverweightServiced: '(u64,u64)'1846 }1847 },1848 /**1849 * Lookup233: pallet_xcm::pallet::Event<T>1850 **/1851 PalletXcmEvent: {1852 _enum: {1853 Attempted: 'XcmV2TraitsOutcome',1854 Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',1855 UnexpectedResponse: '(XcmV1MultiLocation,u64)',1856 ResponseReady: '(u64,XcmV2Response)',1857 Notified: '(u64,u8,u8)',1858 NotifyOverweight: '(u64,u8,u8,u64,u64)',1859 NotifyDispatchError: '(u64,u8,u8)',1860 NotifyDecodeFailed: '(u64,u8,u8)',1861 InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',1862 InvalidResponderVersion: '(XcmV1MultiLocation,u64)',1863 ResponseTaken: 'u64',1864 AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',1865 VersionChangeNotified: '(XcmV1MultiLocation,u32)',1866 SupportedVersionChanged: '(XcmV1MultiLocation,u32)',1867 NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',1868 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1869 }1870 },1871 /**1872 * Lookup234: xcm::v2::traits::Outcome1873 **/1874 XcmV2TraitsOutcome: {1875 _enum: {1876 Complete: 'u64',1877 Incomplete: '(u64,XcmV2TraitsError)',1878 Error: 'XcmV2TraitsError'1879 }1880 },1881 /**1882 * Lookup236: cumulus_pallet_xcm::pallet::Event<T>1883 **/1884 CumulusPalletXcmEvent: {1885 _enum: {1886 InvalidFormat: '[u8;8]',1887 UnsupportedVersion: '[u8;8]',1888 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1889 }1890 },1891 /**1892 * Lookup237: cumulus_pallet_dmp_queue::pallet::Event<T>1893 **/1894 CumulusPalletDmpQueueEvent: {1895 _enum: {1896 InvalidFormat: '[u8;32]',1897 UnsupportedVersion: '[u8;32]',1898 ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',1899 WeightExhausted: '([u8;32],u64,u64)',1900 OverweightEnqueued: '([u8;32],u64,u64)',1901 OverweightServiced: '(u64,u64)'1902 }1903 },1904 /**1905 * Lookup238: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1906 **/1907 PalletUniqueRawEvent: {1908 _enum: {1909 CollectionSponsorRemoved: 'u32',1910 CollectionAdminAdded: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1911 CollectionOwnedChanged: '(u32,AccountId32)',1912 CollectionSponsorSet: '(u32,AccountId32)',1913 ConstOnChainSchemaSet: 'u32',1914 SponsorshipConfirmed: '(u32,AccountId32)',1915 CollectionAdminRemoved: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1916 AllowListAddressRemoved: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1917 AllowListAddressAdded: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1918 CollectionLimitSet: 'u32',1919 MintPermissionSet: 'u32',1920 OffchainSchemaSet: 'u32',1921 PublicAccessModeSet: '(u32,UpDataStructsAccessMode)',1922 SchemaVersionSet: 'u32',1923 VariableOnChainSchemaSet: 'u32'1924 }1925 },1926 /**1927 * Lookup239: pallet_common::pallet::Event<T>1928 **/1929 PalletCommonEvent: {1930 _enum: {1931 CollectionCreated: '(u32,u8,AccountId32)',1932 CollectionDestroyed: 'u32',1933 ItemCreated: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,u128)',1934 ItemDestroyed: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,u128)',1935 Transfer: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)',1936 Approved: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)'1937 }1938 },1939 /**1940 * Lookup240: pallet_evm::pallet::Event<T>1941 **/1942 PalletEvmEvent: {1943 _enum: {1944 Log: 'EthereumLog',1945 Created: 'H160',1946 CreatedFailed: 'H160',1947 Executed: 'H160',1948 ExecutedFailed: 'H160',1949 BalanceDeposit: '(AccountId32,H160,U256)',1950 BalanceWithdraw: '(AccountId32,H160,U256)'1951 }1952 },1953 /**1954 * Lookup241: ethereum::log::Log1955 **/1956 EthereumLog: {1957 address: 'H160',1958 topics: 'Vec<H256>',1959 data: 'Bytes'1960 },1961 /**1962 * Lookup242: pallet_ethereum::pallet::Event1963 **/1964 PalletEthereumEvent: {1965 _enum: {1966 Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1967 }1968 },1969 /**1970 * Lookup243: evm_core::error::ExitReason1971 **/1972 EvmCoreErrorExitReason: {1973 _enum: {1974 Succeed: 'EvmCoreErrorExitSucceed',1975 Error: 'EvmCoreErrorExitError',1976 Revert: 'EvmCoreErrorExitRevert',1977 Fatal: 'EvmCoreErrorExitFatal'1978 }1979 },1980 /**1981 * Lookup244: evm_core::error::ExitSucceed1982 **/1983 EvmCoreErrorExitSucceed: {1984 _enum: ['Stopped', 'Returned', 'Suicided']1985 },1986 /**1987 * Lookup245: evm_core::error::ExitError1988 **/1989 EvmCoreErrorExitError: {1990 _enum: {1991 StackUnderflow: 'Null',1992 StackOverflow: 'Null',1993 InvalidJump: 'Null',1994 InvalidRange: 'Null',1995 DesignatedInvalid: 'Null',1996 CallTooDeep: 'Null',1997 CreateCollision: 'Null',1998 CreateContractLimit: 'Null',1999 InvalidCode: 'Null',2000 OutOfOffset: 'Null',2001 OutOfGas: 'Null',2002 OutOfFund: 'Null',2003 PCUnderflow: 'Null',2004 CreateEmpty: 'Null',2005 Other: 'Text'2006 }2007 },2008 /**2009 * Lookup248: evm_core::error::ExitRevert2010 **/2011 EvmCoreErrorExitRevert: {2012 _enum: ['Reverted']2013 },2014 /**2015 * Lookup249: evm_core::error::ExitFatal2016 **/2017 EvmCoreErrorExitFatal: {2018 _enum: {2019 NotSupported: 'Null',2020 UnhandledInterrupt: 'Null',2021 CallErrorAsFatal: 'EvmCoreErrorExitError',2022 Other: 'Text'2023 }2024 },2025 /**2026 * Lookup250: frame_system::Phase2027 **/2028 FrameSystemPhase: {2029 _enum: {2030 ApplyExtrinsic: 'u32',2031 Finalization: 'Null',2032 Initialization: 'Null'2033 }2034 },2035 /**2036 * Lookup252: frame_system::LastRuntimeUpgradeInfo2037 **/2038 FrameSystemLastRuntimeUpgradeInfo: {2039 specVersion: 'Compact<u32>',2040 specName: 'Text'2041 },2042 /**2043 * Lookup253: frame_system::limits::BlockWeights2044 **/2045 FrameSystemLimitsBlockWeights: {2046 baseBlock: 'u64',2047 maxBlock: 'u64',2048 perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2049 },2050 /**2051 * Lookup254: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2052 **/2053 FrameSupportWeightsPerDispatchClassWeightsPerClass: {2054 normal: 'FrameSystemLimitsWeightsPerClass',2055 operational: 'FrameSystemLimitsWeightsPerClass',2056 mandatory: 'FrameSystemLimitsWeightsPerClass'2057 },2058 /**2059 * Lookup255: frame_system::limits::WeightsPerClass2060 **/2061 FrameSystemLimitsWeightsPerClass: {2062 baseExtrinsic: 'u64',2063 maxExtrinsic: 'Option<u64>',2064 maxTotal: 'Option<u64>',2065 reserved: 'Option<u64>'2066 },2067 /**2068 * Lookup257: frame_system::limits::BlockLength2069 **/2070 FrameSystemLimitsBlockLength: {2071 max: 'FrameSupportWeightsPerDispatchClassU32'2072 },2073 /**2074 * Lookup258: frame_support::weights::PerDispatchClass<T>2075 **/2076 FrameSupportWeightsPerDispatchClassU32: {2077 normal: 'u32',2078 operational: 'u32',2079 mandatory: 'u32'2080 },2081 /**2082 * Lookup259: frame_support::weights::RuntimeDbWeight2083 **/2084 FrameSupportWeightsRuntimeDbWeight: {2085 read: 'u64',2086 write: 'u64'2087 },2088 /**2089 * Lookup260: sp_version::RuntimeVersion2090 **/2091 SpVersionRuntimeVersion: {2092 specName: 'Text',2093 implName: 'Text',2094 authoringVersion: 'u32',2095 specVersion: 'u32',2096 implVersion: 'u32',2097 apis: 'Vec<([u8;8],u32)>',2098 transactionVersion: 'u32',2099 stateVersion: 'u8'2100 },2101 /**2102 * Lookup264: frame_system::pallet::Error<T>2103 **/2104 FrameSystemError: {2105 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2106 },2107 /**2108 * Lookup266: orml_vesting::module::Error<T>2109 **/2110 OrmlVestingModuleError: {2111 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2112 },2113 /**2114 * Lookup268: cumulus_pallet_xcmp_queue::InboundChannelDetails2115 **/2116 CumulusPalletXcmpQueueInboundChannelDetails: {2117 sender: 'u32',2118 state: 'CumulusPalletXcmpQueueInboundState',2119 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2120 },2121 /**2122 * Lookup269: cumulus_pallet_xcmp_queue::InboundState2123 **/2124 CumulusPalletXcmpQueueInboundState: {2125 _enum: ['Ok', 'Suspended']2126 },2127 /**2128 * Lookup272: polkadot_parachain::primitives::XcmpMessageFormat2129 **/2130 PolkadotParachainPrimitivesXcmpMessageFormat: {2131 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2132 },2133 /**2134 * Lookup275: cumulus_pallet_xcmp_queue::OutboundChannelDetails2135 **/2136 CumulusPalletXcmpQueueOutboundChannelDetails: {2137 recipient: 'u32',2138 state: 'CumulusPalletXcmpQueueOutboundState',2139 signalsExist: 'bool',2140 firstIndex: 'u16',2141 lastIndex: 'u16'2142 },2143 /**2144 * Lookup276: cumulus_pallet_xcmp_queue::OutboundState2145 **/2146 CumulusPalletXcmpQueueOutboundState: {2147 _enum: ['Ok', 'Suspended']2148 },2149 /**2150 * Lookup278: cumulus_pallet_xcmp_queue::QueueConfigData2151 **/2152 CumulusPalletXcmpQueueQueueConfigData: {2153 suspendThreshold: 'u32',2154 dropThreshold: 'u32',2155 resumeThreshold: 'u32',2156 thresholdWeight: 'u64',2157 weightRestrictDecay: 'u64',2158 xcmpMaxIndividualWeight: 'u64'2159 },2160 /**2161 * Lookup280: cumulus_pallet_xcmp_queue::pallet::Error<T>2162 **/2163 CumulusPalletXcmpQueueError: {2164 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2165 },2166 /**2167 * Lookup281: pallet_xcm::pallet::Error<T>2168 **/2169 PalletXcmError: {2170 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2171 },2172 /**2173 * Lookup282: cumulus_pallet_xcm::pallet::Error<T>2174 **/2175 CumulusPalletXcmError: 'Null',2176 /**2177 * Lookup283: cumulus_pallet_dmp_queue::ConfigData2178 **/2179 CumulusPalletDmpQueueConfigData: {2180 maxIndividual: 'u64'2181 },2182 /**2183 * Lookup284: cumulus_pallet_dmp_queue::PageIndexData2184 **/2185 CumulusPalletDmpQueuePageIndexData: {2186 beginUsed: 'u32',2187 endUsed: 'u32',2188 overweightCount: 'u64'2189 },2190 /**2191 * Lookup287: cumulus_pallet_dmp_queue::pallet::Error<T>2192 **/2193 CumulusPalletDmpQueueError: {2194 _enum: ['Unknown', 'OverLimit']2195 },2196 /**2197 * Lookup291: pallet_unique::Error<T>2198 **/2199 PalletUniqueError: {2200 _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2201 },2202 /**2203 * Lookup292: up_data_structs::Collection<sp_core::crypto::AccountId32>2204 **/2205 UpDataStructsCollection: {2206 owner: 'AccountId32',2207 mode: 'UpDataStructsCollectionMode',2208 access: 'UpDataStructsAccessMode',2209 name: 'Vec<u16>',2210 description: 'Vec<u16>',2211 tokenPrefix: 'Bytes',2212 mintMode: 'bool',2213 offchainSchema: 'Bytes',2214 schemaVersion: 'UpDataStructsSchemaVersion',2215 sponsorship: 'UpDataStructsSponsorshipState',2216 limits: 'UpDataStructsCollectionLimits',2217 variableOnChainSchema: 'Bytes',2218 constOnChainSchema: 'Bytes',2219 metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'2220 },2221 /**2222 * Lookup293: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2223 **/2224 UpDataStructsSponsorshipState: {2225 _enum: {2226 Disabled: 'Null',2227 Unconfirmed: 'AccountId32',2228 Confirmed: 'AccountId32'2229 }2230 },2231 /**2232 * Lookup296: up_data_structs::CollectionStats2233 **/2234 UpDataStructsCollectionStats: {2235 created: 'u32',2236 destroyed: 'u32',2237 alive: 'u32'2238 },2239 /**2240 * Lookup297: pallet_common::pallet::Error<T>2241 **/2242 PalletCommonError: {2243 _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation']2244 },2245 /**2246 * Lookup299: pallet_fungible::pallet::Error<T>2247 **/2248 PalletFungibleError: {2249 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']2250 },2251 /**2252 * Lookup300: pallet_refungible::ItemData2253 **/2254 PalletRefungibleItemData: {2255 constData: 'Bytes',2256 variableData: 'Bytes'2257 },2258 /**2259 * Lookup304: pallet_refungible::pallet::Error<T>2260 **/2261 PalletRefungibleError: {2262 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']2263 },2264 /**2265 * Lookup305: pallet_nonfungible::ItemData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2266 **/2267 PalletNonfungibleItemData: {2268 constData: 'Bytes',2269 variableData: 'Bytes',2270 owner: 'PalletCommonAccountBasicCrossAccountIdRepr'2271 },2272 /**2273 * Lookup306: pallet_nonfungible::pallet::Error<T>2274 **/2275 PalletNonfungibleError: {2276 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']2277 },2278 /**2279 * Lookup308: pallet_evm::pallet::Error<T>2280 **/2281 PalletEvmError: {2282 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2283 },2284 /**2285 * Lookup311: fp_rpc::TransactionStatus2286 **/2287 FpRpcTransactionStatus: {2288 transactionHash: 'H256',2289 transactionIndex: 'u32',2290 from: 'H160',2291 to: 'Option<H160>',2292 contractAddress: 'Option<H160>',2293 logs: 'Vec<EthereumLog>',2294 logsBloom: 'EthbloomBloom'2295 },2296 /**2297 * Lookup314: ethbloom::Bloom2298 **/2299 EthbloomBloom: '[u8;256]',2300 /**2301 * Lookup316: ethereum::receipt::ReceiptV32302 **/2303 EthereumReceiptReceiptV3: {2304 _enum: {2305 Legacy: 'EthereumReceiptEip658ReceiptData',2306 EIP2930: 'EthereumReceiptEip658ReceiptData',2307 EIP1559: 'EthereumReceiptEip658ReceiptData'2308 }2309 },2310 /**2311 * Lookup317: ethereum::receipt::EIP658ReceiptData2312 **/2313 EthereumReceiptEip658ReceiptData: {2314 statusCode: 'u8',2315 usedGas: 'U256',2316 logsBloom: 'EthbloomBloom',2317 logs: 'Vec<EthereumLog>'2318 },2319 /**2320 * Lookup318: ethereum::block::Block<ethereum::transaction::TransactionV2>2321 **/2322 EthereumBlock: {2323 header: 'EthereumHeader',2324 transactions: 'Vec<EthereumTransactionTransactionV2>',2325 ommers: 'Vec<EthereumHeader>'2326 },2327 /**2328 * Lookup319: ethereum::header::Header2329 **/2330 EthereumHeader: {2331 parentHash: 'H256',2332 ommersHash: 'H256',2333 beneficiary: 'H160',2334 stateRoot: 'H256',2335 transactionsRoot: 'H256',2336 receiptsRoot: 'H256',2337 logsBloom: 'EthbloomBloom',2338 difficulty: 'U256',2339 number: 'U256',2340 gasLimit: 'U256',2341 gasUsed: 'U256',2342 timestamp: 'u64',2343 extraData: 'Bytes',2344 mixHash: 'H256',2345 nonce: 'EthereumTypesHashH64'2346 },2347 /**2348 * Lookup320: ethereum_types::hash::H642349 **/2350 EthereumTypesHashH64: '[u8;8]',2351 /**2352 * Lookup325: pallet_ethereum::pallet::Error<T>2353 **/2354 PalletEthereumError: {2355 _enum: ['InvalidSignature', 'PreLogExists']2356 },2357 /**2358 * Lookup326: pallet_evm_coder_substrate::pallet::Error<T>2359 **/2360 PalletEvmCoderSubstrateError: {2361 _enum: ['OutOfGas', 'OutOfFund']2362 },2363 /**2364 * Lookup327: pallet_evm_contract_helpers::SponsoringModeT2365 **/2366 PalletEvmContractHelpersSponsoringModeT: {2367 _enum: ['Disabled', 'Allowlisted', 'Generous']2368 },2369 /**2370 * Lookup329: pallet_evm_contract_helpers::pallet::Error<T>2371 **/2372 PalletEvmContractHelpersError: {2373 _enum: ['NoPermission']2374 },2375 /**2376 * Lookup330: pallet_evm_migration::pallet::Error<T>2377 **/2378 PalletEvmMigrationError: {2379 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2380 },2381 /**2382 * Lookup332: sp_runtime::MultiSignature2383 **/2384 SpRuntimeMultiSignature: {2385 _enum: {2386 Ed25519: 'SpCoreEd25519Signature',2387 Sr25519: 'SpCoreSr25519Signature',2388 Ecdsa: 'SpCoreEcdsaSignature'2389 }2390 },2391 /**2392 * Lookup333: sp_core::ed25519::Signature2393 **/2394 SpCoreEd25519Signature: '[u8;64]',2395 /**2396 * Lookup335: sp_core::sr25519::Signature2397 **/2398 SpCoreSr25519Signature: '[u8;64]',2399 /**2400 * Lookup336: sp_core::ecdsa::Signature2401 **/2402 SpCoreEcdsaSignature: '[u8;65]',2403 /**2404 * Lookup339: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2405 **/2406 FrameSystemExtensionsCheckSpecVersion: 'Null',2407 /**2408 * Lookup340: frame_system::extensions::check_genesis::CheckGenesis<T>2409 **/2410 FrameSystemExtensionsCheckGenesis: 'Null',2411 /**2412 * Lookup343: frame_system::extensions::check_nonce::CheckNonce<T>2413 **/2414 FrameSystemExtensionsCheckNonce: 'Compact<u32>',2415 /**2416 * Lookup344: frame_system::extensions::check_weight::CheckWeight<T>2417 **/2418 FrameSystemExtensionsCheckWeight: 'Null',2419 /**2420 * Lookup345: pallet_template_transaction_payment::ChargeTransactionPayment<unique_runtime::Runtime>2421 **/2422 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2423 /**2424 * Lookup346: unique_runtime::Runtime2425 **/2426 UniqueRuntimeRuntime: 'Null'2427};1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7 /**8 * Lookup2: polkadot_primitives::v1::PersistedValidationData<primitive_types::H256, N>9 **/10 PolkadotPrimitivesV1PersistedValidationData: {11 parentHead: 'Bytes',12 relayParentNumber: 'u32',13 relayParentStorageRoot: 'H256',14 maxPovSize: 'u32'15 },16 /**17 * Lookup9: polkadot_primitives::v1::UpgradeRestriction18 **/19 PolkadotPrimitivesV1UpgradeRestriction: {20 _enum: ['Present']21 },22 /**23 * Lookup10: sp_trie::storage_proof::StorageProof24 **/25 SpTrieStorageProof: {26 trieNodes: 'BTreeSet'27 },28 /**29 * Lookup11: BTreeSet<T>30 **/31 BTreeSet: 'Vec<Bytes>',32 /**33 * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot34 **/35 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {36 dmqMqcHead: 'H256',37 relayDispatchQueueSize: '(u32,u32)',38 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>',39 egressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>'40 },41 /**42 * Lookup18: polkadot_primitives::v1::AbridgedHrmpChannel43 **/44 PolkadotPrimitivesV1AbridgedHrmpChannel: {45 maxCapacity: 'u32',46 maxTotalSize: 'u32',47 maxMessageSize: 'u32',48 msgCount: 'u32',49 totalSize: 'u32',50 mqcHead: 'Option<H256>'51 },52 /**53 * Lookup20: polkadot_primitives::v1::AbridgedHostConfiguration54 **/55 PolkadotPrimitivesV1AbridgedHostConfiguration: {56 maxCodeSize: 'u32',57 maxHeadDataSize: 'u32',58 maxUpwardQueueCount: 'u32',59 maxUpwardQueueSize: 'u32',60 maxUpwardMessageSize: 'u32',61 maxUpwardMessageNumPerCandidate: 'u32',62 hrmpMaxMessageNumPerCandidate: 'u32',63 validationUpgradeCooldown: 'u32',64 validationUpgradeDelay: 'u32'65 },66 /**67 * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>68 **/69 PolkadotCorePrimitivesOutboundHrmpMessage: {70 recipient: 'u32',71 data: 'Bytes'72 },73 /**74 * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>75 **/76 CumulusPalletParachainSystemCall: {77 _enum: {78 set_validation_data: {79 data: 'CumulusPrimitivesParachainInherentParachainInherentData',80 },81 sudo_send_upward_message: {82 message: 'Bytes',83 },84 authorize_upgrade: {85 codeHash: 'H256',86 },87 enact_authorized_upgrade: {88 code: 'Bytes'89 }90 }91 },92 /**93 * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData94 **/95 CumulusPrimitivesParachainInherentParachainInherentData: {96 validationData: 'PolkadotPrimitivesV1PersistedValidationData',97 relayChainState: 'SpTrieStorageProof',98 downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',99 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'100 },101 /**102 * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>103 **/104 PolkadotCorePrimitivesInboundDownwardMessage: {105 sentAt: 'u32',106 msg: 'Bytes'107 },108 /**109 * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>110 **/111 PolkadotCorePrimitivesInboundHrmpMessage: {112 sentAt: 'u32',113 data: 'Bytes'114 },115 /**116 * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>117 **/118 CumulusPalletParachainSystemEvent: {119 _enum: {120 ValidationFunctionStored: 'Null',121 ValidationFunctionApplied: 'u32',122 ValidationFunctionDiscarded: 'Null',123 UpgradeAuthorized: 'H256',124 DownwardMessagesReceived: 'u32',125 DownwardMessagesProcessed: '(u64,H256)'126 }127 },128 /**129 * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>130 **/131 CumulusPalletParachainSystemError: {132 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']133 },134 /**135 * Lookup41: pallet_balances::AccountData<Balance>136 **/137 PalletBalancesAccountData: {138 free: 'u128',139 reserved: 'u128',140 miscFrozen: 'u128',141 feeFrozen: 'u128'142 },143 /**144 * Lookup43: pallet_balances::BalanceLock<Balance>145 **/146 PalletBalancesBalanceLock: {147 id: '[u8;8]',148 amount: 'u128',149 reasons: 'PalletBalancesReasons'150 },151 /**152 * Lookup45: pallet_balances::Reasons153 **/154 PalletBalancesReasons: {155 _enum: ['Fee', 'Misc', 'All']156 },157 /**158 * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>159 **/160 PalletBalancesReserveData: {161 id: '[u8;8]',162 amount: 'u128'163 },164 /**165 * Lookup50: pallet_balances::Releases166 **/167 PalletBalancesReleases: {168 _enum: ['V1_0_0', 'V2_0_0']169 },170 /**171 * Lookup51: pallet_balances::pallet::Call<T, I>172 **/173 PalletBalancesCall: {174 _enum: {175 transfer: {176 dest: 'MultiAddress',177 value: 'Compact<u128>',178 },179 set_balance: {180 who: 'MultiAddress',181 newFree: 'Compact<u128>',182 newReserved: 'Compact<u128>',183 },184 force_transfer: {185 source: 'MultiAddress',186 dest: 'MultiAddress',187 value: 'Compact<u128>',188 },189 transfer_keep_alive: {190 dest: 'MultiAddress',191 value: 'Compact<u128>',192 },193 transfer_all: {194 dest: 'MultiAddress',195 keepAlive: 'bool',196 },197 force_unreserve: {198 who: 'MultiAddress',199 amount: 'u128'200 }201 }202 },203 /**204 * Lookup57: pallet_balances::pallet::Event<T, I>205 **/206 PalletBalancesEvent: {207 _enum: {208 Endowed: {209 account: 'AccountId32',210 freeBalance: 'u128',211 },212 DustLost: {213 account: 'AccountId32',214 amount: 'u128',215 },216 Transfer: {217 from: 'AccountId32',218 to: 'AccountId32',219 amount: 'u128',220 },221 BalanceSet: {222 who: 'AccountId32',223 free: 'u128',224 reserved: 'u128',225 },226 Reserved: {227 who: 'AccountId32',228 amount: 'u128',229 },230 Unreserved: {231 who: 'AccountId32',232 amount: 'u128',233 },234 ReserveRepatriated: {235 from: 'AccountId32',236 to: 'AccountId32',237 amount: 'u128',238 destinationStatus: 'FrameSupportTokensMiscBalanceStatus',239 },240 Deposit: {241 who: 'AccountId32',242 amount: 'u128',243 },244 Withdraw: {245 who: 'AccountId32',246 amount: 'u128',247 },248 Slashed: {249 who: 'AccountId32',250 amount: 'u128'251 }252 }253 },254 /**255 * Lookup58: frame_support::traits::tokens::misc::BalanceStatus256 **/257 FrameSupportTokensMiscBalanceStatus: {258 _enum: ['Free', 'Reserved']259 },260 /**261 * Lookup59: pallet_balances::pallet::Error<T, I>262 **/263 PalletBalancesError: {264 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']265 },266 /**267 * Lookup62: pallet_timestamp::pallet::Call<T>268 **/269 PalletTimestampCall: {270 _enum: {271 set: {272 now: 'Compact<u64>'273 }274 }275 },276 /**277 * Lookup65: pallet_transaction_payment::Releases278 **/279 PalletTransactionPaymentReleases: {280 _enum: ['V1Ancient', 'V2']281 },282 /**283 * Lookup67: frame_support::weights::WeightToFeeCoefficient<Balance>284 **/285 FrameSupportWeightsWeightToFeeCoefficient: {286 coeffInteger: 'u128',287 coeffFrac: 'Perbill',288 negative: 'bool',289 degree: 'u8'290 },291 /**292 * Lookup69: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>293 **/294 PalletTreasuryProposal: {295 proposer: 'AccountId32',296 value: 'u128',297 beneficiary: 'AccountId32',298 bond: 'u128'299 },300 /**301 * Lookup72: pallet_treasury::pallet::Call<T, I>302 **/303 PalletTreasuryCall: {304 _enum: {305 propose_spend: {306 value: 'Compact<u128>',307 beneficiary: 'MultiAddress',308 },309 reject_proposal: {310 proposalId: 'Compact<u32>',311 },312 approve_proposal: {313 proposalId: 'Compact<u32>'314 }315 }316 },317 /**318 * Lookup74: pallet_treasury::pallet::Event<T, I>319 **/320 PalletTreasuryEvent: {321 _enum: {322 Proposed: {323 proposalIndex: 'u32',324 },325 Spending: {326 budgetRemaining: 'u128',327 },328 Awarded: {329 proposalIndex: 'u32',330 award: 'u128',331 account: 'AccountId32',332 },333 Rejected: {334 proposalIndex: 'u32',335 slashed: 'u128',336 },337 Burnt: {338 burntFunds: 'u128',339 },340 Rollover: {341 rolloverBalance: 'u128',342 },343 Deposit: {344 value: 'u128'345 }346 }347 },348 /**349 * Lookup77: frame_support::PalletId350 **/351 FrameSupportPalletId: '[u8;8]',352 /**353 * Lookup78: pallet_treasury::pallet::Error<T, I>354 **/355 PalletTreasuryError: {356 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']357 },358 /**359 * Lookup79: pallet_sudo::pallet::Call<T>360 **/361 PalletSudoCall: {362 _enum: {363 sudo: {364 call: 'Call',365 },366 sudo_unchecked_weight: {367 call: 'Call',368 weight: 'u64',369 },370 set_key: {371 _alias: {372 new_: 'new',373 },374 new_: 'MultiAddress',375 },376 sudo_as: {377 who: 'MultiAddress',378 call: 'Call'379 }380 }381 },382 /**383 * Lookup81: frame_system::pallet::Call<T>384 **/385 FrameSystemCall: {386 _enum: {387 fill_block: {388 ratio: 'Perbill',389 },390 remark: {391 remark: 'Bytes',392 },393 set_heap_pages: {394 pages: 'u64',395 },396 set_code: {397 code: 'Bytes',398 },399 set_code_without_checks: {400 code: 'Bytes',401 },402 set_storage: {403 items: 'Vec<(Bytes,Bytes)>',404 },405 kill_storage: {406 _alias: {407 keys_: 'keys',408 },409 keys_: 'Vec<Bytes>',410 },411 kill_prefix: {412 prefix: 'Bytes',413 subkeys: 'u32',414 },415 remark_with_event: {416 remark: 'Bytes'417 }418 }419 },420 /**421 * Lookup84: orml_vesting::module::Call<T>422 **/423 OrmlVestingModuleCall: {424 _enum: {425 claim: 'Null',426 vested_transfer: {427 dest: 'MultiAddress',428 schedule: 'OrmlVestingVestingSchedule',429 },430 update_vesting_schedules: {431 who: 'MultiAddress',432 vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',433 },434 claim_for: {435 dest: 'MultiAddress'436 }437 }438 },439 /**440 * Lookup85: orml_vesting::VestingSchedule<BlockNumber, Balance>441 **/442 OrmlVestingVestingSchedule: {443 start: 'u32',444 period: 'u32',445 periodCount: 'u32',446 perPeriod: 'Compact<u128>'447 },448 /**449 * Lookup87: cumulus_pallet_xcmp_queue::pallet::Call<T>450 **/451 CumulusPalletXcmpQueueCall: {452 _enum: {453 service_overweight: {454 index: 'u64',455 weightLimit: 'u64',456 },457 suspend_xcm_execution: 'Null',458 resume_xcm_execution: 'Null',459 update_suspend_threshold: {460 _alias: {461 new_: 'new',462 },463 new_: 'u32',464 },465 update_drop_threshold: {466 _alias: {467 new_: 'new',468 },469 new_: 'u32',470 },471 update_resume_threshold: {472 _alias: {473 new_: 'new',474 },475 new_: 'u32',476 },477 update_threshold_weight: {478 _alias: {479 new_: 'new',480 },481 new_: 'u64',482 },483 update_weight_restrict_decay: {484 _alias: {485 new_: 'new',486 },487 new_: 'u64',488 },489 update_xcmp_max_individual_weight: {490 _alias: {491 new_: 'new',492 },493 new_: 'u64'494 }495 }496 },497 /**498 * Lookup88: pallet_xcm::pallet::Call<T>499 **/500 PalletXcmCall: {501 _enum: {502 send: {503 dest: 'XcmVersionedMultiLocation',504 message: 'XcmVersionedXcm',505 },506 teleport_assets: {507 dest: 'XcmVersionedMultiLocation',508 beneficiary: 'XcmVersionedMultiLocation',509 assets: 'XcmVersionedMultiAssets',510 feeAssetItem: 'u32',511 },512 reserve_transfer_assets: {513 dest: 'XcmVersionedMultiLocation',514 beneficiary: 'XcmVersionedMultiLocation',515 assets: 'XcmVersionedMultiAssets',516 feeAssetItem: 'u32',517 },518 execute: {519 message: 'XcmVersionedXcm',520 maxWeight: 'u64',521 },522 force_xcm_version: {523 location: 'XcmV1MultiLocation',524 xcmVersion: 'u32',525 },526 force_default_xcm_version: {527 maybeXcmVersion: 'Option<u32>',528 },529 force_subscribe_version_notify: {530 location: 'XcmVersionedMultiLocation',531 },532 force_unsubscribe_version_notify: {533 location: 'XcmVersionedMultiLocation',534 },535 limited_reserve_transfer_assets: {536 dest: 'XcmVersionedMultiLocation',537 beneficiary: 'XcmVersionedMultiLocation',538 assets: 'XcmVersionedMultiAssets',539 feeAssetItem: 'u32',540 weightLimit: 'XcmV2WeightLimit',541 },542 limited_teleport_assets: {543 dest: 'XcmVersionedMultiLocation',544 beneficiary: 'XcmVersionedMultiLocation',545 assets: 'XcmVersionedMultiAssets',546 feeAssetItem: 'u32',547 weightLimit: 'XcmV2WeightLimit'548 }549 }550 },551 /**552 * Lookup89: xcm::VersionedMultiLocation553 **/554 XcmVersionedMultiLocation: {555 _enum: {556 V0: 'XcmV0MultiLocation',557 V1: 'XcmV1MultiLocation'558 }559 },560 /**561 * Lookup90: xcm::v0::multi_location::MultiLocation562 **/563 XcmV0MultiLocation: {564 _enum: {565 Null: 'Null',566 X1: 'XcmV0Junction',567 X2: '(XcmV0Junction,XcmV0Junction)',568 X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',569 X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',570 X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',571 X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',572 X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',573 X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'574 }575 },576 /**577 * Lookup91: xcm::v0::junction::Junction578 **/579 XcmV0Junction: {580 _enum: {581 Parent: 'Null',582 Parachain: 'Compact<u32>',583 AccountId32: {584 network: 'XcmV0JunctionNetworkId',585 id: '[u8;32]',586 },587 AccountIndex64: {588 network: 'XcmV0JunctionNetworkId',589 index: 'Compact<u64>',590 },591 AccountKey20: {592 network: 'XcmV0JunctionNetworkId',593 key: '[u8;20]',594 },595 PalletInstance: 'u8',596 GeneralIndex: 'Compact<u128>',597 GeneralKey: 'Bytes',598 OnlyChild: 'Null',599 Plurality: {600 id: 'XcmV0JunctionBodyId',601 part: 'XcmV0JunctionBodyPart'602 }603 }604 },605 /**606 * Lookup92: xcm::v0::junction::NetworkId607 **/608 XcmV0JunctionNetworkId: {609 _enum: {610 Any: 'Null',611 Named: 'Bytes',612 Polkadot: 'Null',613 Kusama: 'Null'614 }615 },616 /**617 * Lookup93: xcm::v0::junction::BodyId618 **/619 XcmV0JunctionBodyId: {620 _enum: {621 Unit: 'Null',622 Named: 'Bytes',623 Index: 'Compact<u32>',624 Executive: 'Null',625 Technical: 'Null',626 Legislative: 'Null',627 Judicial: 'Null'628 }629 },630 /**631 * Lookup94: xcm::v0::junction::BodyPart632 **/633 XcmV0JunctionBodyPart: {634 _enum: {635 Voice: 'Null',636 Members: {637 count: 'Compact<u32>',638 },639 Fraction: {640 nom: 'Compact<u32>',641 denom: 'Compact<u32>',642 },643 AtLeastProportion: {644 nom: 'Compact<u32>',645 denom: 'Compact<u32>',646 },647 MoreThanProportion: {648 nom: 'Compact<u32>',649 denom: 'Compact<u32>'650 }651 }652 },653 /**654 * Lookup95: xcm::v1::multilocation::MultiLocation655 **/656 XcmV1MultiLocation: {657 parents: 'u8',658 interior: 'XcmV1MultilocationJunctions'659 },660 /**661 * Lookup96: xcm::v1::multilocation::Junctions662 **/663 XcmV1MultilocationJunctions: {664 _enum: {665 Here: 'Null',666 X1: 'XcmV1Junction',667 X2: '(XcmV1Junction,XcmV1Junction)',668 X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',669 X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',670 X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',671 X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',672 X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',673 X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'674 }675 },676 /**677 * Lookup97: xcm::v1::junction::Junction678 **/679 XcmV1Junction: {680 _enum: {681 Parachain: 'Compact<u32>',682 AccountId32: {683 network: 'XcmV0JunctionNetworkId',684 id: '[u8;32]',685 },686 AccountIndex64: {687 network: 'XcmV0JunctionNetworkId',688 index: 'Compact<u64>',689 },690 AccountKey20: {691 network: 'XcmV0JunctionNetworkId',692 key: '[u8;20]',693 },694 PalletInstance: 'u8',695 GeneralIndex: 'Compact<u128>',696 GeneralKey: 'Bytes',697 OnlyChild: 'Null',698 Plurality: {699 id: 'XcmV0JunctionBodyId',700 part: 'XcmV0JunctionBodyPart'701 }702 }703 },704 /**705 * Lookup98: xcm::VersionedXcm<Call>706 **/707 XcmVersionedXcm: {708 _enum: {709 V0: 'XcmV0Xcm',710 V1: 'XcmV1Xcm',711 V2: 'XcmV2Xcm'712 }713 },714 /**715 * Lookup99: xcm::v0::Xcm<Call>716 **/717 XcmV0Xcm: {718 _enum: {719 WithdrawAsset: {720 assets: 'Vec<XcmV0MultiAsset>',721 effects: 'Vec<XcmV0Order>',722 },723 ReserveAssetDeposit: {724 assets: 'Vec<XcmV0MultiAsset>',725 effects: 'Vec<XcmV0Order>',726 },727 TeleportAsset: {728 assets: 'Vec<XcmV0MultiAsset>',729 effects: 'Vec<XcmV0Order>',730 },731 QueryResponse: {732 queryId: 'Compact<u64>',733 response: 'XcmV0Response',734 },735 TransferAsset: {736 assets: 'Vec<XcmV0MultiAsset>',737 dest: 'XcmV0MultiLocation',738 },739 TransferReserveAsset: {740 assets: 'Vec<XcmV0MultiAsset>',741 dest: 'XcmV0MultiLocation',742 effects: 'Vec<XcmV0Order>',743 },744 Transact: {745 originType: 'XcmV0OriginKind',746 requireWeightAtMost: 'u64',747 call: 'XcmDoubleEncoded',748 },749 HrmpNewChannelOpenRequest: {750 sender: 'Compact<u32>',751 maxMessageSize: 'Compact<u32>',752 maxCapacity: 'Compact<u32>',753 },754 HrmpChannelAccepted: {755 recipient: 'Compact<u32>',756 },757 HrmpChannelClosing: {758 initiator: 'Compact<u32>',759 sender: 'Compact<u32>',760 recipient: 'Compact<u32>',761 },762 RelayedFrom: {763 who: 'XcmV0MultiLocation',764 message: 'XcmV0Xcm'765 }766 }767 },768 /**769 * Lookup101: xcm::v0::multi_asset::MultiAsset770 **/771 XcmV0MultiAsset: {772 _enum: {773 None: 'Null',774 All: 'Null',775 AllFungible: 'Null',776 AllNonFungible: 'Null',777 AllAbstractFungible: {778 id: 'Bytes',779 },780 AllAbstractNonFungible: {781 class: 'Bytes',782 },783 AllConcreteFungible: {784 id: 'XcmV0MultiLocation',785 },786 AllConcreteNonFungible: {787 class: 'XcmV0MultiLocation',788 },789 AbstractFungible: {790 id: 'Bytes',791 amount: 'Compact<u128>',792 },793 AbstractNonFungible: {794 class: 'Bytes',795 instance: 'XcmV1MultiassetAssetInstance',796 },797 ConcreteFungible: {798 id: 'XcmV0MultiLocation',799 amount: 'Compact<u128>',800 },801 ConcreteNonFungible: {802 class: 'XcmV0MultiLocation',803 instance: 'XcmV1MultiassetAssetInstance'804 }805 }806 },807 /**808 * Lookup102: xcm::v1::multiasset::AssetInstance809 **/810 XcmV1MultiassetAssetInstance: {811 _enum: {812 Undefined: 'Null',813 Index: 'Compact<u128>',814 Array4: '[u8;4]',815 Array8: '[u8;8]',816 Array16: '[u8;16]',817 Array32: '[u8;32]',818 Blob: 'Bytes'819 }820 },821 /**822 * Lookup106: xcm::v0::order::Order<Call>823 **/824 XcmV0Order: {825 _enum: {826 Null: 'Null',827 DepositAsset: {828 assets: 'Vec<XcmV0MultiAsset>',829 dest: 'XcmV0MultiLocation',830 },831 DepositReserveAsset: {832 assets: 'Vec<XcmV0MultiAsset>',833 dest: 'XcmV0MultiLocation',834 effects: 'Vec<XcmV0Order>',835 },836 ExchangeAsset: {837 give: 'Vec<XcmV0MultiAsset>',838 receive: 'Vec<XcmV0MultiAsset>',839 },840 InitiateReserveWithdraw: {841 assets: 'Vec<XcmV0MultiAsset>',842 reserve: 'XcmV0MultiLocation',843 effects: 'Vec<XcmV0Order>',844 },845 InitiateTeleport: {846 assets: 'Vec<XcmV0MultiAsset>',847 dest: 'XcmV0MultiLocation',848 effects: 'Vec<XcmV0Order>',849 },850 QueryHolding: {851 queryId: 'Compact<u64>',852 dest: 'XcmV0MultiLocation',853 assets: 'Vec<XcmV0MultiAsset>',854 },855 BuyExecution: {856 fees: 'XcmV0MultiAsset',857 weight: 'u64',858 debt: 'u64',859 haltOnError: 'bool',860 xcm: 'Vec<XcmV0Xcm>'861 }862 }863 },864 /**865 * Lookup108: xcm::v0::Response866 **/867 XcmV0Response: {868 _enum: {869 Assets: 'Vec<XcmV0MultiAsset>'870 }871 },872 /**873 * Lookup109: xcm::v0::OriginKind874 **/875 XcmV0OriginKind: {876 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']877 },878 /**879 * Lookup110: xcm::double_encoded::DoubleEncoded<T>880 **/881 XcmDoubleEncoded: {882 encoded: 'Bytes'883 },884 /**885 * Lookup111: xcm::v1::Xcm<Call>886 **/887 XcmV1Xcm: {888 _enum: {889 WithdrawAsset: {890 assets: 'XcmV1MultiassetMultiAssets',891 effects: 'Vec<XcmV1Order>',892 },893 ReserveAssetDeposited: {894 assets: 'XcmV1MultiassetMultiAssets',895 effects: 'Vec<XcmV1Order>',896 },897 ReceiveTeleportedAsset: {898 assets: 'XcmV1MultiassetMultiAssets',899 effects: 'Vec<XcmV1Order>',900 },901 QueryResponse: {902 queryId: 'Compact<u64>',903 response: 'XcmV1Response',904 },905 TransferAsset: {906 assets: 'XcmV1MultiassetMultiAssets',907 beneficiary: 'XcmV1MultiLocation',908 },909 TransferReserveAsset: {910 assets: 'XcmV1MultiassetMultiAssets',911 dest: 'XcmV1MultiLocation',912 effects: 'Vec<XcmV1Order>',913 },914 Transact: {915 originType: 'XcmV0OriginKind',916 requireWeightAtMost: 'u64',917 call: 'XcmDoubleEncoded',918 },919 HrmpNewChannelOpenRequest: {920 sender: 'Compact<u32>',921 maxMessageSize: 'Compact<u32>',922 maxCapacity: 'Compact<u32>',923 },924 HrmpChannelAccepted: {925 recipient: 'Compact<u32>',926 },927 HrmpChannelClosing: {928 initiator: 'Compact<u32>',929 sender: 'Compact<u32>',930 recipient: 'Compact<u32>',931 },932 RelayedFrom: {933 who: 'XcmV1MultilocationJunctions',934 message: 'XcmV1Xcm',935 },936 SubscribeVersion: {937 queryId: 'Compact<u64>',938 maxResponseWeight: 'Compact<u64>',939 },940 UnsubscribeVersion: 'Null'941 }942 },943 /**944 * Lookup112: xcm::v1::multiasset::MultiAssets945 **/946 XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',947 /**948 * Lookup114: xcm::v1::multiasset::MultiAsset949 **/950 XcmV1MultiAsset: {951 id: 'XcmV1MultiassetAssetId',952 fun: 'XcmV1MultiassetFungibility'953 },954 /**955 * Lookup115: xcm::v1::multiasset::AssetId956 **/957 XcmV1MultiassetAssetId: {958 _enum: {959 Concrete: 'XcmV1MultiLocation',960 Abstract: 'Bytes'961 }962 },963 /**964 * Lookup116: xcm::v1::multiasset::Fungibility965 **/966 XcmV1MultiassetFungibility: {967 _enum: {968 Fungible: 'Compact<u128>',969 NonFungible: 'XcmV1MultiassetAssetInstance'970 }971 },972 /**973 * Lookup118: xcm::v1::order::Order<Call>974 **/975 XcmV1Order: {976 _enum: {977 Noop: 'Null',978 DepositAsset: {979 assets: 'XcmV1MultiassetMultiAssetFilter',980 maxAssets: 'u32',981 beneficiary: 'XcmV1MultiLocation',982 },983 DepositReserveAsset: {984 assets: 'XcmV1MultiassetMultiAssetFilter',985 maxAssets: 'u32',986 dest: 'XcmV1MultiLocation',987 effects: 'Vec<XcmV1Order>',988 },989 ExchangeAsset: {990 give: 'XcmV1MultiassetMultiAssetFilter',991 receive: 'XcmV1MultiassetMultiAssets',992 },993 InitiateReserveWithdraw: {994 assets: 'XcmV1MultiassetMultiAssetFilter',995 reserve: 'XcmV1MultiLocation',996 effects: 'Vec<XcmV1Order>',997 },998 InitiateTeleport: {999 assets: 'XcmV1MultiassetMultiAssetFilter',1000 dest: 'XcmV1MultiLocation',1001 effects: 'Vec<XcmV1Order>',1002 },1003 QueryHolding: {1004 queryId: 'Compact<u64>',1005 dest: 'XcmV1MultiLocation',1006 assets: 'XcmV1MultiassetMultiAssetFilter',1007 },1008 BuyExecution: {1009 fees: 'XcmV1MultiAsset',1010 weight: 'u64',1011 debt: 'u64',1012 haltOnError: 'bool',1013 instructions: 'Vec<XcmV1Xcm>'1014 }1015 }1016 },1017 /**1018 * Lookup119: xcm::v1::multiasset::MultiAssetFilter1019 **/1020 XcmV1MultiassetMultiAssetFilter: {1021 _enum: {1022 Definite: 'XcmV1MultiassetMultiAssets',1023 Wild: 'XcmV1MultiassetWildMultiAsset'1024 }1025 },1026 /**1027 * Lookup120: xcm::v1::multiasset::WildMultiAsset1028 **/1029 XcmV1MultiassetWildMultiAsset: {1030 _enum: {1031 All: 'Null',1032 AllOf: {1033 id: 'XcmV1MultiassetAssetId',1034 fun: 'XcmV1MultiassetWildFungibility'1035 }1036 }1037 },1038 /**1039 * Lookup121: xcm::v1::multiasset::WildFungibility1040 **/1041 XcmV1MultiassetWildFungibility: {1042 _enum: ['Fungible', 'NonFungible']1043 },1044 /**1045 * Lookup123: xcm::v1::Response1046 **/1047 XcmV1Response: {1048 _enum: {1049 Assets: 'XcmV1MultiassetMultiAssets',1050 Version: 'u32'1051 }1052 },1053 /**1054 * Lookup124: xcm::v2::Xcm<Call>1055 **/1056 XcmV2Xcm: 'Vec<XcmV2Instruction>',1057 /**1058 * Lookup126: xcm::v2::Instruction<Call>1059 **/1060 XcmV2Instruction: {1061 _enum: {1062 WithdrawAsset: 'XcmV1MultiassetMultiAssets',1063 ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1064 ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1065 QueryResponse: {1066 queryId: 'Compact<u64>',1067 response: 'XcmV2Response',1068 maxWeight: 'Compact<u64>',1069 },1070 TransferAsset: {1071 assets: 'XcmV1MultiassetMultiAssets',1072 beneficiary: 'XcmV1MultiLocation',1073 },1074 TransferReserveAsset: {1075 assets: 'XcmV1MultiassetMultiAssets',1076 dest: 'XcmV1MultiLocation',1077 xcm: 'XcmV2Xcm',1078 },1079 Transact: {1080 originType: 'XcmV0OriginKind',1081 requireWeightAtMost: 'Compact<u64>',1082 call: 'XcmDoubleEncoded',1083 },1084 HrmpNewChannelOpenRequest: {1085 sender: 'Compact<u32>',1086 maxMessageSize: 'Compact<u32>',1087 maxCapacity: 'Compact<u32>',1088 },1089 HrmpChannelAccepted: {1090 recipient: 'Compact<u32>',1091 },1092 HrmpChannelClosing: {1093 initiator: 'Compact<u32>',1094 sender: 'Compact<u32>',1095 recipient: 'Compact<u32>',1096 },1097 ClearOrigin: 'Null',1098 DescendOrigin: 'XcmV1MultilocationJunctions',1099 ReportError: {1100 queryId: 'Compact<u64>',1101 dest: 'XcmV1MultiLocation',1102 maxResponseWeight: 'Compact<u64>',1103 },1104 DepositAsset: {1105 assets: 'XcmV1MultiassetMultiAssetFilter',1106 maxAssets: 'Compact<u32>',1107 beneficiary: 'XcmV1MultiLocation',1108 },1109 DepositReserveAsset: {1110 assets: 'XcmV1MultiassetMultiAssetFilter',1111 maxAssets: 'Compact<u32>',1112 dest: 'XcmV1MultiLocation',1113 xcm: 'XcmV2Xcm',1114 },1115 ExchangeAsset: {1116 give: 'XcmV1MultiassetMultiAssetFilter',1117 receive: 'XcmV1MultiassetMultiAssets',1118 },1119 InitiateReserveWithdraw: {1120 assets: 'XcmV1MultiassetMultiAssetFilter',1121 reserve: 'XcmV1MultiLocation',1122 xcm: 'XcmV2Xcm',1123 },1124 InitiateTeleport: {1125 assets: 'XcmV1MultiassetMultiAssetFilter',1126 dest: 'XcmV1MultiLocation',1127 xcm: 'XcmV2Xcm',1128 },1129 QueryHolding: {1130 queryId: 'Compact<u64>',1131 dest: 'XcmV1MultiLocation',1132 assets: 'XcmV1MultiassetMultiAssetFilter',1133 maxResponseWeight: 'Compact<u64>',1134 },1135 BuyExecution: {1136 fees: 'XcmV1MultiAsset',1137 weightLimit: 'XcmV2WeightLimit',1138 },1139 RefundSurplus: 'Null',1140 SetErrorHandler: 'XcmV2Xcm',1141 SetAppendix: 'XcmV2Xcm',1142 ClearError: 'Null',1143 ClaimAsset: {1144 assets: 'XcmV1MultiassetMultiAssets',1145 ticket: 'XcmV1MultiLocation',1146 },1147 Trap: 'Compact<u64>',1148 SubscribeVersion: {1149 queryId: 'Compact<u64>',1150 maxResponseWeight: 'Compact<u64>',1151 },1152 UnsubscribeVersion: 'Null'1153 }1154 },1155 /**1156 * Lookup127: xcm::v2::Response1157 **/1158 XcmV2Response: {1159 _enum: {1160 Null: 'Null',1161 Assets: 'XcmV1MultiassetMultiAssets',1162 ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1163 Version: 'u32'1164 }1165 },1166 /**1167 * Lookup130: xcm::v2::traits::Error1168 **/1169 XcmV2TraitsError: {1170 _enum: {1171 Overflow: 'Null',1172 Unimplemented: 'Null',1173 UntrustedReserveLocation: 'Null',1174 UntrustedTeleportLocation: 'Null',1175 MultiLocationFull: 'Null',1176 MultiLocationNotInvertible: 'Null',1177 BadOrigin: 'Null',1178 InvalidLocation: 'Null',1179 AssetNotFound: 'Null',1180 FailedToTransactAsset: 'Null',1181 NotWithdrawable: 'Null',1182 LocationCannotHold: 'Null',1183 ExceedsMaxMessageSize: 'Null',1184 DestinationUnsupported: 'Null',1185 Transport: 'Null',1186 Unroutable: 'Null',1187 UnknownClaim: 'Null',1188 FailedToDecode: 'Null',1189 MaxWeightInvalid: 'Null',1190 NotHoldingFees: 'Null',1191 TooExpensive: 'Null',1192 Trap: 'u64',1193 UnhandledXcmVersion: 'Null',1194 WeightLimitReached: 'u64',1195 Barrier: 'Null',1196 WeightNotComputable: 'Null'1197 }1198 },1199 /**1200 * Lookup131: xcm::v2::WeightLimit1201 **/1202 XcmV2WeightLimit: {1203 _enum: {1204 Unlimited: 'Null',1205 Limited: 'Compact<u64>'1206 }1207 },1208 /**1209 * Lookup132: xcm::VersionedMultiAssets1210 **/1211 XcmVersionedMultiAssets: {1212 _enum: {1213 V0: 'Vec<XcmV0MultiAsset>',1214 V1: 'XcmV1MultiassetMultiAssets'1215 }1216 },1217 /**1218 * Lookup147: cumulus_pallet_xcm::pallet::Call<T>1219 **/1220 CumulusPalletXcmCall: 'Null',1221 /**1222 * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>1223 **/1224 CumulusPalletDmpQueueCall: {1225 _enum: {1226 service_overweight: {1227 index: 'u64',1228 weightLimit: 'u64'1229 }1230 }1231 },1232 /**1233 * Lookup149: pallet_inflation::pallet::Call<T>1234 **/1235 PalletInflationCall: {1236 _enum: {1237 start_inflation: {1238 inflationStartRelayBlock: 'u32'1239 }1240 }1241 },1242 /**1243 * Lookup150: pallet_unique::Call<T>1244 **/1245 PalletUniqueCall: {1246 _enum: {1247 create_collection: {1248 collectionName: 'Vec<u16>',1249 collectionDescription: 'Vec<u16>',1250 tokenPrefix: 'Bytes',1251 mode: 'UpDataStructsCollectionMode',1252 },1253 create_collection_ex: {1254 data: 'UpDataStructsCreateCollectionData',1255 },1256 destroy_collection: {1257 collectionId: 'u32',1258 },1259 add_to_allow_list: {1260 collectionId: 'u32',1261 address: 'PalletEvmAccountBasicCrossAccountIdRepr',1262 },1263 remove_from_allow_list: {1264 collectionId: 'u32',1265 address: 'PalletEvmAccountBasicCrossAccountIdRepr',1266 },1267 set_public_access_mode: {1268 collectionId: 'u32',1269 mode: 'UpDataStructsAccessMode',1270 },1271 set_mint_permission: {1272 collectionId: 'u32',1273 mintPermission: 'bool',1274 },1275 change_collection_owner: {1276 collectionId: 'u32',1277 newOwner: 'AccountId32',1278 },1279 add_collection_admin: {1280 collectionId: 'u32',1281 newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1282 },1283 remove_collection_admin: {1284 collectionId: 'u32',1285 accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1286 },1287 set_collection_sponsor: {1288 collectionId: 'u32',1289 newSponsor: 'AccountId32',1290 },1291 confirm_sponsorship: {1292 collectionId: 'u32',1293 },1294 remove_collection_sponsor: {1295 collectionId: 'u32',1296 },1297 create_item: {1298 collectionId: 'u32',1299 owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1300 data: 'UpDataStructsCreateItemData',1301 },1302 create_multiple_items: {1303 collectionId: 'u32',1304 owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1305 itemsData: 'Vec<UpDataStructsCreateItemData>',1306 },1307 create_multiple_items_ex: {1308 collectionId: 'u32',1309 data: 'UpDataStructsCreateItemExData',1310 },1311 set_transfers_enabled_flag: {1312 collectionId: 'u32',1313 value: 'bool',1314 },1315 burn_item: {1316 collectionId: 'u32',1317 itemId: 'u32',1318 value: 'u128',1319 },1320 burn_from: {1321 collectionId: 'u32',1322 from: 'PalletEvmAccountBasicCrossAccountIdRepr',1323 itemId: 'u32',1324 value: 'u128',1325 },1326 transfer: {1327 recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1328 collectionId: 'u32',1329 itemId: 'u32',1330 value: 'u128',1331 },1332 approve: {1333 spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1334 collectionId: 'u32',1335 itemId: 'u32',1336 amount: 'u128',1337 },1338 transfer_from: {1339 from: 'PalletEvmAccountBasicCrossAccountIdRepr',1340 recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1341 collectionId: 'u32',1342 itemId: 'u32',1343 value: 'u128',1344 },1345 set_variable_meta_data: {1346 collectionId: 'u32',1347 itemId: 'u32',1348 data: 'Bytes',1349 },1350 set_meta_update_permission_flag: {1351 collectionId: 'u32',1352 value: 'UpDataStructsMetaUpdatePermission',1353 },1354 set_schema_version: {1355 collectionId: 'u32',1356 version: 'UpDataStructsSchemaVersion',1357 },1358 set_offchain_schema: {1359 collectionId: 'u32',1360 schema: 'Bytes',1361 },1362 set_const_on_chain_schema: {1363 collectionId: 'u32',1364 schema: 'Bytes',1365 },1366 set_variable_on_chain_schema: {1367 collectionId: 'u32',1368 schema: 'Bytes',1369 },1370 set_collection_limits: {1371 collectionId: 'u32',1372 newLimit: 'UpDataStructsCollectionLimits'1373 }1374 }1375 },1376 /**1377 * Lookup156: up_data_structs::CollectionMode1378 **/1379 UpDataStructsCollectionMode: {1380 _enum: {1381 NFT: 'Null',1382 Fungible: 'u8',1383 ReFungible: 'Null'1384 }1385 },1386 /**1387 * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1388 **/1389 UpDataStructsCreateCollectionData: {1390 mode: 'UpDataStructsCollectionMode',1391 access: 'Option<UpDataStructsAccessMode>',1392 name: 'Vec<u16>',1393 description: 'Vec<u16>',1394 tokenPrefix: 'Bytes',1395 offchainSchema: 'Bytes',1396 schemaVersion: 'Option<UpDataStructsSchemaVersion>',1397 pendingSponsor: 'Option<AccountId32>',1398 limits: 'Option<UpDataStructsCollectionLimits>',1399 variableOnChainSchema: 'Bytes',1400 constOnChainSchema: 'Bytes',1401 metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>'1402 },1403 /**1404 * Lookup159: up_data_structs::AccessMode1405 **/1406 UpDataStructsAccessMode: {1407 _enum: ['Normal', 'AllowList']1408 },1409 /**1410 * Lookup162: up_data_structs::SchemaVersion1411 **/1412 UpDataStructsSchemaVersion: {1413 _enum: ['ImageURL', 'Unique']1414 },1415 /**1416 * Lookup165: up_data_structs::CollectionLimits1417 **/1418 UpDataStructsCollectionLimits: {1419 accountTokenOwnershipLimit: 'Option<u32>',1420 sponsoredDataSize: 'Option<u32>',1421 sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1422 tokenLimit: 'Option<u32>',1423 sponsorTransferTimeout: 'Option<u32>',1424 sponsorApproveTimeout: 'Option<u32>',1425 ownerCanTransfer: 'Option<bool>',1426 ownerCanDestroy: 'Option<bool>',1427 transfersEnabled: 'Option<bool>'1428 },1429 /**1430 * Lookup167: up_data_structs::SponsoringRateLimit1431 **/1432 UpDataStructsSponsoringRateLimit: {1433 _enum: {1434 SponsoringDisabled: 'Null',1435 Blocks: 'u32'1436 }1437 },1438 /**1439 * Lookup171: up_data_structs::MetaUpdatePermission1440 **/1441 UpDataStructsMetaUpdatePermission: {1442 _enum: ['ItemOwner', 'Admin', 'None']1443 },1444 /**1445 * Lookup173: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1446 **/1447 PalletEvmAccountBasicCrossAccountIdRepr: {1448 _enum: {1449 Substrate: 'AccountId32',1450 Ethereum: 'H160'1451 }1452 },1453 /**1454 * Lookup175: up_data_structs::CreateItemData1455 **/1456 UpDataStructsCreateItemData: {1457 _enum: {1458 NFT: 'UpDataStructsCreateNftData',1459 Fungible: 'UpDataStructsCreateFungibleData',1460 ReFungible: 'UpDataStructsCreateReFungibleData'1461 }1462 },1463 /**1464 * Lookup176: up_data_structs::CreateNftData1465 **/1466 UpDataStructsCreateNftData: {1467 constData: 'Bytes',1468 variableData: 'Bytes'1469 },1470 /**1471 * Lookup178: up_data_structs::CreateFungibleData1472 **/1473 UpDataStructsCreateFungibleData: {1474 value: 'u128'1475 },1476 /**1477 * Lookup179: up_data_structs::CreateReFungibleData1478 **/1479 UpDataStructsCreateReFungibleData: {1480 constData: 'Bytes',1481 variableData: 'Bytes',1482 pieces: 'u128'1483 },1484 /**1485 * Lookup181: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1486 **/1487 UpDataStructsCreateItemExData: {1488 _enum: {1489 NFT: 'Vec<UpDataStructsCreateNftExData>',1490 Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1491 RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1492 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1493 }1494 },1495 /**1496 * Lookup183: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1497 **/1498 UpDataStructsCreateNftExData: {1499 constData: 'Bytes',1500 variableData: 'Bytes',1501 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1502 },1503 /**1504 * Lookup190: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1505 **/1506 UpDataStructsCreateRefungibleExData: {1507 constData: 'Bytes',1508 variableData: 'Bytes',1509 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'1510 },1511 /**1512 * Lookup193: pallet_template_transaction_payment::Call<T>1513 **/1514 PalletTemplateTransactionPaymentCall: 'Null',1515 /**1516 * Lookup194: pallet_evm::pallet::Call<T>1517 **/1518 PalletEvmCall: {1519 _enum: {1520 withdraw: {1521 address: 'H160',1522 value: 'u128',1523 },1524 call: {1525 source: 'H160',1526 target: 'H160',1527 input: 'Bytes',1528 value: 'U256',1529 gasLimit: 'u64',1530 maxFeePerGas: 'U256',1531 maxPriorityFeePerGas: 'Option<U256>',1532 nonce: 'Option<U256>',1533 accessList: 'Vec<(H160,Vec<H256>)>',1534 },1535 create: {1536 source: 'H160',1537 init: 'Bytes',1538 value: 'U256',1539 gasLimit: 'u64',1540 maxFeePerGas: 'U256',1541 maxPriorityFeePerGas: 'Option<U256>',1542 nonce: 'Option<U256>',1543 accessList: 'Vec<(H160,Vec<H256>)>',1544 },1545 create2: {1546 source: 'H160',1547 init: 'Bytes',1548 salt: 'H256',1549 value: 'U256',1550 gasLimit: 'u64',1551 maxFeePerGas: 'U256',1552 maxPriorityFeePerGas: 'Option<U256>',1553 nonce: 'Option<U256>',1554 accessList: 'Vec<(H160,Vec<H256>)>'1555 }1556 }1557 },1558 /**1559 * Lookup200: pallet_ethereum::pallet::Call<T>1560 **/1561 PalletEthereumCall: {1562 _enum: {1563 transact: {1564 transaction: 'EthereumTransactionTransactionV2'1565 }1566 }1567 },1568 /**1569 * Lookup201: ethereum::transaction::TransactionV21570 **/1571 EthereumTransactionTransactionV2: {1572 _enum: {1573 Legacy: 'EthereumTransactionLegacyTransaction',1574 EIP2930: 'EthereumTransactionEip2930Transaction',1575 EIP1559: 'EthereumTransactionEip1559Transaction'1576 }1577 },1578 /**1579 * Lookup202: ethereum::transaction::LegacyTransaction1580 **/1581 EthereumTransactionLegacyTransaction: {1582 nonce: 'U256',1583 gasPrice: 'U256',1584 gasLimit: 'U256',1585 action: 'EthereumTransactionTransactionAction',1586 value: 'U256',1587 input: 'Bytes',1588 signature: 'EthereumTransactionTransactionSignature'1589 },1590 /**1591 * Lookup203: ethereum::transaction::TransactionAction1592 **/1593 EthereumTransactionTransactionAction: {1594 _enum: {1595 Call: 'H160',1596 Create: 'Null'1597 }1598 },1599 /**1600 * Lookup204: ethereum::transaction::TransactionSignature1601 **/1602 EthereumTransactionTransactionSignature: {1603 v: 'u64',1604 r: 'H256',1605 s: 'H256'1606 },1607 /**1608 * Lookup206: ethereum::transaction::EIP2930Transaction1609 **/1610 EthereumTransactionEip2930Transaction: {1611 chainId: 'u64',1612 nonce: 'U256',1613 gasPrice: 'U256',1614 gasLimit: 'U256',1615 action: 'EthereumTransactionTransactionAction',1616 value: 'U256',1617 input: 'Bytes',1618 accessList: 'Vec<EthereumTransactionAccessListItem>',1619 oddYParity: 'bool',1620 r: 'H256',1621 s: 'H256'1622 },1623 /**1624 * Lookup208: ethereum::transaction::AccessListItem1625 **/1626 EthereumTransactionAccessListItem: {1627 address: 'H160',1628 storageKeys: 'Vec<H256>'1629 },1630 /**1631 * Lookup209: ethereum::transaction::EIP1559Transaction1632 **/1633 EthereumTransactionEip1559Transaction: {1634 chainId: 'u64',1635 nonce: 'U256',1636 maxPriorityFeePerGas: 'U256',1637 maxFeePerGas: 'U256',1638 gasLimit: 'U256',1639 action: 'EthereumTransactionTransactionAction',1640 value: 'U256',1641 input: 'Bytes',1642 accessList: 'Vec<EthereumTransactionAccessListItem>',1643 oddYParity: 'bool',1644 r: 'H256',1645 s: 'H256'1646 },1647 /**1648 * Lookup210: pallet_evm_migration::pallet::Call<T>1649 **/1650 PalletEvmMigrationCall: {1651 _enum: {1652 begin: {1653 address: 'H160',1654 },1655 set_data: {1656 address: 'H160',1657 data: 'Vec<(H256,H256)>',1658 },1659 finish: {1660 address: 'H160',1661 code: 'Bytes'1662 }1663 }1664 },1665 /**1666 * Lookup213: pallet_sudo::pallet::Event<T>1667 **/1668 PalletSudoEvent: {1669 _enum: {1670 Sudid: {1671 sudoResult: 'Result<Null, SpRuntimeDispatchError>',1672 },1673 KeyChanged: {1674 oldSudoer: 'Option<AccountId32>',1675 },1676 SudoAsDone: {1677 sudoResult: 'Result<Null, SpRuntimeDispatchError>'1678 }1679 }1680 },1681 /**1682 * Lookup215: sp_runtime::DispatchError1683 **/1684 SpRuntimeDispatchError: {1685 _enum: {1686 Other: 'Null',1687 CannotLookup: 'Null',1688 BadOrigin: 'Null',1689 Module: 'SpRuntimeModuleError',1690 ConsumerRemaining: 'Null',1691 NoProviders: 'Null',1692 TooManyConsumers: 'Null',1693 Token: 'SpRuntimeTokenError',1694 Arithmetic: 'SpRuntimeArithmeticError'1695 }1696 },1697 /**1698 * Lookup216: sp_runtime::ModuleError1699 **/1700 SpRuntimeModuleError: {1701 index: 'u8',1702 error: 'u8'1703 },1704 /**1705 * Lookup217: sp_runtime::TokenError1706 **/1707 SpRuntimeTokenError: {1708 _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1709 },1710 /**1711 * Lookup218: sp_runtime::ArithmeticError1712 **/1713 SpRuntimeArithmeticError: {1714 _enum: ['Underflow', 'Overflow', 'DivisionByZero']1715 },1716 /**1717 * Lookup219: pallet_sudo::pallet::Error<T>1718 **/1719 PalletSudoError: {1720 _enum: ['RequireSudo']1721 },1722 /**1723 * Lookup220: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1724 **/1725 FrameSystemAccountInfo: {1726 nonce: 'u32',1727 consumers: 'u32',1728 providers: 'u32',1729 sufficients: 'u32',1730 data: 'PalletBalancesAccountData'1731 },1732 /**1733 * Lookup221: frame_support::weights::PerDispatchClass<T>1734 **/1735 FrameSupportWeightsPerDispatchClassU64: {1736 normal: 'u64',1737 operational: 'u64',1738 mandatory: 'u64'1739 },1740 /**1741 * Lookup222: sp_runtime::generic::digest::Digest1742 **/1743 SpRuntimeDigest: {1744 logs: 'Vec<SpRuntimeDigestDigestItem>'1745 },1746 /**1747 * Lookup224: sp_runtime::generic::digest::DigestItem1748 **/1749 SpRuntimeDigestDigestItem: {1750 _enum: {1751 Other: 'Bytes',1752 __Unused1: 'Null',1753 __Unused2: 'Null',1754 __Unused3: 'Null',1755 Consensus: '([u8;4],Bytes)',1756 Seal: '([u8;4],Bytes)',1757 PreRuntime: '([u8;4],Bytes)',1758 __Unused7: 'Null',1759 RuntimeEnvironmentUpdated: 'Null'1760 }1761 },1762 /**1763 * Lookup226: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>1764 **/1765 FrameSystemEventRecord: {1766 phase: 'FrameSystemPhase',1767 event: 'Event',1768 topics: 'Vec<H256>'1769 },1770 /**1771 * Lookup228: frame_system::pallet::Event<T>1772 **/1773 FrameSystemEvent: {1774 _enum: {1775 ExtrinsicSuccess: {1776 dispatchInfo: 'FrameSupportWeightsDispatchInfo',1777 },1778 ExtrinsicFailed: {1779 dispatchError: 'SpRuntimeDispatchError',1780 dispatchInfo: 'FrameSupportWeightsDispatchInfo',1781 },1782 CodeUpdated: 'Null',1783 NewAccount: {1784 account: 'AccountId32',1785 },1786 KilledAccount: {1787 account: 'AccountId32',1788 },1789 Remarked: {1790 _alias: {1791 hash_: 'hash',1792 },1793 sender: 'AccountId32',1794 hash_: 'H256'1795 }1796 }1797 },1798 /**1799 * Lookup229: frame_support::weights::DispatchInfo1800 **/1801 FrameSupportWeightsDispatchInfo: {1802 weight: 'u64',1803 class: 'FrameSupportWeightsDispatchClass',1804 paysFee: 'FrameSupportWeightsPays'1805 },1806 /**1807 * Lookup230: frame_support::weights::DispatchClass1808 **/1809 FrameSupportWeightsDispatchClass: {1810 _enum: ['Normal', 'Operational', 'Mandatory']1811 },1812 /**1813 * Lookup231: frame_support::weights::Pays1814 **/1815 FrameSupportWeightsPays: {1816 _enum: ['Yes', 'No']1817 },1818 /**1819 * Lookup232: orml_vesting::module::Event<T>1820 **/1821 OrmlVestingModuleEvent: {1822 _enum: {1823 VestingScheduleAdded: {1824 from: 'AccountId32',1825 to: 'AccountId32',1826 vestingSchedule: 'OrmlVestingVestingSchedule',1827 },1828 Claimed: {1829 who: 'AccountId32',1830 amount: 'u128',1831 },1832 VestingSchedulesUpdated: {1833 who: 'AccountId32'1834 }1835 }1836 },1837 /**1838 * Lookup233: cumulus_pallet_xcmp_queue::pallet::Event<T>1839 **/1840 CumulusPalletXcmpQueueEvent: {1841 _enum: {1842 Success: 'Option<H256>',1843 Fail: '(Option<H256>,XcmV2TraitsError)',1844 BadVersion: 'Option<H256>',1845 BadFormat: 'Option<H256>',1846 UpwardMessageSent: 'Option<H256>',1847 XcmpMessageSent: 'Option<H256>',1848 OverweightEnqueued: '(u32,u32,u64,u64)',1849 OverweightServiced: '(u64,u64)'1850 }1851 },1852 /**1853 * Lookup234: pallet_xcm::pallet::Event<T>1854 **/1855 PalletXcmEvent: {1856 _enum: {1857 Attempted: 'XcmV2TraitsOutcome',1858 Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',1859 UnexpectedResponse: '(XcmV1MultiLocation,u64)',1860 ResponseReady: '(u64,XcmV2Response)',1861 Notified: '(u64,u8,u8)',1862 NotifyOverweight: '(u64,u8,u8,u64,u64)',1863 NotifyDispatchError: '(u64,u8,u8)',1864 NotifyDecodeFailed: '(u64,u8,u8)',1865 InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',1866 InvalidResponderVersion: '(XcmV1MultiLocation,u64)',1867 ResponseTaken: 'u64',1868 AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',1869 VersionChangeNotified: '(XcmV1MultiLocation,u32)',1870 SupportedVersionChanged: '(XcmV1MultiLocation,u32)',1871 NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',1872 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1873 }1874 },1875 /**1876 * Lookup235: xcm::v2::traits::Outcome1877 **/1878 XcmV2TraitsOutcome: {1879 _enum: {1880 Complete: 'u64',1881 Incomplete: '(u64,XcmV2TraitsError)',1882 Error: 'XcmV2TraitsError'1883 }1884 },1885 /**1886 * Lookup237: cumulus_pallet_xcm::pallet::Event<T>1887 **/1888 CumulusPalletXcmEvent: {1889 _enum: {1890 InvalidFormat: '[u8;8]',1891 UnsupportedVersion: '[u8;8]',1892 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1893 }1894 },1895 /**1896 * Lookup238: cumulus_pallet_dmp_queue::pallet::Event<T>1897 **/1898 CumulusPalletDmpQueueEvent: {1899 _enum: {1900 InvalidFormat: '[u8;32]',1901 UnsupportedVersion: '[u8;32]',1902 ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',1903 WeightExhausted: '([u8;32],u64,u64)',1904 OverweightEnqueued: '([u8;32],u64,u64)',1905 OverweightServiced: '(u64,u64)'1906 }1907 },1908 /**1909 * Lookup239: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1910 **/1911 PalletUniqueRawEvent: {1912 _enum: {1913 CollectionSponsorRemoved: 'u32',1914 CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1915 CollectionOwnedChanged: '(u32,AccountId32)',1916 CollectionSponsorSet: '(u32,AccountId32)',1917 ConstOnChainSchemaSet: 'u32',1918 SponsorshipConfirmed: '(u32,AccountId32)',1919 CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1920 AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1921 AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1922 CollectionLimitSet: 'u32',1923 MintPermissionSet: 'u32',1924 OffchainSchemaSet: 'u32',1925 PublicAccessModeSet: '(u32,UpDataStructsAccessMode)',1926 SchemaVersionSet: 'u32',1927 VariableOnChainSchemaSet: 'u32'1928 }1929 },1930 /**1931 * Lookup240: pallet_common::pallet::Event<T>1932 **/1933 PalletCommonEvent: {1934 _enum: {1935 CollectionCreated: '(u32,u8,AccountId32)',1936 CollectionDestroyed: 'u32',1937 ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1938 ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1939 Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1940 Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)'1941 }1942 },1943 /**1944 * Lookup241: pallet_evm::pallet::Event<T>1945 **/1946 PalletEvmEvent: {1947 _enum: {1948 Log: 'EthereumLog',1949 Created: 'H160',1950 CreatedFailed: 'H160',1951 Executed: 'H160',1952 ExecutedFailed: 'H160',1953 BalanceDeposit: '(AccountId32,H160,U256)',1954 BalanceWithdraw: '(AccountId32,H160,U256)'1955 }1956 },1957 /**1958 * Lookup242: ethereum::log::Log1959 **/1960 EthereumLog: {1961 address: 'H160',1962 topics: 'Vec<H256>',1963 data: 'Bytes'1964 },1965 /**1966 * Lookup243: pallet_ethereum::pallet::Event1967 **/1968 PalletEthereumEvent: {1969 _enum: {1970 Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1971 }1972 },1973 /**1974 * Lookup244: evm_core::error::ExitReason1975 **/1976 EvmCoreErrorExitReason: {1977 _enum: {1978 Succeed: 'EvmCoreErrorExitSucceed',1979 Error: 'EvmCoreErrorExitError',1980 Revert: 'EvmCoreErrorExitRevert',1981 Fatal: 'EvmCoreErrorExitFatal'1982 }1983 },1984 /**1985 * Lookup245: evm_core::error::ExitSucceed1986 **/1987 EvmCoreErrorExitSucceed: {1988 _enum: ['Stopped', 'Returned', 'Suicided']1989 },1990 /**1991 * Lookup246: evm_core::error::ExitError1992 **/1993 EvmCoreErrorExitError: {1994 _enum: {1995 StackUnderflow: 'Null',1996 StackOverflow: 'Null',1997 InvalidJump: 'Null',1998 InvalidRange: 'Null',1999 DesignatedInvalid: 'Null',2000 CallTooDeep: 'Null',2001 CreateCollision: 'Null',2002 CreateContractLimit: 'Null',2003 InvalidCode: 'Null',2004 OutOfOffset: 'Null',2005 OutOfGas: 'Null',2006 OutOfFund: 'Null',2007 PCUnderflow: 'Null',2008 CreateEmpty: 'Null',2009 Other: 'Text'2010 }2011 },2012 /**2013 * Lookup249: evm_core::error::ExitRevert2014 **/2015 EvmCoreErrorExitRevert: {2016 _enum: ['Reverted']2017 },2018 /**2019 * Lookup250: evm_core::error::ExitFatal2020 **/2021 EvmCoreErrorExitFatal: {2022 _enum: {2023 NotSupported: 'Null',2024 UnhandledInterrupt: 'Null',2025 CallErrorAsFatal: 'EvmCoreErrorExitError',2026 Other: 'Text'2027 }2028 },2029 /**2030 * Lookup251: frame_system::Phase2031 **/2032 FrameSystemPhase: {2033 _enum: {2034 ApplyExtrinsic: 'u32',2035 Finalization: 'Null',2036 Initialization: 'Null'2037 }2038 },2039 /**2040 * Lookup253: frame_system::LastRuntimeUpgradeInfo2041 **/2042 FrameSystemLastRuntimeUpgradeInfo: {2043 specVersion: 'Compact<u32>',2044 specName: 'Text'2045 },2046 /**2047 * Lookup254: frame_system::limits::BlockWeights2048 **/2049 FrameSystemLimitsBlockWeights: {2050 baseBlock: 'u64',2051 maxBlock: 'u64',2052 perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2053 },2054 /**2055 * Lookup255: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2056 **/2057 FrameSupportWeightsPerDispatchClassWeightsPerClass: {2058 normal: 'FrameSystemLimitsWeightsPerClass',2059 operational: 'FrameSystemLimitsWeightsPerClass',2060 mandatory: 'FrameSystemLimitsWeightsPerClass'2061 },2062 /**2063 * Lookup256: frame_system::limits::WeightsPerClass2064 **/2065 FrameSystemLimitsWeightsPerClass: {2066 baseExtrinsic: 'u64',2067 maxExtrinsic: 'Option<u64>',2068 maxTotal: 'Option<u64>',2069 reserved: 'Option<u64>'2070 },2071 /**2072 * Lookup258: frame_system::limits::BlockLength2073 **/2074 FrameSystemLimitsBlockLength: {2075 max: 'FrameSupportWeightsPerDispatchClassU32'2076 },2077 /**2078 * Lookup259: frame_support::weights::PerDispatchClass<T>2079 **/2080 FrameSupportWeightsPerDispatchClassU32: {2081 normal: 'u32',2082 operational: 'u32',2083 mandatory: 'u32'2084 },2085 /**2086 * Lookup260: frame_support::weights::RuntimeDbWeight2087 **/2088 FrameSupportWeightsRuntimeDbWeight: {2089 read: 'u64',2090 write: 'u64'2091 },2092 /**2093 * Lookup261: sp_version::RuntimeVersion2094 **/2095 SpVersionRuntimeVersion: {2096 specName: 'Text',2097 implName: 'Text',2098 authoringVersion: 'u32',2099 specVersion: 'u32',2100 implVersion: 'u32',2101 apis: 'Vec<([u8;8],u32)>',2102 transactionVersion: 'u32',2103 stateVersion: 'u8'2104 },2105 /**2106 * Lookup265: frame_system::pallet::Error<T>2107 **/2108 FrameSystemError: {2109 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2110 },2111 /**2112 * Lookup267: orml_vesting::module::Error<T>2113 **/2114 OrmlVestingModuleError: {2115 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2116 },2117 /**2118 * Lookup269: cumulus_pallet_xcmp_queue::InboundChannelDetails2119 **/2120 CumulusPalletXcmpQueueInboundChannelDetails: {2121 sender: 'u32',2122 state: 'CumulusPalletXcmpQueueInboundState',2123 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2124 },2125 /**2126 * Lookup270: cumulus_pallet_xcmp_queue::InboundState2127 **/2128 CumulusPalletXcmpQueueInboundState: {2129 _enum: ['Ok', 'Suspended']2130 },2131 /**2132 * Lookup273: polkadot_parachain::primitives::XcmpMessageFormat2133 **/2134 PolkadotParachainPrimitivesXcmpMessageFormat: {2135 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2136 },2137 /**2138 * Lookup276: cumulus_pallet_xcmp_queue::OutboundChannelDetails2139 **/2140 CumulusPalletXcmpQueueOutboundChannelDetails: {2141 recipient: 'u32',2142 state: 'CumulusPalletXcmpQueueOutboundState',2143 signalsExist: 'bool',2144 firstIndex: 'u16',2145 lastIndex: 'u16'2146 },2147 /**2148 * Lookup277: cumulus_pallet_xcmp_queue::OutboundState2149 **/2150 CumulusPalletXcmpQueueOutboundState: {2151 _enum: ['Ok', 'Suspended']2152 },2153 /**2154 * Lookup279: cumulus_pallet_xcmp_queue::QueueConfigData2155 **/2156 CumulusPalletXcmpQueueQueueConfigData: {2157 suspendThreshold: 'u32',2158 dropThreshold: 'u32',2159 resumeThreshold: 'u32',2160 thresholdWeight: 'u64',2161 weightRestrictDecay: 'u64',2162 xcmpMaxIndividualWeight: 'u64'2163 },2164 /**2165 * Lookup281: cumulus_pallet_xcmp_queue::pallet::Error<T>2166 **/2167 CumulusPalletXcmpQueueError: {2168 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2169 },2170 /**2171 * Lookup282: pallet_xcm::pallet::Error<T>2172 **/2173 PalletXcmError: {2174 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2175 },2176 /**2177 * Lookup283: cumulus_pallet_xcm::pallet::Error<T>2178 **/2179 CumulusPalletXcmError: 'Null',2180 /**2181 * Lookup284: cumulus_pallet_dmp_queue::ConfigData2182 **/2183 CumulusPalletDmpQueueConfigData: {2184 maxIndividual: 'u64'2185 },2186 /**2187 * Lookup285: cumulus_pallet_dmp_queue::PageIndexData2188 **/2189 CumulusPalletDmpQueuePageIndexData: {2190 beginUsed: 'u32',2191 endUsed: 'u32',2192 overweightCount: 'u64'2193 },2194 /**2195 * Lookup288: cumulus_pallet_dmp_queue::pallet::Error<T>2196 **/2197 CumulusPalletDmpQueueError: {2198 _enum: ['Unknown', 'OverLimit']2199 },2200 /**2201 * Lookup292: pallet_unique::Error<T>2202 **/2203 PalletUniqueError: {2204 _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2205 },2206 /**2207 * Lookup293: up_data_structs::Collection<sp_core::crypto::AccountId32>2208 **/2209 UpDataStructsCollection: {2210 owner: 'AccountId32',2211 mode: 'UpDataStructsCollectionMode',2212 access: 'UpDataStructsAccessMode',2213 name: 'Vec<u16>',2214 description: 'Vec<u16>',2215 tokenPrefix: 'Bytes',2216 mintMode: 'bool',2217 offchainSchema: 'Bytes',2218 schemaVersion: 'UpDataStructsSchemaVersion',2219 sponsorship: 'UpDataStructsSponsorshipState',2220 limits: 'UpDataStructsCollectionLimits',2221 variableOnChainSchema: 'Bytes',2222 constOnChainSchema: 'Bytes',2223 metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'2224 },2225 /**2226 * Lookup294: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2227 **/2228 UpDataStructsSponsorshipState: {2229 _enum: {2230 Disabled: 'Null',2231 Unconfirmed: 'AccountId32',2232 Confirmed: 'AccountId32'2233 }2234 },2235 /**2236 * Lookup297: up_data_structs::CollectionStats2237 **/2238 UpDataStructsCollectionStats: {2239 created: 'u32',2240 destroyed: 'u32',2241 alive: 'u32'2242 },2243 /**2244 * Lookup298: pallet_common::pallet::Error<T>2245 **/2246 PalletCommonError: {2247 _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds']2248 },2249 /**2250 * Lookup300: pallet_fungible::pallet::Error<T>2251 **/2252 PalletFungibleError: {2253 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']2254 },2255 /**2256 * Lookup301: pallet_refungible::ItemData2257 **/2258 PalletRefungibleItemData: {2259 constData: 'Bytes',2260 variableData: 'Bytes'2261 },2262 /**2263 * Lookup305: pallet_refungible::pallet::Error<T>2264 **/2265 PalletRefungibleError: {2266 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']2267 },2268 /**2269 * Lookup306: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2270 **/2271 PalletNonfungibleItemData: {2272 constData: 'Bytes',2273 variableData: 'Bytes',2274 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2275 },2276 /**2277 * Lookup307: pallet_nonfungible::pallet::Error<T>2278 **/2279 PalletNonfungibleError: {2280 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']2281 },2282 /**2283 * Lookup309: pallet_evm::pallet::Error<T>2284 **/2285 PalletEvmError: {2286 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2287 },2288 /**2289 * Lookup312: fp_rpc::TransactionStatus2290 **/2291 FpRpcTransactionStatus: {2292 transactionHash: 'H256',2293 transactionIndex: 'u32',2294 from: 'H160',2295 to: 'Option<H160>',2296 contractAddress: 'Option<H160>',2297 logs: 'Vec<EthereumLog>',2298 logsBloom: 'EthbloomBloom'2299 },2300 /**2301 * Lookup315: ethbloom::Bloom2302 **/2303 EthbloomBloom: '[u8;256]',2304 /**2305 * Lookup317: ethereum::receipt::ReceiptV32306 **/2307 EthereumReceiptReceiptV3: {2308 _enum: {2309 Legacy: 'EthereumReceiptEip658ReceiptData',2310 EIP2930: 'EthereumReceiptEip658ReceiptData',2311 EIP1559: 'EthereumReceiptEip658ReceiptData'2312 }2313 },2314 /**2315 * Lookup318: ethereum::receipt::EIP658ReceiptData2316 **/2317 EthereumReceiptEip658ReceiptData: {2318 statusCode: 'u8',2319 usedGas: 'U256',2320 logsBloom: 'EthbloomBloom',2321 logs: 'Vec<EthereumLog>'2322 },2323 /**2324 * Lookup319: ethereum::block::Block<ethereum::transaction::TransactionV2>2325 **/2326 EthereumBlock: {2327 header: 'EthereumHeader',2328 transactions: 'Vec<EthereumTransactionTransactionV2>',2329 ommers: 'Vec<EthereumHeader>'2330 },2331 /**2332 * Lookup320: ethereum::header::Header2333 **/2334 EthereumHeader: {2335 parentHash: 'H256',2336 ommersHash: 'H256',2337 beneficiary: 'H160',2338 stateRoot: 'H256',2339 transactionsRoot: 'H256',2340 receiptsRoot: 'H256',2341 logsBloom: 'EthbloomBloom',2342 difficulty: 'U256',2343 number: 'U256',2344 gasLimit: 'U256',2345 gasUsed: 'U256',2346 timestamp: 'u64',2347 extraData: 'Bytes',2348 mixHash: 'H256',2349 nonce: 'EthereumTypesHashH64'2350 },2351 /**2352 * Lookup321: ethereum_types::hash::H642353 **/2354 EthereumTypesHashH64: '[u8;8]',2355 /**2356 * Lookup326: pallet_ethereum::pallet::Error<T>2357 **/2358 PalletEthereumError: {2359 _enum: ['InvalidSignature', 'PreLogExists']2360 },2361 /**2362 * Lookup327: pallet_evm_coder_substrate::pallet::Error<T>2363 **/2364 PalletEvmCoderSubstrateError: {2365 _enum: ['OutOfGas', 'OutOfFund']2366 },2367 /**2368 * Lookup328: pallet_evm_contract_helpers::SponsoringModeT2369 **/2370 PalletEvmContractHelpersSponsoringModeT: {2371 _enum: ['Disabled', 'Allowlisted', 'Generous']2372 },2373 /**2374 * Lookup330: pallet_evm_contract_helpers::pallet::Error<T>2375 **/2376 PalletEvmContractHelpersError: {2377 _enum: ['NoPermission']2378 },2379 /**2380 * Lookup331: pallet_evm_migration::pallet::Error<T>2381 **/2382 PalletEvmMigrationError: {2383 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2384 },2385 /**2386 * Lookup333: sp_runtime::MultiSignature2387 **/2388 SpRuntimeMultiSignature: {2389 _enum: {2390 Ed25519: 'SpCoreEd25519Signature',2391 Sr25519: 'SpCoreSr25519Signature',2392 Ecdsa: 'SpCoreEcdsaSignature'2393 }2394 },2395 /**2396 * Lookup334: sp_core::ed25519::Signature2397 **/2398 SpCoreEd25519Signature: '[u8;64]',2399 /**2400 * Lookup336: sp_core::sr25519::Signature2401 **/2402 SpCoreSr25519Signature: '[u8;64]',2403 /**2404 * Lookup337: sp_core::ecdsa::Signature2405 **/2406 SpCoreEcdsaSignature: '[u8;65]',2407 /**2408 * Lookup340: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2409 **/2410 FrameSystemExtensionsCheckSpecVersion: 'Null',2411 /**2412 * Lookup341: frame_system::extensions::check_genesis::CheckGenesis<T>2413 **/2414 FrameSystemExtensionsCheckGenesis: 'Null',2415 /**2416 * Lookup344: frame_system::extensions::check_nonce::CheckNonce<T>2417 **/2418 FrameSystemExtensionsCheckNonce: 'Compact<u32>',2419 /**2420 * Lookup345: frame_system::extensions::check_weight::CheckWeight<T>2421 **/2422 FrameSystemExtensionsCheckWeight: 'Null',2423 /**2424 * Lookup346: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>2425 **/2426 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2427 /**2428 * Lookup347: opal_runtime::Runtime2429 **/2430 OpalRuntimeRuntime: 'Null'2431};tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -2,7 +2,7 @@
/* eslint-disable */
declare module '@polkadot/types/lookup' {
- import type { BTreeMap, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
+ import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
import type { ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
import type { Event } from '@polkadot/types/interfaces/system';
@@ -21,7 +21,15 @@
readonly type: 'Present';
}
- /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (10) */
+ /** @name SpTrieStorageProof (10) */
+ export interface SpTrieStorageProof extends Struct {
+ readonly trieNodes: BTreeSet;
+ }
+
+ /** @name BTreeSet (11) */
+ export interface BTreeSet extends Vec<Bytes> {}
+
+ /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (13) */
export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
readonly dmqMqcHead: H256;
readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
@@ -29,7 +37,7 @@
readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV1AbridgedHrmpChannel]>>;
}
- /** @name PolkadotPrimitivesV1AbridgedHrmpChannel (15) */
+ /** @name PolkadotPrimitivesV1AbridgedHrmpChannel (18) */
export interface PolkadotPrimitivesV1AbridgedHrmpChannel extends Struct {
readonly maxCapacity: u32;
readonly maxTotalSize: u32;
@@ -39,7 +47,7 @@
readonly mqcHead: Option<H256>;
}
- /** @name PolkadotPrimitivesV1AbridgedHostConfiguration (17) */
+ /** @name PolkadotPrimitivesV1AbridgedHostConfiguration (20) */
export interface PolkadotPrimitivesV1AbridgedHostConfiguration extends Struct {
readonly maxCodeSize: u32;
readonly maxHeadDataSize: u32;
@@ -52,13 +60,13 @@
readonly validationUpgradeDelay: u32;
}
- /** @name PolkadotCorePrimitivesOutboundHrmpMessage (23) */
+ /** @name PolkadotCorePrimitivesOutboundHrmpMessage (26) */
export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
readonly recipient: u32;
readonly data: Bytes;
}
- /** @name CumulusPalletParachainSystemCall (26) */
+ /** @name CumulusPalletParachainSystemCall (28) */
export interface CumulusPalletParachainSystemCall extends Enum {
readonly isSetValidationData: boolean;
readonly asSetValidationData: {
@@ -79,7 +87,7 @@
readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
}
- /** @name CumulusPrimitivesParachainInherentParachainInherentData (27) */
+ /** @name CumulusPrimitivesParachainInherentParachainInherentData (29) */
export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
readonly validationData: PolkadotPrimitivesV1PersistedValidationData;
readonly relayChainState: SpTrieStorageProof;
@@ -87,24 +95,19 @@
readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
}
- /** @name SpTrieStorageProof (28) */
- export interface SpTrieStorageProof extends Struct {
- readonly trieNodes: Vec<Bytes>;
- }
-
- /** @name PolkadotCorePrimitivesInboundDownwardMessage (30) */
+ /** @name PolkadotCorePrimitivesInboundDownwardMessage (31) */
export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
readonly sentAt: u32;
readonly msg: Bytes;
}
- /** @name PolkadotCorePrimitivesInboundHrmpMessage (33) */
+ /** @name PolkadotCorePrimitivesInboundHrmpMessage (34) */
export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
readonly sentAt: u32;
readonly data: Bytes;
}
- /** @name CumulusPalletParachainSystemEvent (36) */
+ /** @name CumulusPalletParachainSystemEvent (37) */
export interface CumulusPalletParachainSystemEvent extends Enum {
readonly isValidationFunctionStored: boolean;
readonly isValidationFunctionApplied: boolean;
@@ -119,7 +122,7 @@
readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
}
- /** @name CumulusPalletParachainSystemError (37) */
+ /** @name CumulusPalletParachainSystemError (38) */
export interface CumulusPalletParachainSystemError extends Enum {
readonly isOverlappingUpgrades: boolean;
readonly isProhibitedByPolkadot: boolean;
@@ -132,7 +135,7 @@
readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
}
- /** @name PalletBalancesAccountData (40) */
+ /** @name PalletBalancesAccountData (41) */
export interface PalletBalancesAccountData extends Struct {
readonly free: u128;
readonly reserved: u128;
@@ -140,14 +143,14 @@
readonly feeFrozen: u128;
}
- /** @name PalletBalancesBalanceLock (42) */
+ /** @name PalletBalancesBalanceLock (43) */
export interface PalletBalancesBalanceLock extends Struct {
readonly id: U8aFixed;
readonly amount: u128;
readonly reasons: PalletBalancesReasons;
}
- /** @name PalletBalancesReasons (44) */
+ /** @name PalletBalancesReasons (45) */
export interface PalletBalancesReasons extends Enum {
readonly isFee: boolean;
readonly isMisc: boolean;
@@ -155,20 +158,20 @@
readonly type: 'Fee' | 'Misc' | 'All';
}
- /** @name PalletBalancesReserveData (47) */
+ /** @name PalletBalancesReserveData (48) */
export interface PalletBalancesReserveData extends Struct {
readonly id: U8aFixed;
readonly amount: u128;
}
- /** @name PalletBalancesReleases (49) */
+ /** @name PalletBalancesReleases (50) */
export interface PalletBalancesReleases extends Enum {
readonly isV100: boolean;
readonly isV200: boolean;
readonly type: 'V100' | 'V200';
}
- /** @name PalletBalancesCall (50) */
+ /** @name PalletBalancesCall (51) */
export interface PalletBalancesCall extends Enum {
readonly isTransfer: boolean;
readonly asTransfer: {
@@ -205,7 +208,7 @@
readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
}
- /** @name PalletBalancesEvent (56) */
+ /** @name PalletBalancesEvent (57) */
export interface PalletBalancesEvent extends Enum {
readonly isEndowed: boolean;
readonly asEndowed: {
@@ -264,14 +267,14 @@
readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
}
- /** @name FrameSupportTokensMiscBalanceStatus (57) */
+ /** @name FrameSupportTokensMiscBalanceStatus (58) */
export interface FrameSupportTokensMiscBalanceStatus extends Enum {
readonly isFree: boolean;
readonly isReserved: boolean;
readonly type: 'Free' | 'Reserved';
}
- /** @name PalletBalancesError (58) */
+ /** @name PalletBalancesError (59) */
export interface PalletBalancesError extends Enum {
readonly isVestingBalance: boolean;
readonly isLiquidityRestrictions: boolean;
@@ -284,7 +287,7 @@
readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
}
- /** @name PalletTimestampCall (61) */
+ /** @name PalletTimestampCall (62) */
export interface PalletTimestampCall extends Enum {
readonly isSet: boolean;
readonly asSet: {
@@ -293,14 +296,14 @@
readonly type: 'Set';
}
- /** @name PalletTransactionPaymentReleases (64) */
+ /** @name PalletTransactionPaymentReleases (65) */
export interface PalletTransactionPaymentReleases extends Enum {
readonly isV1Ancient: boolean;
readonly isV2: boolean;
readonly type: 'V1Ancient' | 'V2';
}
- /** @name FrameSupportWeightsWeightToFeeCoefficient (66) */
+ /** @name FrameSupportWeightsWeightToFeeCoefficient (67) */
export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {
readonly coeffInteger: u128;
readonly coeffFrac: Perbill;
@@ -308,7 +311,7 @@
readonly degree: u8;
}
- /** @name PalletTreasuryProposal (68) */
+ /** @name PalletTreasuryProposal (69) */
export interface PalletTreasuryProposal extends Struct {
readonly proposer: AccountId32;
readonly value: u128;
@@ -316,7 +319,7 @@
readonly bond: u128;
}
- /** @name PalletTreasuryCall (71) */
+ /** @name PalletTreasuryCall (72) */
export interface PalletTreasuryCall extends Enum {
readonly isProposeSpend: boolean;
readonly asProposeSpend: {
@@ -334,7 +337,7 @@
readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';
}
- /** @name PalletTreasuryEvent (73) */
+ /** @name PalletTreasuryEvent (74) */
export interface PalletTreasuryEvent extends Enum {
readonly isProposed: boolean;
readonly asProposed: {
@@ -370,10 +373,10 @@
readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';
}
- /** @name FrameSupportPalletId (76) */
+ /** @name FrameSupportPalletId (77) */
export interface FrameSupportPalletId extends U8aFixed {}
- /** @name PalletTreasuryError (77) */
+ /** @name PalletTreasuryError (78) */
export interface PalletTreasuryError extends Enum {
readonly isInsufficientProposersBalance: boolean;
readonly isInvalidIndex: boolean;
@@ -381,7 +384,7 @@
readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';
}
- /** @name PalletSudoCall (78) */
+ /** @name PalletSudoCall (79) */
export interface PalletSudoCall extends Enum {
readonly isSudo: boolean;
readonly asSudo: {
@@ -404,7 +407,7 @@
readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
}
- /** @name FrameSystemCall (80) */
+ /** @name FrameSystemCall (81) */
export interface FrameSystemCall extends Enum {
readonly isFillBlock: boolean;
readonly asFillBlock: {
@@ -446,7 +449,7 @@
readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
}
- /** @name OrmlVestingModuleCall (83) */
+ /** @name OrmlVestingModuleCall (84) */
export interface OrmlVestingModuleCall extends Enum {
readonly isClaim: boolean;
readonly isVestedTransfer: boolean;
@@ -466,7 +469,7 @@
readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
}
- /** @name OrmlVestingVestingSchedule (84) */
+ /** @name OrmlVestingVestingSchedule (85) */
export interface OrmlVestingVestingSchedule extends Struct {
readonly start: u32;
readonly period: u32;
@@ -474,7 +477,7 @@
readonly perPeriod: Compact<u128>;
}
- /** @name CumulusPalletXcmpQueueCall (86) */
+ /** @name CumulusPalletXcmpQueueCall (87) */
export interface CumulusPalletXcmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
readonly asServiceOverweight: {
@@ -510,7 +513,7 @@
readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
}
- /** @name PalletXcmCall (87) */
+ /** @name PalletXcmCall (88) */
export interface PalletXcmCall extends Enum {
readonly isSend: boolean;
readonly asSend: {
@@ -572,7 +575,7 @@
readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
}
- /** @name XcmVersionedMultiLocation (88) */
+ /** @name XcmVersionedMultiLocation (89) */
export interface XcmVersionedMultiLocation extends Enum {
readonly isV0: boolean;
readonly asV0: XcmV0MultiLocation;
@@ -581,7 +584,7 @@
readonly type: 'V0' | 'V1';
}
- /** @name XcmV0MultiLocation (89) */
+ /** @name XcmV0MultiLocation (90) */
export interface XcmV0MultiLocation extends Enum {
readonly isNull: boolean;
readonly isX1: boolean;
@@ -603,7 +606,7 @@
readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
}
- /** @name XcmV0Junction (90) */
+ /** @name XcmV0Junction (91) */
export interface XcmV0Junction extends Enum {
readonly isParent: boolean;
readonly isParachain: boolean;
@@ -638,7 +641,7 @@
readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
}
- /** @name XcmV0JunctionNetworkId (91) */
+ /** @name XcmV0JunctionNetworkId (92) */
export interface XcmV0JunctionNetworkId extends Enum {
readonly isAny: boolean;
readonly isNamed: boolean;
@@ -648,7 +651,7 @@
readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
}
- /** @name XcmV0JunctionBodyId (92) */
+ /** @name XcmV0JunctionBodyId (93) */
export interface XcmV0JunctionBodyId extends Enum {
readonly isUnit: boolean;
readonly isNamed: boolean;
@@ -662,7 +665,7 @@
readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
}
- /** @name XcmV0JunctionBodyPart (93) */
+ /** @name XcmV0JunctionBodyPart (94) */
export interface XcmV0JunctionBodyPart extends Enum {
readonly isVoice: boolean;
readonly isMembers: boolean;
@@ -687,13 +690,13 @@
readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
}
- /** @name XcmV1MultiLocation (94) */
+ /** @name XcmV1MultiLocation (95) */
export interface XcmV1MultiLocation extends Struct {
readonly parents: u8;
readonly interior: XcmV1MultilocationJunctions;
}
- /** @name XcmV1MultilocationJunctions (95) */
+ /** @name XcmV1MultilocationJunctions (96) */
export interface XcmV1MultilocationJunctions extends Enum {
readonly isHere: boolean;
readonly isX1: boolean;
@@ -715,7 +718,7 @@
readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
}
- /** @name XcmV1Junction (96) */
+ /** @name XcmV1Junction (97) */
export interface XcmV1Junction extends Enum {
readonly isParachain: boolean;
readonly asParachain: Compact<u32>;
@@ -749,7 +752,7 @@
readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
}
- /** @name XcmVersionedXcm (97) */
+ /** @name XcmVersionedXcm (98) */
export interface XcmVersionedXcm extends Enum {
readonly isV0: boolean;
readonly asV0: XcmV0Xcm;
@@ -760,7 +763,7 @@
readonly type: 'V0' | 'V1' | 'V2';
}
- /** @name XcmV0Xcm (98) */
+ /** @name XcmV0Xcm (99) */
export interface XcmV0Xcm extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: {
@@ -823,7 +826,7 @@
readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
}
- /** @name XcmV0MultiAsset (100) */
+ /** @name XcmV0MultiAsset (101) */
export interface XcmV0MultiAsset extends Enum {
readonly isNone: boolean;
readonly isAll: boolean;
@@ -868,7 +871,7 @@
readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
}
- /** @name XcmV1MultiassetAssetInstance (101) */
+ /** @name XcmV1MultiassetAssetInstance (102) */
export interface XcmV1MultiassetAssetInstance extends Enum {
readonly isUndefined: boolean;
readonly isIndex: boolean;
@@ -886,7 +889,7 @@
readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
}
- /** @name XcmV0Order (105) */
+ /** @name XcmV0Order (106) */
export interface XcmV0Order extends Enum {
readonly isNull: boolean;
readonly isDepositAsset: boolean;
@@ -934,14 +937,14 @@
readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
}
- /** @name XcmV0Response (107) */
+ /** @name XcmV0Response (108) */
export interface XcmV0Response extends Enum {
readonly isAssets: boolean;
readonly asAssets: Vec<XcmV0MultiAsset>;
readonly type: 'Assets';
}
- /** @name XcmV0OriginKind (108) */
+ /** @name XcmV0OriginKind (109) */
export interface XcmV0OriginKind extends Enum {
readonly isNative: boolean;
readonly isSovereignAccount: boolean;
@@ -950,12 +953,12 @@
readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
}
- /** @name XcmDoubleEncoded (109) */
+ /** @name XcmDoubleEncoded (110) */
export interface XcmDoubleEncoded extends Struct {
readonly encoded: Bytes;
}
- /** @name XcmV1Xcm (110) */
+ /** @name XcmV1Xcm (111) */
export interface XcmV1Xcm extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: {
@@ -1024,16 +1027,16 @@
readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
}
- /** @name XcmV1MultiassetMultiAssets (111) */
+ /** @name XcmV1MultiassetMultiAssets (112) */
export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
- /** @name XcmV1MultiAsset (113) */
+ /** @name XcmV1MultiAsset (114) */
export interface XcmV1MultiAsset extends Struct {
readonly id: XcmV1MultiassetAssetId;
readonly fun: XcmV1MultiassetFungibility;
}
- /** @name XcmV1MultiassetAssetId (114) */
+ /** @name XcmV1MultiassetAssetId (115) */
export interface XcmV1MultiassetAssetId extends Enum {
readonly isConcrete: boolean;
readonly asConcrete: XcmV1MultiLocation;
@@ -1042,7 +1045,7 @@
readonly type: 'Concrete' | 'Abstract';
}
- /** @name XcmV1MultiassetFungibility (115) */
+ /** @name XcmV1MultiassetFungibility (116) */
export interface XcmV1MultiassetFungibility extends Enum {
readonly isFungible: boolean;
readonly asFungible: Compact<u128>;
@@ -1051,7 +1054,7 @@
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV1Order (117) */
+ /** @name XcmV1Order (118) */
export interface XcmV1Order extends Enum {
readonly isNoop: boolean;
readonly isDepositAsset: boolean;
@@ -1101,7 +1104,7 @@
readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
}
- /** @name XcmV1MultiassetMultiAssetFilter (118) */
+ /** @name XcmV1MultiassetMultiAssetFilter (119) */
export interface XcmV1MultiassetMultiAssetFilter extends Enum {
readonly isDefinite: boolean;
readonly asDefinite: XcmV1MultiassetMultiAssets;
@@ -1110,7 +1113,7 @@
readonly type: 'Definite' | 'Wild';
}
- /** @name XcmV1MultiassetWildMultiAsset (119) */
+ /** @name XcmV1MultiassetWildMultiAsset (120) */
export interface XcmV1MultiassetWildMultiAsset extends Enum {
readonly isAll: boolean;
readonly isAllOf: boolean;
@@ -1121,14 +1124,14 @@
readonly type: 'All' | 'AllOf';
}
- /** @name XcmV1MultiassetWildFungibility (120) */
+ /** @name XcmV1MultiassetWildFungibility (121) */
export interface XcmV1MultiassetWildFungibility extends Enum {
readonly isFungible: boolean;
readonly isNonFungible: boolean;
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV1Response (122) */
+ /** @name XcmV1Response (123) */
export interface XcmV1Response extends Enum {
readonly isAssets: boolean;
readonly asAssets: XcmV1MultiassetMultiAssets;
@@ -1137,10 +1140,10 @@
readonly type: 'Assets' | 'Version';
}
- /** @name XcmV2Xcm (123) */
+ /** @name XcmV2Xcm (124) */
export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
- /** @name XcmV2Instruction (125) */
+ /** @name XcmV2Instruction (126) */
export interface XcmV2Instruction extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
@@ -1260,7 +1263,7 @@
readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
}
- /** @name XcmV2Response (126) */
+ /** @name XcmV2Response (127) */
export interface XcmV2Response extends Enum {
readonly isNull: boolean;
readonly isAssets: boolean;
@@ -1272,7 +1275,7 @@
readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
}
- /** @name XcmV2TraitsError (129) */
+ /** @name XcmV2TraitsError (130) */
export interface XcmV2TraitsError extends Enum {
readonly isOverflow: boolean;
readonly isUnimplemented: boolean;
@@ -1305,7 +1308,7 @@
readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';
}
- /** @name XcmV2WeightLimit (130) */
+ /** @name XcmV2WeightLimit (131) */
export interface XcmV2WeightLimit extends Enum {
readonly isUnlimited: boolean;
readonly isLimited: boolean;
@@ -1313,7 +1316,7 @@
readonly type: 'Unlimited' | 'Limited';
}
- /** @name XcmVersionedMultiAssets (131) */
+ /** @name XcmVersionedMultiAssets (132) */
export interface XcmVersionedMultiAssets extends Enum {
readonly isV0: boolean;
readonly asV0: Vec<XcmV0MultiAsset>;
@@ -1322,10 +1325,10 @@
readonly type: 'V0' | 'V1';
}
- /** @name CumulusPalletXcmCall (146) */
+ /** @name CumulusPalletXcmCall (147) */
export type CumulusPalletXcmCall = Null;
- /** @name CumulusPalletDmpQueueCall (147) */
+ /** @name CumulusPalletDmpQueueCall (148) */
export interface CumulusPalletDmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
readonly asServiceOverweight: {
@@ -1335,7 +1338,7 @@
readonly type: 'ServiceOverweight';
}
- /** @name PalletInflationCall (148) */
+ /** @name PalletInflationCall (149) */
export interface PalletInflationCall extends Enum {
readonly isStartInflation: boolean;
readonly asStartInflation: {
@@ -1344,7 +1347,7 @@
readonly type: 'StartInflation';
}
- /** @name PalletUniqueCall (149) */
+ /** @name PalletUniqueCall (150) */
export interface PalletUniqueCall extends Enum {
readonly isCreateCollection: boolean;
readonly asCreateCollection: {
@@ -1364,12 +1367,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 +1392,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 +1415,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 +1443,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;
@@ -1505,7 +1508,7 @@
readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
}
- /** @name UpDataStructsCollectionMode (155) */
+ /** @name UpDataStructsCollectionMode (156) */
export interface UpDataStructsCollectionMode extends Enum {
readonly isNft: boolean;
readonly isFungible: boolean;
@@ -1514,7 +1517,7 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
- /** @name UpDataStructsCreateCollectionData (156) */
+ /** @name UpDataStructsCreateCollectionData (157) */
export interface UpDataStructsCreateCollectionData extends Struct {
readonly mode: UpDataStructsCollectionMode;
readonly access: Option<UpDataStructsAccessMode>;
@@ -1530,21 +1533,21 @@
readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;
}
- /** @name UpDataStructsAccessMode (158) */
+ /** @name UpDataStructsAccessMode (159) */
export interface UpDataStructsAccessMode extends Enum {
readonly isNormal: boolean;
readonly isAllowList: boolean;
readonly type: 'Normal' | 'AllowList';
}
- /** @name UpDataStructsSchemaVersion (161) */
+ /** @name UpDataStructsSchemaVersion (162) */
export interface UpDataStructsSchemaVersion extends Enum {
readonly isImageURL: boolean;
readonly isUnique: boolean;
readonly type: 'ImageURL' | 'Unique';
}
- /** @name UpDataStructsCollectionLimits (164) */
+ /** @name UpDataStructsCollectionLimits (165) */
export interface UpDataStructsCollectionLimits extends Struct {
readonly accountTokenOwnershipLimit: Option<u32>;
readonly sponsoredDataSize: Option<u32>;
@@ -1557,7 +1560,7 @@
readonly transfersEnabled: Option<bool>;
}
- /** @name UpDataStructsSponsoringRateLimit (166) */
+ /** @name UpDataStructsSponsoringRateLimit (167) */
export interface UpDataStructsSponsoringRateLimit extends Enum {
readonly isSponsoringDisabled: boolean;
readonly isBlocks: boolean;
@@ -1565,7 +1568,7 @@
readonly type: 'SponsoringDisabled' | 'Blocks';
}
- /** @name UpDataStructsMetaUpdatePermission (170) */
+ /** @name UpDataStructsMetaUpdatePermission (171) */
export interface UpDataStructsMetaUpdatePermission extends Enum {
readonly isItemOwner: boolean;
readonly isAdmin: boolean;
@@ -1573,8 +1576,8 @@
readonly type: 'ItemOwner' | 'Admin' | 'None';
}
- /** @name PalletCommonAccountBasicCrossAccountIdRepr (172) */
- export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
+ /** @name PalletEvmAccountBasicCrossAccountIdRepr (173) */
+ export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
readonly isSubstrate: boolean;
readonly asSubstrate: AccountId32;
readonly isEthereum: boolean;
@@ -1582,7 +1585,7 @@
readonly type: 'Substrate' | 'Ethereum';
}
- /** @name UpDataStructsCreateItemData (174) */
+ /** @name UpDataStructsCreateItemData (175) */
export interface UpDataStructsCreateItemData extends Enum {
readonly isNft: boolean;
readonly asNft: UpDataStructsCreateNftData;
@@ -1593,30 +1596,30 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
- /** @name UpDataStructsCreateNftData (175) */
+ /** @name UpDataStructsCreateNftData (176) */
export interface UpDataStructsCreateNftData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
}
- /** @name UpDataStructsCreateFungibleData (177) */
+ /** @name UpDataStructsCreateFungibleData (178) */
export interface UpDataStructsCreateFungibleData extends Struct {
readonly value: u128;
}
- /** @name UpDataStructsCreateReFungibleData (178) */
+ /** @name UpDataStructsCreateReFungibleData (179) */
export interface UpDataStructsCreateReFungibleData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
readonly pieces: u128;
}
- /** @name UpDataStructsCreateItemExData (180) */
+ /** @name UpDataStructsCreateItemExData (181) */
export interface UpDataStructsCreateItemExData extends Enum {
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;
@@ -1624,24 +1627,24 @@
readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
}
- /** @name UpDataStructsCreateNftExData (182) */
+ /** @name UpDataStructsCreateNftExData (183) */
export interface UpDataStructsCreateNftExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
- /** @name UpDataStructsCreateRefungibleExData (189) */
+ /** @name UpDataStructsCreateRefungibleExData (190) */
export interface UpDataStructsCreateRefungibleExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+ readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
}
- /** @name PalletTemplateTransactionPaymentCall (192) */
+ /** @name PalletTemplateTransactionPaymentCall (193) */
export type PalletTemplateTransactionPaymentCall = Null;
- /** @name PalletEvmCall (193) */
+ /** @name PalletEvmCall (194) */
export interface PalletEvmCall extends Enum {
readonly isWithdraw: boolean;
readonly asWithdraw: {
@@ -1686,7 +1689,7 @@
readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
}
- /** @name PalletEthereumCall (199) */
+ /** @name PalletEthereumCall (200) */
export interface PalletEthereumCall extends Enum {
readonly isTransact: boolean;
readonly asTransact: {
@@ -1695,7 +1698,7 @@
readonly type: 'Transact';
}
- /** @name EthereumTransactionTransactionV2 (200) */
+ /** @name EthereumTransactionTransactionV2 (201) */
export interface EthereumTransactionTransactionV2 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -1706,7 +1709,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumTransactionLegacyTransaction (201) */
+ /** @name EthereumTransactionLegacyTransaction (202) */
export interface EthereumTransactionLegacyTransaction extends Struct {
readonly nonce: U256;
readonly gasPrice: U256;
@@ -1717,7 +1720,7 @@
readonly signature: EthereumTransactionTransactionSignature;
}
- /** @name EthereumTransactionTransactionAction (202) */
+ /** @name EthereumTransactionTransactionAction (203) */
export interface EthereumTransactionTransactionAction extends Enum {
readonly isCall: boolean;
readonly asCall: H160;
@@ -1725,14 +1728,14 @@
readonly type: 'Call' | 'Create';
}
- /** @name EthereumTransactionTransactionSignature (203) */
+ /** @name EthereumTransactionTransactionSignature (204) */
export interface EthereumTransactionTransactionSignature extends Struct {
readonly v: u64;
readonly r: H256;
readonly s: H256;
}
- /** @name EthereumTransactionEip2930Transaction (205) */
+ /** @name EthereumTransactionEip2930Transaction (206) */
export interface EthereumTransactionEip2930Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -1747,13 +1750,13 @@
readonly s: H256;
}
- /** @name EthereumTransactionAccessListItem (207) */
+ /** @name EthereumTransactionAccessListItem (208) */
export interface EthereumTransactionAccessListItem extends Struct {
readonly address: H160;
- readonly slots: Vec<H256>;
+ readonly storageKeys: Vec<H256>;
}
- /** @name EthereumTransactionEip1559Transaction (208) */
+ /** @name EthereumTransactionEip1559Transaction (209) */
export interface EthereumTransactionEip1559Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -1769,7 +1772,7 @@
readonly s: H256;
}
- /** @name PalletEvmMigrationCall (209) */
+ /** @name PalletEvmMigrationCall (210) */
export interface PalletEvmMigrationCall extends Enum {
readonly isBegin: boolean;
readonly asBegin: {
@@ -1788,7 +1791,7 @@
readonly type: 'Begin' | 'SetData' | 'Finish';
}
- /** @name PalletSudoEvent (212) */
+ /** @name PalletSudoEvent (213) */
export interface PalletSudoEvent extends Enum {
readonly isSudid: boolean;
readonly asSudid: {
@@ -1805,7 +1808,7 @@
readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
}
- /** @name SpRuntimeDispatchError (214) */
+ /** @name SpRuntimeDispatchError (215) */
export interface SpRuntimeDispatchError extends Enum {
readonly isOther: boolean;
readonly isCannotLookup: boolean;
@@ -1822,13 +1825,13 @@
readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic';
}
- /** @name SpRuntimeModuleError (215) */
+ /** @name SpRuntimeModuleError (216) */
export interface SpRuntimeModuleError extends Struct {
readonly index: u8;
readonly error: u8;
}
- /** @name SpRuntimeTokenError (216) */
+ /** @name SpRuntimeTokenError (217) */
export interface SpRuntimeTokenError extends Enum {
readonly isNoFunds: boolean;
readonly isWouldDie: boolean;
@@ -1840,7 +1843,7 @@
readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
}
- /** @name SpRuntimeArithmeticError (217) */
+ /** @name SpRuntimeArithmeticError (218) */
export interface SpRuntimeArithmeticError extends Enum {
readonly isUnderflow: boolean;
readonly isOverflow: boolean;
@@ -1848,13 +1851,13 @@
readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
}
- /** @name PalletSudoError (218) */
+ /** @name PalletSudoError (219) */
export interface PalletSudoError extends Enum {
readonly isRequireSudo: boolean;
readonly type: 'RequireSudo';
}
- /** @name FrameSystemAccountInfo (219) */
+ /** @name FrameSystemAccountInfo (220) */
export interface FrameSystemAccountInfo extends Struct {
readonly nonce: u32;
readonly consumers: u32;
@@ -1863,19 +1866,19 @@
readonly data: PalletBalancesAccountData;
}
- /** @name FrameSupportWeightsPerDispatchClassU64 (220) */
+ /** @name FrameSupportWeightsPerDispatchClassU64 (221) */
export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
readonly normal: u64;
readonly operational: u64;
readonly mandatory: u64;
}
- /** @name SpRuntimeDigest (221) */
+ /** @name SpRuntimeDigest (222) */
export interface SpRuntimeDigest extends Struct {
readonly logs: Vec<SpRuntimeDigestDigestItem>;
}
- /** @name SpRuntimeDigestDigestItem (223) */
+ /** @name SpRuntimeDigestDigestItem (224) */
export interface SpRuntimeDigestDigestItem extends Enum {
readonly isOther: boolean;
readonly asOther: Bytes;
@@ -1889,14 +1892,14 @@
readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
}
- /** @name FrameSystemEventRecord (225) */
+ /** @name FrameSystemEventRecord (226) */
export interface FrameSystemEventRecord extends Struct {
readonly phase: FrameSystemPhase;
readonly event: Event;
readonly topics: Vec<H256>;
}
- /** @name FrameSystemEvent (227) */
+ /** @name FrameSystemEvent (228) */
export interface FrameSystemEvent extends Enum {
readonly isExtrinsicSuccess: boolean;
readonly asExtrinsicSuccess: {
@@ -1924,14 +1927,14 @@
readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
}
- /** @name FrameSupportWeightsDispatchInfo (228) */
+ /** @name FrameSupportWeightsDispatchInfo (229) */
export interface FrameSupportWeightsDispatchInfo extends Struct {
readonly weight: u64;
readonly class: FrameSupportWeightsDispatchClass;
readonly paysFee: FrameSupportWeightsPays;
}
- /** @name FrameSupportWeightsDispatchClass (229) */
+ /** @name FrameSupportWeightsDispatchClass (230) */
export interface FrameSupportWeightsDispatchClass extends Enum {
readonly isNormal: boolean;
readonly isOperational: boolean;
@@ -1939,14 +1942,14 @@
readonly type: 'Normal' | 'Operational' | 'Mandatory';
}
- /** @name FrameSupportWeightsPays (230) */
+ /** @name FrameSupportWeightsPays (231) */
export interface FrameSupportWeightsPays extends Enum {
readonly isYes: boolean;
readonly isNo: boolean;
readonly type: 'Yes' | 'No';
}
- /** @name OrmlVestingModuleEvent (231) */
+ /** @name OrmlVestingModuleEvent (232) */
export interface OrmlVestingModuleEvent extends Enum {
readonly isVestingScheduleAdded: boolean;
readonly asVestingScheduleAdded: {
@@ -1966,7 +1969,7 @@
readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
}
- /** @name CumulusPalletXcmpQueueEvent (232) */
+ /** @name CumulusPalletXcmpQueueEvent (233) */
export interface CumulusPalletXcmpQueueEvent extends Enum {
readonly isSuccess: boolean;
readonly asSuccess: Option<H256>;
@@ -1987,7 +1990,7 @@
readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
}
- /** @name PalletXcmEvent (233) */
+ /** @name PalletXcmEvent (234) */
export interface PalletXcmEvent extends Enum {
readonly isAttempted: boolean;
readonly asAttempted: XcmV2TraitsOutcome;
@@ -2024,7 +2027,7 @@
readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
}
- /** @name XcmV2TraitsOutcome (234) */
+ /** @name XcmV2TraitsOutcome (235) */
export interface XcmV2TraitsOutcome extends Enum {
readonly isComplete: boolean;
readonly asComplete: u64;
@@ -2035,7 +2038,7 @@
readonly type: 'Complete' | 'Incomplete' | 'Error';
}
- /** @name CumulusPalletXcmEvent (236) */
+ /** @name CumulusPalletXcmEvent (237) */
export interface CumulusPalletXcmEvent extends Enum {
readonly isInvalidFormat: boolean;
readonly asInvalidFormat: U8aFixed;
@@ -2046,7 +2049,7 @@
readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
}
- /** @name CumulusPalletDmpQueueEvent (237) */
+ /** @name CumulusPalletDmpQueueEvent (238) */
export interface CumulusPalletDmpQueueEvent extends Enum {
readonly isInvalidFormat: boolean;
readonly asInvalidFormat: U8aFixed;
@@ -2063,12 +2066,12 @@
readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
}
- /** @name PalletUniqueRawEvent (238) */
+ /** @name PalletUniqueRawEvent (239) */
export interface PalletUniqueRawEvent extends Enum {
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 +2081,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;
@@ -2098,24 +2101,24 @@
readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet' | 'VariableOnChainSchemaSet';
}
- /** @name PalletCommonEvent (239) */
+ /** @name PalletCommonEvent (240) */
export interface PalletCommonEvent extends Enum {
readonly isCollectionCreated: boolean;
readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
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';
}
- /** @name PalletEvmEvent (240) */
+ /** @name PalletEvmEvent (241) */
export interface PalletEvmEvent extends Enum {
readonly isLog: boolean;
readonly asLog: EthereumLog;
@@ -2134,21 +2137,21 @@
readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
}
- /** @name EthereumLog (241) */
+ /** @name EthereumLog (242) */
export interface EthereumLog extends Struct {
readonly address: H160;
readonly topics: Vec<H256>;
readonly data: Bytes;
}
- /** @name PalletEthereumEvent (242) */
+ /** @name PalletEthereumEvent (243) */
export interface PalletEthereumEvent extends Enum {
readonly isExecuted: boolean;
readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
readonly type: 'Executed';
}
- /** @name EvmCoreErrorExitReason (243) */
+ /** @name EvmCoreErrorExitReason (244) */
export interface EvmCoreErrorExitReason extends Enum {
readonly isSucceed: boolean;
readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -2161,7 +2164,7 @@
readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
}
- /** @name EvmCoreErrorExitSucceed (244) */
+ /** @name EvmCoreErrorExitSucceed (245) */
export interface EvmCoreErrorExitSucceed extends Enum {
readonly isStopped: boolean;
readonly isReturned: boolean;
@@ -2169,7 +2172,7 @@
readonly type: 'Stopped' | 'Returned' | 'Suicided';
}
- /** @name EvmCoreErrorExitError (245) */
+ /** @name EvmCoreErrorExitError (246) */
export interface EvmCoreErrorExitError extends Enum {
readonly isStackUnderflow: boolean;
readonly isStackOverflow: boolean;
@@ -2190,13 +2193,13 @@
readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'InvalidCode' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other';
}
- /** @name EvmCoreErrorExitRevert (248) */
+ /** @name EvmCoreErrorExitRevert (249) */
export interface EvmCoreErrorExitRevert extends Enum {
readonly isReverted: boolean;
readonly type: 'Reverted';
}
- /** @name EvmCoreErrorExitFatal (249) */
+ /** @name EvmCoreErrorExitFatal (250) */
export interface EvmCoreErrorExitFatal extends Enum {
readonly isNotSupported: boolean;
readonly isUnhandledInterrupt: boolean;
@@ -2207,7 +2210,7 @@
readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
}
- /** @name FrameSystemPhase (250) */
+ /** @name FrameSystemPhase (251) */
export interface FrameSystemPhase extends Enum {
readonly isApplyExtrinsic: boolean;
readonly asApplyExtrinsic: u32;
@@ -2216,27 +2219,27 @@
readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
}
- /** @name FrameSystemLastRuntimeUpgradeInfo (252) */
+ /** @name FrameSystemLastRuntimeUpgradeInfo (253) */
export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
readonly specVersion: Compact<u32>;
readonly specName: Text;
}
- /** @name FrameSystemLimitsBlockWeights (253) */
+ /** @name FrameSystemLimitsBlockWeights (254) */
export interface FrameSystemLimitsBlockWeights extends Struct {
readonly baseBlock: u64;
readonly maxBlock: u64;
readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
}
- /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (254) */
+ /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (255) */
export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
readonly normal: FrameSystemLimitsWeightsPerClass;
readonly operational: FrameSystemLimitsWeightsPerClass;
readonly mandatory: FrameSystemLimitsWeightsPerClass;
}
- /** @name FrameSystemLimitsWeightsPerClass (255) */
+ /** @name FrameSystemLimitsWeightsPerClass (256) */
export interface FrameSystemLimitsWeightsPerClass extends Struct {
readonly baseExtrinsic: u64;
readonly maxExtrinsic: Option<u64>;
@@ -2244,25 +2247,25 @@
readonly reserved: Option<u64>;
}
- /** @name FrameSystemLimitsBlockLength (257) */
+ /** @name FrameSystemLimitsBlockLength (258) */
export interface FrameSystemLimitsBlockLength extends Struct {
readonly max: FrameSupportWeightsPerDispatchClassU32;
}
- /** @name FrameSupportWeightsPerDispatchClassU32 (258) */
+ /** @name FrameSupportWeightsPerDispatchClassU32 (259) */
export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
readonly normal: u32;
readonly operational: u32;
readonly mandatory: u32;
}
- /** @name FrameSupportWeightsRuntimeDbWeight (259) */
+ /** @name FrameSupportWeightsRuntimeDbWeight (260) */
export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
readonly read: u64;
readonly write: u64;
}
- /** @name SpVersionRuntimeVersion (260) */
+ /** @name SpVersionRuntimeVersion (261) */
export interface SpVersionRuntimeVersion extends Struct {
readonly specName: Text;
readonly implName: Text;
@@ -2274,7 +2277,7 @@
readonly stateVersion: u8;
}
- /** @name FrameSystemError (264) */
+ /** @name FrameSystemError (265) */
export interface FrameSystemError extends Enum {
readonly isInvalidSpecName: boolean;
readonly isSpecVersionNeedsToIncrease: boolean;
@@ -2285,7 +2288,7 @@
readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
}
- /** @name OrmlVestingModuleError (266) */
+ /** @name OrmlVestingModuleError (267) */
export interface OrmlVestingModuleError extends Enum {
readonly isZeroVestingPeriod: boolean;
readonly isZeroVestingPeriodCount: boolean;
@@ -2296,21 +2299,21 @@
readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
}
- /** @name CumulusPalletXcmpQueueInboundChannelDetails (268) */
+ /** @name CumulusPalletXcmpQueueInboundChannelDetails (269) */
export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
readonly sender: u32;
readonly state: CumulusPalletXcmpQueueInboundState;
readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
}
- /** @name CumulusPalletXcmpQueueInboundState (269) */
+ /** @name CumulusPalletXcmpQueueInboundState (270) */
export interface CumulusPalletXcmpQueueInboundState extends Enum {
readonly isOk: boolean;
readonly isSuspended: boolean;
readonly type: 'Ok' | 'Suspended';
}
- /** @name PolkadotParachainPrimitivesXcmpMessageFormat (272) */
+ /** @name PolkadotParachainPrimitivesXcmpMessageFormat (273) */
export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
readonly isConcatenatedVersionedXcm: boolean;
readonly isConcatenatedEncodedBlob: boolean;
@@ -2318,7 +2321,7 @@
readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
}
- /** @name CumulusPalletXcmpQueueOutboundChannelDetails (275) */
+ /** @name CumulusPalletXcmpQueueOutboundChannelDetails (276) */
export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
readonly recipient: u32;
readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -2327,14 +2330,14 @@
readonly lastIndex: u16;
}
- /** @name CumulusPalletXcmpQueueOutboundState (276) */
+ /** @name CumulusPalletXcmpQueueOutboundState (277) */
export interface CumulusPalletXcmpQueueOutboundState extends Enum {
readonly isOk: boolean;
readonly isSuspended: boolean;
readonly type: 'Ok' | 'Suspended';
}
- /** @name CumulusPalletXcmpQueueQueueConfigData (278) */
+ /** @name CumulusPalletXcmpQueueQueueConfigData (279) */
export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
readonly suspendThreshold: u32;
readonly dropThreshold: u32;
@@ -2344,7 +2347,7 @@
readonly xcmpMaxIndividualWeight: u64;
}
- /** @name CumulusPalletXcmpQueueError (280) */
+ /** @name CumulusPalletXcmpQueueError (281) */
export interface CumulusPalletXcmpQueueError extends Enum {
readonly isFailedToSend: boolean;
readonly isBadXcmOrigin: boolean;
@@ -2354,7 +2357,7 @@
readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
}
- /** @name PalletXcmError (281) */
+ /** @name PalletXcmError (282) */
export interface PalletXcmError extends Enum {
readonly isUnreachable: boolean;
readonly isSendFailure: boolean;
@@ -2372,29 +2375,29 @@
readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
}
- /** @name CumulusPalletXcmError (282) */
+ /** @name CumulusPalletXcmError (283) */
export type CumulusPalletXcmError = Null;
- /** @name CumulusPalletDmpQueueConfigData (283) */
+ /** @name CumulusPalletDmpQueueConfigData (284) */
export interface CumulusPalletDmpQueueConfigData extends Struct {
readonly maxIndividual: u64;
}
- /** @name CumulusPalletDmpQueuePageIndexData (284) */
+ /** @name CumulusPalletDmpQueuePageIndexData (285) */
export interface CumulusPalletDmpQueuePageIndexData extends Struct {
readonly beginUsed: u32;
readonly endUsed: u32;
readonly overweightCount: u64;
}
- /** @name CumulusPalletDmpQueueError (287) */
+ /** @name CumulusPalletDmpQueueError (288) */
export interface CumulusPalletDmpQueueError extends Enum {
readonly isUnknown: boolean;
readonly isOverLimit: boolean;
readonly type: 'Unknown' | 'OverLimit';
}
- /** @name PalletUniqueError (291) */
+ /** @name PalletUniqueError (292) */
export interface PalletUniqueError extends Enum {
readonly isCollectionDecimalPointLimitExceeded: boolean;
readonly isConfirmUnsetSponsorFail: boolean;
@@ -2402,7 +2405,7 @@
readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
}
- /** @name UpDataStructsCollection (292) */
+ /** @name UpDataStructsCollection (293) */
export interface UpDataStructsCollection extends Struct {
readonly owner: AccountId32;
readonly mode: UpDataStructsCollectionMode;
@@ -2420,7 +2423,7 @@
readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;
}
- /** @name UpDataStructsSponsorshipState (293) */
+ /** @name UpDataStructsSponsorshipState (294) */
export interface UpDataStructsSponsorshipState extends Enum {
readonly isDisabled: boolean;
readonly isUnconfirmed: boolean;
@@ -2430,14 +2433,14 @@
readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
}
- /** @name UpDataStructsCollectionStats (296) */
+ /** @name UpDataStructsCollectionStats (297) */
export interface UpDataStructsCollectionStats extends Struct {
readonly created: u32;
readonly destroyed: u32;
readonly alive: u32;
}
- /** @name PalletCommonError (297) */
+ /** @name PalletCommonError (298) */
export interface PalletCommonError extends Enum {
readonly isCollectionNotFound: boolean;
readonly isMustBeTokenOwner: boolean;
@@ -2462,10 +2465,11 @@
readonly isCantApproveMoreThanOwned: boolean;
readonly isAddressIsZero: boolean;
readonly isUnsupportedOperation: boolean;
- readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation';
+ readonly isNotSufficientFounds: boolean;
+ readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds';
}
- /** @name PalletFungibleError (299) */
+ /** @name PalletFungibleError (300) */
export interface PalletFungibleError extends Enum {
readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isFungibleItemsHaveNoId: boolean;
@@ -2473,34 +2477,34 @@
readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData';
}
- /** @name PalletRefungibleItemData (300) */
+ /** @name PalletRefungibleItemData (301) */
export interface PalletRefungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
}
- /** @name PalletRefungibleError (304) */
+ /** @name PalletRefungibleError (305) */
export interface PalletRefungibleError extends Enum {
readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isWrongRefungiblePieces: boolean;
readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces';
}
- /** @name PalletNonfungibleItemData (305) */
+ /** @name PalletNonfungibleItemData (306) */
export interface PalletNonfungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
- /** @name PalletNonfungibleError (306) */
+ /** @name PalletNonfungibleError (307) */
export interface PalletNonfungibleError extends Enum {
readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isNonfungibleItemsHaveNoAmount: boolean;
readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';
}
- /** @name PalletEvmError (308) */
+ /** @name PalletEvmError (309) */
export interface PalletEvmError extends Enum {
readonly isBalanceLow: boolean;
readonly isFeeOverflow: boolean;
@@ -2511,7 +2515,7 @@
readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
}
- /** @name FpRpcTransactionStatus (311) */
+ /** @name FpRpcTransactionStatus (312) */
export interface FpRpcTransactionStatus extends Struct {
readonly transactionHash: H256;
readonly transactionIndex: u32;
@@ -2522,10 +2526,10 @@
readonly logsBloom: EthbloomBloom;
}
- /** @name EthbloomBloom (314) */
+ /** @name EthbloomBloom (315) */
export interface EthbloomBloom extends U8aFixed {}
- /** @name EthereumReceiptReceiptV3 (316) */
+ /** @name EthereumReceiptReceiptV3 (317) */
export interface EthereumReceiptReceiptV3 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -2536,7 +2540,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumReceiptEip658ReceiptData (317) */
+ /** @name EthereumReceiptEip658ReceiptData (318) */
export interface EthereumReceiptEip658ReceiptData extends Struct {
readonly statusCode: u8;
readonly usedGas: U256;
@@ -2544,14 +2548,14 @@
readonly logs: Vec<EthereumLog>;
}
- /** @name EthereumBlock (318) */
+ /** @name EthereumBlock (319) */
export interface EthereumBlock extends Struct {
readonly header: EthereumHeader;
readonly transactions: Vec<EthereumTransactionTransactionV2>;
readonly ommers: Vec<EthereumHeader>;
}
- /** @name EthereumHeader (319) */
+ /** @name EthereumHeader (320) */
export interface EthereumHeader extends Struct {
readonly parentHash: H256;
readonly ommersHash: H256;
@@ -2570,24 +2574,24 @@
readonly nonce: EthereumTypesHashH64;
}
- /** @name EthereumTypesHashH64 (320) */
+ /** @name EthereumTypesHashH64 (321) */
export interface EthereumTypesHashH64 extends U8aFixed {}
- /** @name PalletEthereumError (325) */
+ /** @name PalletEthereumError (326) */
export interface PalletEthereumError extends Enum {
readonly isInvalidSignature: boolean;
readonly isPreLogExists: boolean;
readonly type: 'InvalidSignature' | 'PreLogExists';
}
- /** @name PalletEvmCoderSubstrateError (326) */
+ /** @name PalletEvmCoderSubstrateError (327) */
export interface PalletEvmCoderSubstrateError extends Enum {
readonly isOutOfGas: boolean;
readonly isOutOfFund: boolean;
readonly type: 'OutOfGas' | 'OutOfFund';
}
- /** @name PalletEvmContractHelpersSponsoringModeT (327) */
+ /** @name PalletEvmContractHelpersSponsoringModeT (328) */
export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
readonly isDisabled: boolean;
readonly isAllowlisted: boolean;
@@ -2595,20 +2599,20 @@
readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
}
- /** @name PalletEvmContractHelpersError (329) */
+ /** @name PalletEvmContractHelpersError (330) */
export interface PalletEvmContractHelpersError extends Enum {
readonly isNoPermission: boolean;
readonly type: 'NoPermission';
}
- /** @name PalletEvmMigrationError (330) */
+ /** @name PalletEvmMigrationError (331) */
export interface PalletEvmMigrationError extends Enum {
readonly isAccountNotEmpty: boolean;
readonly isAccountIsNotMigrating: boolean;
readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
}
- /** @name SpRuntimeMultiSignature (332) */
+ /** @name SpRuntimeMultiSignature (333) */
export interface SpRuntimeMultiSignature extends Enum {
readonly isEd25519: boolean;
readonly asEd25519: SpCoreEd25519Signature;
@@ -2619,31 +2623,31 @@
readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
}
- /** @name SpCoreEd25519Signature (333) */
+ /** @name SpCoreEd25519Signature (334) */
export interface SpCoreEd25519Signature extends U8aFixed {}
- /** @name SpCoreSr25519Signature (335) */
+ /** @name SpCoreSr25519Signature (336) */
export interface SpCoreSr25519Signature extends U8aFixed {}
- /** @name SpCoreEcdsaSignature (336) */
+ /** @name SpCoreEcdsaSignature (337) */
export interface SpCoreEcdsaSignature extends U8aFixed {}
- /** @name FrameSystemExtensionsCheckSpecVersion (339) */
+ /** @name FrameSystemExtensionsCheckSpecVersion (340) */
export type FrameSystemExtensionsCheckSpecVersion = Null;
- /** @name FrameSystemExtensionsCheckGenesis (340) */
+ /** @name FrameSystemExtensionsCheckGenesis (341) */
export type FrameSystemExtensionsCheckGenesis = Null;
- /** @name FrameSystemExtensionsCheckNonce (343) */
+ /** @name FrameSystemExtensionsCheckNonce (344) */
export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
- /** @name FrameSystemExtensionsCheckWeight (344) */
+ /** @name FrameSystemExtensionsCheckWeight (345) */
export type FrameSystemExtensionsCheckWeight = Null;
- /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (345) */
+ /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (346) */
export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
- /** @name UniqueRuntimeRuntime (346) */
- export type UniqueRuntimeRuntime = Null;
+ /** @name OpalRuntimeRuntime (347) */
+ export type OpalRuntimeRuntime = Null;
} // declare module
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>'),
@@ -55,5 +55,7 @@
collectionById: fun('Get collection by specified id', [collectionParam], 'Option<UpDataStructsCollection>'),
collectionStats: fun('Get collection stats', [], 'UpDataStructsCollectionStats'),
allowed: fun('Check if user is allowed to use collection', [collectionParam, crossAccountParam()], 'bool'),
+ nextSponsored: fun('Get number of blocks when sponsored transaction is available', [collectionParam, crossAccountParam(), tokenParam], 'Option<u64>'),
+ effectiveCollectionLimits: fun('Get effective collection limits', [collectionParam], 'Option<UpDataStructsCollectionLimits>'),
},
};
tests/src/interfaces/unique/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -6,6 +6,9 @@
import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
import type { Event } from '@polkadot/types/interfaces/system';
+/** @name BTreeSet */
+export interface BTreeSet extends Vec<Bytes> {}
+
/** @name CumulusPalletDmpQueueCall */
export interface CumulusPalletDmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
@@ -299,7 +302,7 @@
/** @name EthereumTransactionAccessListItem */
export interface EthereumTransactionAccessListItem extends Struct {
readonly address: H160;
- readonly slots: Vec<H256>;
+ readonly storageKeys: Vec<H256>;
}
/** @name EthereumTransactionEip1559Transaction */
@@ -654,6 +657,9 @@
readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
}
+/** @name OpalRuntimeRuntime */
+export interface OpalRuntimeRuntime extends Null {}
+
/** @name OrmlVestingModuleCall */
export interface OrmlVestingModuleCall extends Enum {
readonly isClaim: boolean;
@@ -856,15 +862,6 @@
export interface PalletBalancesReserveData extends Struct {
readonly id: U8aFixed;
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 */
@@ -892,7 +889,8 @@
readonly isCantApproveMoreThanOwned: boolean;
readonly isAddressIsZero: boolean;
readonly isUnsupportedOperation: boolean;
- readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation';
+ readonly isNotSufficientFounds: boolean;
+ readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds';
}
/** @name PalletCommonEvent */
@@ -902,13 +900,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';
}
@@ -935,6 +933,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;
@@ -1085,7 +1092,7 @@
export interface PalletNonfungibleItemData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
/** @name PalletRefungibleError */
@@ -1259,12 +1266,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: {
@@ -1284,12 +1291,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: {
@@ -1307,13 +1314,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;
@@ -1335,28 +1342,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;
@@ -1413,7 +1420,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;
@@ -1423,11 +1430,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;
@@ -1707,7 +1714,7 @@
/** @name SpTrieStorageProof */
export interface SpTrieStorageProof extends Struct {
- readonly trieNodes: Vec<Bytes>;
+ readonly trieNodes: BTreeSet;
}
/** @name SpVersionRuntimeVersion */
@@ -1722,9 +1729,6 @@
readonly stateVersion: u8;
}
-/** @name UniqueRuntimeRuntime */
-export interface UniqueRuntimeRuntime extends Null {}
-
/** @name UpDataStructsAccessMode */
export interface UpDataStructsAccessMode extends Enum {
readonly isNormal: boolean;
@@ -1816,7 +1820,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;
@@ -1834,7 +1838,7 @@
export interface UpDataStructsCreateNftExData extends Struct {
readonly constData: Bytes;
readonly variableData: Bytes;
- readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+ readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
/** @name UpDataStructsCreateReFungibleData */
@@ -1848,7 +1852,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/limits.test.tsdiffbeforeafterboth--- a/tests/src/limits.test.ts
+++ b/tests/src/limits.test.ts
@@ -395,4 +395,73 @@
expect(aliceBalanceAfterSponsoredTransaction1 < aliceBalanceBefore).to.be.true;
//expect(aliceBalanceAfterSponsoredTransaction1).to.be.lessThan(aliceBalanceBefore);
});
+
+ it('Effective collection limits', async () => {
+ await usingApi(async (api) => {
+ const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+
+ { // Check that limits is undefined
+ const collection = await api.rpc.unique.collectionById(collectionId);
+ expect(collection.isSome).to.be.true;
+ const limits = collection.unwrap().limits;
+ expect(limits).to.be.any;
+
+ expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.null;
+ expect(limits.sponsoredDataSize.toHuman()).to.be.null;
+ expect(limits.sponsoredDataRateLimit.toHuman()).to.be.null;
+ expect(limits.tokenLimit.toHuman()).to.be.null;
+ expect(limits.sponsorTransferTimeout.toHuman()).to.be.null;
+ expect(limits.sponsorApproveTimeout.toHuman()).to.be.null;
+ expect(limits.ownerCanTransfer.toHuman()).to.be.null;
+ expect(limits.ownerCanDestroy.toHuman()).to.be.null;
+ expect(limits.transfersEnabled.toHuman()).to.be.null;
+ }
+
+ { // Check that limits is undefined for non-existent collection
+ const limits = await api.rpc.unique.effectiveCollectionLimits(11111);
+ expect(limits.toHuman()).to.be.null;
+ }
+
+ { // Check that default values defined for collection limits
+ const limitsOpt = await api.rpc.unique.effectiveCollectionLimits(collectionId);
+ expect(limitsOpt.isNone).to.be.false;
+ const limits = limitsOpt.unwrap();
+
+ expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.eq('100,000');
+ expect(limits.sponsoredDataSize.toHuman()).to.be.eq('2,048');
+ expect(limits.sponsoredDataRateLimit.toHuman()).to.be.eq('SponsoringDisabled');
+ expect(limits.tokenLimit.toHuman()).to.be.eq('4,294,967,295');
+ expect(limits.sponsorTransferTimeout.toHuman()).to.be.eq('5');
+ expect(limits.sponsorApproveTimeout.toHuman()).to.be.eq('5');
+ expect(limits.ownerCanTransfer.toHuman()).to.be.true;
+ expect(limits.ownerCanDestroy.toHuman()).to.be.true;
+ expect(limits.transfersEnabled.toHuman()).to.be.true;
+ }
+
+ { //Check the values for collection limits
+ await setCollectionLimitsExpectSuccess(alice, collectionId, {
+ accountTokenOwnershipLimit: 99_999,
+ sponsoredDataSize: 1024,
+ tokenLimit: 123,
+ transfersEnabled: false,
+ });
+
+ const limitsOpt = await api.rpc.unique.effectiveCollectionLimits(collectionId);
+ expect(limitsOpt.isNone).to.be.false;
+ const limits = limitsOpt.unwrap();
+
+ expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.eq('99,999');
+ expect(limits.sponsoredDataSize.toHuman()).to.be.eq('1,024');
+ expect(limits.sponsoredDataRateLimit.toHuman()).to.be.eq('SponsoringDisabled');
+ expect(limits.tokenLimit.toHuman()).to.be.eq('123');
+ expect(limits.sponsorTransferTimeout.toHuman()).to.be.eq('5');
+ expect(limits.sponsorApproveTimeout.toHuman()).to.be.eq('5');
+ expect(limits.ownerCanTransfer.toHuman()).to.be.true;
+ expect(limits.ownerCanDestroy.toHuman()).to.be.true;
+ expect(limits.transfersEnabled.toHuman()).to.be.false;
+ }
+ });
+ });
});
+
+
tests/src/nextSponsoring.test.tsdiffbeforeafterboth--- /dev/null
+++ b/tests/src/nextSponsoring.test.ts
@@ -0,0 +1,110 @@
+// 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/>.
+
+import {ApiPromise} from '@polkadot/api';
+import {IKeyringPair} from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from './substrate/privateKey';
+import {default as usingApi} from './substrate/substrate-api';
+import {
+ createCollectionExpectSuccess,
+ setCollectionSponsorExpectSuccess,
+ confirmSponsorshipExpectSuccess,
+ createItemExpectSuccess,
+ transferExpectSuccess,
+ normalizeAccountId,
+ getNextSponsored,
+} from './util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+
+
+
+describe('Integration Test getNextSponsored(collection_id, owner, item_id):', () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+
+ before(async () => {
+ await usingApi(async () => {
+ alice = privateKey('//Alice');
+ bob = privateKey('//Bob');
+ });
+ });
+
+ it('NFT', async () => {
+ await usingApi(async (api: ApiPromise) => {
+
+ // Not existing collection
+ expect(await getNextSponsored(api, 0, normalizeAccountId(alice), 0)).to.be.equal(-1);
+
+ const collectionId = await createCollectionExpectSuccess();
+ const itemId = await createItemExpectSuccess(alice, collectionId, 'NFT', alice.address);
+
+ // Check with Disabled sponsoring state
+ expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(-1);
+ await setCollectionSponsorExpectSuccess(collectionId, bob.address);
+
+ // Check with Unconfirmed sponsoring state
+ expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(-1);
+ await confirmSponsorshipExpectSuccess(collectionId, '//Bob');
+
+ // Check with Confirmed sponsoring state
+ expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(0);
+
+ // After transfer
+ await transferExpectSuccess(collectionId, itemId, alice, bob, 1);
+ expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(5);
+
+ // Not existing token
+ expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId+1)).to.be.equal(-1);
+ });
+ });
+
+ it('Fungible', async () => {
+ await usingApi(async (api: ApiPromise) => {
+
+ const createMode = 'Fungible';
+ const funCollectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0}});
+ await createItemExpectSuccess(alice, funCollectionId, createMode);
+ await setCollectionSponsorExpectSuccess(funCollectionId, bob.address);
+ await confirmSponsorshipExpectSuccess(funCollectionId, '//Bob');
+ expect(await getNextSponsored(api, funCollectionId, normalizeAccountId(alice), 0)).to.be.equal(0);
+
+ await transferExpectSuccess(funCollectionId, 0, alice, bob, 10, 'Fungible');
+ expect(await getNextSponsored(api, funCollectionId, normalizeAccountId(alice), 0)).to.be.equal(5);
+ });
+ });
+
+ it('ReFungible', async () => {
+ await usingApi(async (api: ApiPromise) => {
+
+ const createMode = 'ReFungible';
+ const refunCollectionId = await createCollectionExpectSuccess({mode: {type: createMode}});
+ const refunItemId = await createItemExpectSuccess(alice, refunCollectionId, createMode);
+ await setCollectionSponsorExpectSuccess(refunCollectionId, bob.address);
+ await confirmSponsorshipExpectSuccess(refunCollectionId, '//Bob');
+ expect(await getNextSponsored(api, refunCollectionId, normalizeAccountId(alice), refunItemId)).to.be.equal(0);
+
+ await transferExpectSuccess(refunCollectionId, refunItemId, alice, bob, 10, 'ReFungible');
+ expect(await getNextSponsored(api, refunCollectionId, normalizeAccountId(alice), refunItemId)).to.be.equal(5);
+
+ // Not existing token
+ expect(await getNextSponsored(api, refunCollectionId, normalizeAccountId(alice), refunItemId+1)).to.be.equal(-1);
+ });
+ });
+});
tests/src/util/helpers.tsdiffbeforeafterboth--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -352,15 +352,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.');
});
}
@@ -619,6 +616,15 @@
});
}
+export async function getNextSponsored(
+ api: ApiPromise,
+ collectionId: number,
+ account: string | CrossAccountId,
+ tokenId: number,
+): Promise<number> {
+ return Number((await api.rpc.unique.nextSponsored(collectionId, account, tokenId)).unwrapOr(-1));
+}
+
export async function toggleContractAllowlistExpectSuccess(sender: IKeyringPair, contractAddress: AccountId | string, value = true) {
await usingApi(async (api) => {
const tx = api.tx.unique.toggleContractAllowList(contractAddress, value);
@@ -847,6 +853,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,