From fc4f8755b03371a34b51aedf1037ffcc316b2582 Mon Sep 17 00:00:00 2001 From: kryadinskii Date: Thu, 19 May 2022 15:00:29 +0000 Subject: [PATCH] createItem* fixes --- --- a/Cargo.lock +++ b/Cargo.lock @@ -396,7 +396,7 @@ "instant", "pin-project-lite 0.2.9", "rand 0.8.5", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] @@ -410,7 +410,7 @@ "cfg-if 1.0.0", "libc", "miniz_oxide", - "object 0.28.3", + "object 0.28.4", "rustc-demangle", ] @@ -464,7 +464,7 @@ "futures-timer", "hex", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-chain-spec", "sc-client-api", @@ -500,7 +500,7 @@ "jsonrpc-derive", "jsonrpc-pubsub", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-rpc", "sc-utils", @@ -520,7 +520,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-application-crypto", @@ -571,14 +571,26 @@ [[package]] name = "bitvec" +version = "0.20.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848" +dependencies = [ + "funty 1.1.0", + "radium 0.6.2", + "tap", + "wyz 0.2.0", +] + +[[package]] +name = "bitvec" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b" dependencies = [ - "funty", - "radium", + "funty 2.0.0", + "radium 0.7.0", "tap", - "wyz", + "wyz 0.5.0", ] [[package]] @@ -739,7 +751,7 @@ "bp-runtime", "finality-grandpa", "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -755,7 +767,7 @@ dependencies = [ "bp-runtime", "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-std", ] @@ -765,12 +777,12 @@ version = "0.1.0" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "bp-runtime", "frame-support", "frame-system", "impl-trait-for-tuples", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -786,7 +798,7 @@ "bp-runtime", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-core", @@ -804,7 +816,7 @@ "bp-polkadot-core", "bp-runtime", "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "smallvec", "sp-api", "sp-runtime", @@ -820,7 +832,7 @@ "frame-support", "hash-db", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -838,7 +850,7 @@ "bp-header-chain", "ed25519-dalek", "finality-grandpa", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-application-crypto", "sp-finality-grandpa", "sp-runtime", @@ -854,7 +866,7 @@ "bp-polkadot-core", "bp-rococo", "bp-runtime", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", "sp-runtime", "sp-std", @@ -875,7 +887,7 @@ "pallet-bridge-grandpa", "pallet-bridge-messages", "pallet-transaction-payment", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-core", @@ -977,9 +989,9 @@ [[package]] name = "camino" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23" +checksum = "07fd178c5af4d59e83498ef15cf3f154e1a6f9d091270cb86283c65ef44e9ef0" dependencies = [ "serde", ] @@ -1111,9 +1123,9 @@ [[package]] name = "clang-sys" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" +checksum = "bf6b561dcf059c85bbe388e0a7b0a1469acb3934cc0cfa148613a830629e3049" dependencies = [ "glob", "libc", @@ -1122,9 +1134,9 @@ [[package]] name = "clap" -version = "3.1.16" +version = "3.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52d4f8e4a1419219935762e32913b4430f37cb0c0200ad17a89ee18c0188a9f" +checksum = "d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b" dependencies = [ "atty", "bitflags", @@ -1139,9 +1151,9 @@ [[package]] name = "clap_derive" -version = "3.1.7" +version = "3.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1" +checksum = "25320346e922cffe59c0bbc5410c8d8784509efb321488971081313cb1e1a33c" dependencies = [ "heck 0.4.0", "proc-macro-error", @@ -1524,7 +1536,7 @@ "cumulus-primitives-core", "cumulus-relay-chain-interface", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -1547,7 +1559,7 @@ "cumulus-client-consensus-common", "cumulus-primitives-core", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-consensus", "sc-consensus-aura", @@ -1576,7 +1588,7 @@ "cumulus-relay-chain-interface", "dyn-clone", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "sc-client-api", "sc-consensus", @@ -1598,7 +1610,7 @@ "derive_more", "futures 0.3.21", "futures-timer", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-node-primitives", "polkadot-parachain", @@ -1622,7 +1634,7 @@ "cumulus-relay-chain-interface", "futures 0.3.21", "futures-timer", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", @@ -1648,7 +1660,7 @@ "cumulus-client-pov-recovery", "cumulus-primitives-core", "cumulus-relay-chain-interface", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-overseer", "polkadot-primitives", @@ -1676,7 +1688,7 @@ "frame-support", "frame-system", "pallet-aura", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-application-crypto", @@ -1694,7 +1706,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -1717,7 +1729,7 @@ "impl-trait-for-tuples", "log", "pallet-balances", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", "scale-info", "serde", @@ -1752,7 +1764,7 @@ "cumulus-primitives-core", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-io", @@ -1770,7 +1782,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rand_chacha 0.3.1", "scale-info", "sp-runtime", @@ -1785,7 +1797,7 @@ source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.21#4ce5950ac3efbdbbf6c88c90e2a9ad4c7cb8d334" dependencies = [ "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-core-primitives", "polkadot-parachain", "polkadot-primitives", @@ -1804,7 +1816,7 @@ "cumulus-primitives-core", "cumulus-relay-chain-interface", "cumulus-test-relay-sproof-builder", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "scale-info", "sp-api", @@ -1825,7 +1837,7 @@ dependencies = [ "cumulus-primitives-core", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-inherents", "sp-std", "sp-timestamp", @@ -1838,7 +1850,7 @@ dependencies = [ "cumulus-primitives-core", "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-core-primitives", "polkadot-parachain", "polkadot-primitives", @@ -1886,7 +1898,7 @@ "derive_more", "futures 0.3.21", "jsonrpsee-core", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-overseer", "polkadot-service", @@ -1912,7 +1924,7 @@ "futures 0.3.21", "futures-timer", "jsonrpsee", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-service", "sc-client-api", @@ -1932,7 +1944,7 @@ source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.21#4ce5950ac3efbdbbf6c88c90e2a9ad4c7cb8d334" dependencies = [ "cumulus-primitives-core", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "sp-runtime", "sp-state-machine", @@ -2147,7 +2159,7 @@ checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea" dependencies = [ "byteorder", - "quick-error 1.2.3", + "quick-error", ] [[package]] @@ -2202,9 +2214,9 @@ [[package]] name = "ed25519" -version = "1.4.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4" +checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" dependencies = [ "signature", ] @@ -2361,7 +2373,7 @@ "ethereum-types", "hash-db", "hash256-std-hasher", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rlp", "rlp-derive", "scale-info", @@ -2404,7 +2416,7 @@ "evm-gasometer", "evm-runtime", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "primitive-types", "rlp", "scale-info", @@ -2443,7 +2455,7 @@ version = "0.35.0" source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.19#1b170dc649f5e16a33134710a9fe2610e580661e" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "primitive-types", "scale-info", "serde", @@ -2578,7 +2590,7 @@ dependencies = [ "fp-storage", "kvdb-rocksdb", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sp-core", "sp-database", @@ -2622,7 +2634,7 @@ "libsecp256k1", "log", "lru 0.6.6", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rand 0.8.5", "rlp", "sc-client-api", @@ -2638,7 +2650,7 @@ "sp-io", "sp-runtime", "sp-storage", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] @@ -2698,7 +2710,7 @@ "futures-timer", "log", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.11.2", "scale-info", ] @@ -2761,7 +2773,7 @@ version = "3.0.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", ] [[package]] @@ -2780,7 +2792,7 @@ source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.21-logs#79cd4c4cf29106c431facd6779783fc887b21475" dependencies = [ "ethereum", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-core", "sp-runtime", "sp-std", @@ -2793,7 +2805,7 @@ dependencies = [ "evm", "impl-trait-for-tuples", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "serde", "sp-core", "sp-std", @@ -2816,7 +2828,7 @@ "ethereum", "ethereum-types", "fp-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-core", @@ -2832,7 +2844,7 @@ dependencies = [ "ethereum", "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "scale-info", "serde", @@ -2846,7 +2858,7 @@ version = "2.0.0" source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.21-logs#79cd4c4cf29106c431facd6779783fc887b21475" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", ] [[package]] @@ -2858,7 +2870,7 @@ "frame-system", "linregress", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "paste", "scale-info", "serde", @@ -2890,7 +2902,7 @@ "linked-hash-map", "log", "memory-db", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "prettytable-rs", "rand 0.8.5", "rand_pcg 0.3.1", @@ -2938,7 +2950,7 @@ "frame-election-provider-solution-type", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-arithmetic", "sp-npos-elections", @@ -2953,7 +2965,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -2969,7 +2981,7 @@ checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" dependencies = [ "cfg-if 1.0.0", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", ] @@ -2985,7 +2997,7 @@ "impl-trait-for-tuples", "log", "once_cell", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "paste", "scale-info", "serde", @@ -3044,7 +3056,7 @@ dependencies = [ "frame-support", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -3062,7 +3074,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", @@ -3074,7 +3086,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", ] @@ -3141,6 +3153,12 @@ [[package]] name = "funty" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" + +[[package]] +name = "funty" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" @@ -3394,23 +3412,23 @@ "http", "indexmap", "slab", - "tokio 1.18.1", - "tokio-util 0.7.1", + "tokio 1.18.2", + "tokio-util 0.7.2", "tracing", ] [[package]] name = "handlebars" -version = "4.2.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d6a30320f094710245150395bc763ad23128d6a1ebbad7594dc4164b62c56b" +checksum = "d113a9853e5accd30f43003560b5563ffbb007e3f325e8b103fa0d0029c6e6df" dependencies = [ "log", "pest", "pest_derive", - "quick-error 2.0.1", "serde", "serde_json", + "thiserror", ] [[package]] @@ -3538,7 +3556,7 @@ dependencies = [ "bytes 1.1.0", "fnv", - "itoa 1.0.1", + "itoa 1.0.2", ] [[package]] @@ -3585,10 +3603,10 @@ "http-body", "httparse", "httpdate", - "itoa 1.0.1", + "itoa 1.0.2", "pin-project-lite 0.2.9", "socket2 0.4.4", - "tokio 1.18.1", + "tokio 1.18.2", "tower-service", "tracing", "want", @@ -3606,7 +3624,7 @@ "log", "rustls 0.19.1", "rustls-native-certs 0.5.0", - "tokio 1.18.1", + "tokio 1.18.2", "tokio-rustls 0.22.0", "webpki 0.21.4", ] @@ -3620,9 +3638,9 @@ "http", "hyper", "log", - "rustls 0.20.4", + "rustls 0.20.6", "rustls-native-certs 0.6.2", - "tokio 1.18.1", + "tokio 1.18.2", "tokio-rustls 0.23.4", "webpki-roots 0.22.3", ] @@ -3698,7 +3716,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", ] [[package]] @@ -3821,9 +3839,9 @@ [[package]] name = "itoa" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" [[package]] name = "jobserver" @@ -3954,9 +3972,9 @@ "jsonrpc-core", "lazy_static", "log", - "tokio 1.18.1", + "tokio 1.18.2", "tokio-stream", - "tokio-util 0.6.9", + "tokio-util 0.6.10", "unicase", ] @@ -4002,9 +4020,9 @@ "rustls-native-certs 0.6.2", "soketto", "thiserror", - "tokio 1.18.1", + "tokio 1.18.2", "tokio-rustls 0.23.4", - "tokio-util 0.7.1", + "tokio-util 0.7.2", "tracing", "webpki-roots 0.22.3", ] @@ -4028,7 +4046,7 @@ "serde_json", "soketto", "thiserror", - "tokio 1.18.1", + "tokio 1.18.2", "tracing", ] @@ -4047,7 +4065,7 @@ "serde", "serde_json", "thiserror", - "tokio 1.18.1", + "tokio 1.18.2", "tracing", ] @@ -4122,7 +4140,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "beefy-primitives", - "bitvec", + "bitvec 1.0.0", "frame-benchmarking", "frame-election-provider-support", "frame-executive", @@ -4174,7 +4192,7 @@ "pallet-vesting", "pallet-xcm", "pallet-xcm-benchmarks", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", @@ -4281,9 +4299,9 @@ [[package]] name = "libc" -version = "0.2.125" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" [[package]] name = "libloading" @@ -5126,7 +5144,7 @@ "kernel32-sys", "libc", "log", - "miow 0.2.2", + "miow", "net2", "slab", "winapi 0.2.8", @@ -5134,16 +5152,14 @@ [[package]] name = "mio" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9" +checksum = "713d550d9b44d89174e066b7a6217ae06234c10cb47819a88290d2b353c31799" dependencies = [ "libc", "log", - "miow 0.3.7", - "ntapi", "wasi 0.11.0+wasi-snapshot-preview1", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -5168,15 +5184,6 @@ "net2", "winapi 0.2.8", "ws2_32-sys", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi 0.3.9", ] [[package]] @@ -5353,15 +5360,6 @@ dependencies = [ "memchr", "minimal-lexical", -] - -[[package]] -name = "ntapi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" -dependencies = [ - "winapi 0.3.9", ] [[package]] @@ -5460,9 +5458,9 @@ [[package]] name = "object" -version = "0.28.3" +version = "0.28.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456" +checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" dependencies = [ "memchr", ] @@ -5525,8 +5523,9 @@ "pallet-unq-scheduler", "pallet-xcm", "parachain-info", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", + "rmrk-rpc", "scale-info", "serde", "smallvec", @@ -5609,7 +5608,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-io", @@ -5619,9 +5618,9 @@ [[package]] name = "os_str_bytes" -version = "6.0.0" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" +checksum = "029d8d0b2f198229de29dca79676f2738ff952edf3fde542eb8bf94d8c21b435" [[package]] name = "owning_ref" @@ -5640,7 +5639,7 @@ "frame-support", "frame-system", "pallet-timestamp", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-application-crypto", "sp-consensus-aura", @@ -5656,7 +5655,7 @@ "frame-support", "frame-system", "pallet-session", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-application-crypto", "sp-authority-discovery", @@ -5672,7 +5671,7 @@ "frame-support", "frame-system", "impl-trait-for-tuples", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-authorship", "sp-runtime", @@ -5691,7 +5690,7 @@ "pallet-authorship", "pallet-session", "pallet-timestamp", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-application-crypto", "sp-consensus-babe", @@ -5714,7 +5713,7 @@ "frame-system", "log", "pallet-balances", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -5732,7 +5731,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-runtime", "sp-std", @@ -5746,7 +5745,7 @@ "fp-evm", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -5762,7 +5761,7 @@ "frame-support", "frame-system", "pallet-session", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-runtime", @@ -5784,7 +5783,7 @@ "pallet-beefy", "pallet-mmr", "pallet-session", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -5803,7 +5802,7 @@ "frame-system", "log", "pallet-treasury", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -5821,7 +5820,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", @@ -5841,7 +5840,7 @@ "frame-system", "log", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-finality-grandpa", @@ -5855,7 +5854,7 @@ version = "0.1.0" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "bp-message-dispatch", "bp-messages", "bp-runtime", @@ -5863,7 +5862,7 @@ "frame-system", "log", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -5882,7 +5881,7 @@ "log", "pallet-bounties", "pallet-treasury", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -5899,7 +5898,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -5917,7 +5916,8 @@ "frame-system", "pallet-evm", "pallet-evm-coder-substrate", - "parity-scale-codec", + "parity-scale-codec 3.1.2", + "rmrk-types", "scale-info", "serde", "sp-core", @@ -5934,7 +5934,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-io", @@ -5952,7 +5952,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rand 0.7.3", "scale-info", "sp-arithmetic", @@ -5973,7 +5973,7 @@ "frame-benchmarking", "frame-election-provider-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-npos-elections", "sp-runtime", ] @@ -5987,7 +5987,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6016,7 +6016,7 @@ "pallet-balances", "pallet-evm", "pallet-timestamp", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rlp", "scale-info", "serde", @@ -6042,7 +6042,7 @@ "log", "pallet-balances", "pallet-timestamp", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "primitive-types", "rlp", "scale-info", @@ -6065,7 +6065,7 @@ "frame-system", "pallet-ethereum", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-std", @@ -6083,7 +6083,7 @@ "log", "pallet-evm", "pallet-evm-coder-substrate", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", @@ -6100,7 +6100,7 @@ "frame-support", "frame-system", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6118,7 +6118,7 @@ "frame-system", "pallet-ethereum", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6140,7 +6140,7 @@ "pallet-evm", "pallet-evm-coder-substrate", "pallet-structure", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", @@ -6156,7 +6156,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-arithmetic", "sp-runtime", @@ -6174,7 +6174,7 @@ "log", "pallet-authorship", "pallet-session", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-application-crypto", "sp-core", @@ -6195,7 +6195,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6212,7 +6212,7 @@ "frame-system", "log", "pallet-authorship", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-application-crypto", "sp-core", @@ -6230,7 +6230,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6249,7 +6249,7 @@ "pallet-balances", "pallet-randomness-collective-flip", "pallet-timestamp", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -6267,7 +6267,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6284,7 +6284,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6301,7 +6301,7 @@ "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-derive", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "serde", "sp-api", "sp-blockchain", @@ -6318,7 +6318,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6332,7 +6332,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6346,7 +6346,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", @@ -6366,7 +6366,7 @@ "pallet-bags-list", "pallet-nomination-pools", "pallet-staking", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-runtime", "sp-staking", @@ -6386,11 +6386,12 @@ "pallet-evm", "pallet-evm-coder-substrate", "pallet-structure", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", "sp-std", + "struct-versioning", "up-data-structs", ] @@ -6403,7 +6404,7 @@ "frame-system", "log", "pallet-balances", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-runtime", @@ -6427,7 +6428,7 @@ "pallet-offences", "pallet-session", "pallet-staking", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-runtime", "sp-staking", @@ -6442,7 +6443,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6458,7 +6459,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6472,7 +6473,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "safe-mix", "scale-info", "sp-runtime", @@ -6486,7 +6487,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6503,11 +6504,12 @@ "pallet-common", "pallet-evm", "pallet-structure", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-runtime", "sp-std", + "struct-versioning", "up-data-structs", ] @@ -6520,7 +6522,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6537,7 +6539,7 @@ "impl-trait-for-tuples", "log", "pallet-timestamp", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6571,7 +6573,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rand_chacha 0.2.2", "scale-info", "sp-runtime", @@ -6590,7 +6592,7 @@ "log", "pallet-authorship", "pallet-session", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rand_chacha 0.2.2", "scale-info", "serde", @@ -6629,7 +6631,7 @@ "frame-support", "frame-system", "pallet-common", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-std", "up-data-structs", @@ -6642,7 +6644,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-io", "sp-runtime", @@ -6659,7 +6661,7 @@ "frame-system", "pallet-balances", "pallet-transaction-payment", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -6678,7 +6680,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-inherents", "sp-io", @@ -6697,7 +6699,7 @@ "frame-system", "log", "pallet-treasury", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -6713,7 +6715,7 @@ dependencies = [ "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "smallvec", @@ -6732,7 +6734,7 @@ "jsonrpc-core-client", "jsonrpc-derive", "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", "sp-blockchain", "sp-core", @@ -6746,7 +6748,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "pallet-transaction-payment", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", "sp-runtime", ] @@ -6761,7 +6763,7 @@ "frame-system", "impl-trait-for-tuples", "pallet-balances", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-runtime", @@ -6777,7 +6779,7 @@ "frame-system", "pallet-common", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6794,7 +6796,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -6813,7 +6815,7 @@ "frame-benchmarking", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -6830,7 +6832,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-runtime", "sp-std", @@ -6844,7 +6846,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -6863,7 +6865,7 @@ "frame-support", "frame-system", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-runtime", "sp-std", @@ -6879,16 +6881,16 @@ "cumulus-primitives-core", "frame-support", "frame-system", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", ] [[package]] name = "parity-db" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e73cd0b0a78045276b19eaae8eaaa20e44a1da9a0217ff934a810d9492ae701" +checksum = "55a7901b85874402471e131de3332dde0e51f38432c69a3853627c8e25433048" dependencies = [ "blake2-rfc", "crc32fast", @@ -6905,20 +6907,46 @@ [[package]] name = "parity-scale-codec" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909" +dependencies = [ + "arrayvec 0.7.2", + "bitvec 0.20.4", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive 2.3.1", + "serde", +] + +[[package]] +name = "parity-scale-codec" version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066" dependencies = [ "arrayvec 0.7.2", - "bitvec", + "bitvec 1.0.0", "byte-slice-cast", "impl-trait-for-tuples", - "parity-scale-codec-derive", + "parity-scale-codec-derive 3.1.2", "serde", ] [[package]] name = "parity-scale-codec-derive" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27" +dependencies = [ + "proc-macro-crate 1.1.3", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "parity-scale-codec-derive" version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c45ed1f39709f5a89338fab50e59816b2e8815f5bb58276e7ddf9afd495f73f8" @@ -6945,7 +6973,7 @@ "libc", "log", "rand 0.7.3", - "tokio 1.18.1", + "tokio 1.18.2", "winapi 0.3.9", ] @@ -7278,7 +7306,7 @@ "fatality", "futures 0.3.21", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -7300,7 +7328,7 @@ "fatality", "futures 0.3.21", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -7403,7 +7431,7 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "scale-info", "sp-core", @@ -7420,7 +7448,7 @@ "fatality", "futures 0.3.21", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-erasure-coding", "polkadot-node-network-protocol", "polkadot-node-primitives", @@ -7439,7 +7467,7 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-primitives", "polkadot-primitives", "reed-solomon-novelpoly", @@ -7475,7 +7503,7 @@ dependencies = [ "async-trait", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-node-network-protocol", "polkadot-node-subsystem", @@ -7493,7 +7521,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-erasure-coding", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -7510,14 +7538,14 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "derive_more", "futures 0.3.21", "futures-timer", "kvdb", "lru 0.7.5", "merlin", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -7539,11 +7567,11 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "futures 0.3.21", "futures-timer", "kvdb", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-erasure-coding", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -7559,7 +7587,7 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "futures 0.3.21", "polkadot-erasure-coding", "polkadot-node-primitives", @@ -7594,7 +7622,7 @@ dependencies = [ "async-trait", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-core-pvf", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -7628,7 +7656,7 @@ "futures 0.3.21", "futures-timer", "kvdb", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -7646,7 +7674,7 @@ "futures 0.3.21", "kvdb", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", @@ -7678,7 +7706,7 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "futures 0.3.21", "futures-timer", "polkadot-node-primitives", @@ -7701,7 +7729,7 @@ "async-std", "futures 0.3.21", "futures-timer", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "pin-project 1.0.10", "polkadot-core-primitives", "polkadot-node-subsystem-util", @@ -7763,7 +7791,7 @@ "lazy_static", "log", "mick-jaeger", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "polkadot-node-primitives", "polkadot-primitives", @@ -7782,7 +7810,7 @@ "futures-timer", "log", "metered-channel", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "sc-cli", "sc-service", @@ -7799,7 +7827,7 @@ "async-trait", "fatality", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-primitives", @@ -7816,7 +7844,7 @@ dependencies = [ "bounded-vec", "futures 0.3.21", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", "polkadot-primitives", "schnorrkel", @@ -7874,7 +7902,7 @@ "lru 0.7.5", "metered-channel", "parity-db", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "parking_lot 0.11.2", "pin-project 1.0.10", @@ -7950,7 +7978,7 @@ dependencies = [ "derive_more", "frame-support", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "polkadot-core-primitives", "scale-info", @@ -7980,10 +8008,10 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "bitvec", + "bitvec 1.0.0", "frame-system", "hex-literal", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "polkadot-core-primitives", "polkadot-parachain", @@ -8043,7 +8071,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "beefy-primitives", - "bitvec", + "bitvec 1.0.0", "frame-benchmarking", "frame-election-provider-support", "frame-executive", @@ -8090,7 +8118,7 @@ "pallet-utility", "pallet-vesting", "pallet-xcm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-constants", @@ -8129,7 +8157,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "beefy-primitives", - "bitvec", + "bitvec 1.0.0", "frame-benchmarking", "frame-election-provider-support", "frame-support", @@ -8149,7 +8177,7 @@ "pallet-transaction-payment", "pallet-treasury", "pallet-vesting", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "polkadot-runtime-parachains", "rustc-hex", @@ -8188,7 +8216,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "bs58", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "sp-std", "sp-tracing", @@ -8200,7 +8228,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "bitflags", - "bitvec", + "bitvec 1.0.0", "derive_more", "frame-benchmarking", "frame-support", @@ -8214,7 +8242,7 @@ "pallet-staking", "pallet-timestamp", "pallet-vesting", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "polkadot-runtime-metrics", "rand 0.8.5", @@ -8346,7 +8374,7 @@ "fatality", "futures 0.3.21", "indexmap", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-node-network-protocol", "polkadot-node-primitives", "polkadot-node-subsystem", @@ -8363,7 +8391,7 @@ version = "0.9.21" source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-primitives", "sp-core", ] @@ -8374,7 +8402,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "beefy-primitives", - "bitvec", + "bitvec 1.0.0", "frame-election-provider-support", "frame-executive", "frame-support", @@ -8398,7 +8426,7 @@ "pallet-transaction-payment-rpc-runtime-api", "pallet-vesting", "pallet-xcm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", "polkadot-primitives", "polkadot-runtime-common", @@ -8480,7 +8508,7 @@ "substrate-test-client", "tempfile", "test-runtime-constants", - "tokio 1.18.1", + "tokio 1.18.2", "tracing-gum", ] @@ -8599,24 +8627,24 @@ [[package]] name = "proc-macro2" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" +checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] name = "prometheus" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7f64969ffd5dd8f39bd57a68ac53c163a095ed9d0fb707146da1b27025a3504" +checksum = "cface98dfa6d645ea4c789839f176e4b072265d085bfcc48eaa8d137f58d3c39" dependencies = [ "cfg-if 1.0.0", "fnv", "lazy_static", "memchr", - "parking_lot 0.11.2", + "parking_lot 0.12.0", "thiserror", ] @@ -8731,8 +8759,9 @@ "pallet-unq-scheduler", "pallet-xcm", "parachain-info", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", + "rmrk-rpc", "scale-info", "serde", "smallvec", @@ -8763,12 +8792,6 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quick-error" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" [[package]] name = "quicksink" @@ -8792,6 +8815,12 @@ [[package]] name = "radium" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" + +[[package]] +name = "radium" version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" @@ -8904,9 +8933,9 @@ [[package]] name = "rayon" -version = "1.5.2" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg", "crossbeam-deque", @@ -8916,9 +8945,9 @@ [[package]] name = "rayon-core" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -9053,7 +9082,7 @@ "env_logger", "jsonrpsee", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "serde", "serde_json", "sp-core", @@ -9078,7 +9107,7 @@ checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ "hostname", - "quick-error 1.2.3", + "quick-error", ] [[package]] @@ -9124,6 +9153,30 @@ ] [[package]] +name = "rmrk-rpc" +version = "0.0.1" +source = "git+https://github.com/UniqueNetwork/rmrk-substrate.git?branch=feature/separate-types-and-traits#01c2995b64c34063a1c9fc4d856635022cea4f78" +dependencies = [ + "parity-scale-codec 2.3.1", + "rmrk-types", + "serde", + "sp-api", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "rmrk-types" +version = "0.0.1" +source = "git+https://github.com/UniqueNetwork/rmrk-substrate.git?branch=feature/separate-types-and-traits#01c2995b64c34063a1c9fc4d856635022cea4f78" +dependencies = [ + "parity-scale-codec 3.1.2", + "scale-info", + "serde", +] + +[[package]] name = "rocksdb" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -9179,7 +9232,7 @@ "pallet-transaction-payment-rpc-runtime-api", "pallet-utility", "pallet-xcm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", "polkadot-primitives", "polkadot-runtime-common", @@ -9318,9 +9371,9 @@ [[package]] name = "rustls" -version = "0.20.4" +version = "0.20.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" +checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033" dependencies = [ "log", "ring", @@ -9380,9 +9433,9 @@ [[package]] name = "ryu" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" [[package]] name = "safe-mix" @@ -9433,7 +9486,7 @@ "ip_network", "libp2p", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "prost", "prost-build", "rand 0.7.3", @@ -9457,7 +9510,7 @@ "futures 0.3.21", "futures-timer", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-block-builder", "sc-client-api", "sc-proposer-metrics", @@ -9477,7 +9530,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sp-api", "sp-block-builder", @@ -9495,7 +9548,7 @@ dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.3", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-chain-spec-derive", "sc-network", "sc-telemetry", @@ -9529,7 +9582,7 @@ "libp2p", "log", "names", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "rand 0.7.3", "regex", "rpassword", @@ -9551,7 +9604,7 @@ "sp-version", "thiserror", "tiny-bip39", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] @@ -9563,7 +9616,7 @@ "futures 0.3.21", "hash-db", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-executor", "sc-transaction-pool-api", @@ -9594,7 +9647,7 @@ "linked-hash-map", "log", "parity-db", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-client-api", "sc-state-db", @@ -9639,7 +9692,7 @@ "async-trait", "futures 0.3.21", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-block-builder", "sc-client-api", "sc-consensus", @@ -9673,7 +9726,7 @@ "num-bigint", "num-rational 0.2.4", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "rand 0.7.3", "retain_mut", @@ -9733,7 +9786,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "fork-tree", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-consensus", "sp-blockchain", @@ -9752,7 +9805,7 @@ "jsonrpc-core-client", "jsonrpc-derive", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-consensus", "sc-consensus-aura", @@ -9785,7 +9838,7 @@ "futures 0.3.21", "futures-timer", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-consensus", "sc-telemetry", @@ -9819,7 +9872,7 @@ dependencies = [ "lazy_static", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-executor-common", "sc-executor-wasmi", @@ -9845,7 +9898,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "environmental", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-allocator", "sp-core", "sp-maybe-compressed-blob", @@ -9862,7 +9915,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-allocator", "sc-executor-common", "scoped-tls", @@ -9880,7 +9933,7 @@ "cfg-if 1.0.0", "libc", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-wasm 0.42.2", "sc-allocator", "sc-executor-common", @@ -9904,7 +9957,7 @@ "futures-timer", "hex", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "rand 0.8.5", "sc-block-builder", @@ -9942,7 +9995,7 @@ "jsonrpc-derive", "jsonrpc-pubsub", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-finality-grandpa", "sc-rpc", @@ -10008,7 +10061,7 @@ "linked_hash_set", "log", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "pin-project 1.0.10", "prost", @@ -10066,7 +10119,7 @@ "hyper-rustls 0.22.1", "num_cpus", "once_cell", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "rand 0.7.3", "sc-client-api", @@ -10112,7 +10165,7 @@ "jsonrpc-core", "jsonrpc-pubsub", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-block-builder", "sc-chain-spec", @@ -10144,7 +10197,7 @@ "jsonrpc-derive", "jsonrpc-pubsub", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sc-chain-spec", "sc-transaction-pool-api", @@ -10173,7 +10226,7 @@ "log", "serde_json", "substrate-prometheus-endpoint", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] @@ -10190,7 +10243,7 @@ "jsonrpc-core", "jsonrpc-pubsub", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "parking_lot 0.12.0", "pin-project 1.0.10", @@ -10236,7 +10289,7 @@ "substrate-prometheus-endpoint", "tempfile", "thiserror", - "tokio 1.18.1", + "tokio 1.18.2", "tracing", "tracing-futures", ] @@ -10247,7 +10300,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "parity-util-mem-derive", "parking_lot 0.12.0", @@ -10263,7 +10316,7 @@ "jsonrpc-core", "jsonrpc-core-client", "jsonrpc-derive", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-chain-spec", "sc-client-api", "sc-consensus-babe", @@ -10364,7 +10417,7 @@ "futures-timer", "linked-hash-map", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "parking_lot 0.12.0", "retain_mut", @@ -10410,23 +10463,23 @@ [[package]] name = "scale-info" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8980cafbe98a7ee7a9cc16b32ebce542c77883f512d83fbf2ddc8f6a85ea74c9" +checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a" dependencies = [ - "bitvec", + "bitvec 1.0.0", "cfg-if 1.0.0", "derive_more", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info-derive", "serde", ] [[package]] name = "scale-info-derive" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4260c630e8a8a33429d1688eff2f163f24c65a4e1b1578ef6b565061336e4b6f" +checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c" dependencies = [ "proc-macro-crate 1.1.3", "proc-macro2", @@ -10436,12 +10489,12 @@ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "winapi 0.3.9", + "windows-sys", ] [[package]] @@ -10634,7 +10687,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" dependencies = [ - "itoa 1.0.1", + "itoa 1.0.2", "ryu", "serde", ] @@ -10748,9 +10801,9 @@ [[package]] name = "signal-hook" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d" +checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d" dependencies = [ "libc", "signal-hook-registry", @@ -10798,7 +10851,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "enumn", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "paste", "sp-runtime", "sp-std", @@ -10887,7 +10940,7 @@ dependencies = [ "hash-db", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api-proc-macro", "sp-core", "sp-runtime", @@ -10914,7 +10967,7 @@ version = "6.0.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-core", @@ -10929,7 +10982,7 @@ dependencies = [ "integer-sqrt", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-debug-derive", @@ -10942,7 +10995,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-application-crypto", @@ -10956,7 +11009,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "async-trait", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-inherents", "sp-runtime", "sp-std", @@ -10967,7 +11020,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", "sp-inherents", "sp-runtime", @@ -10982,7 +11035,7 @@ "futures 0.3.21", "log", "lru 0.7.5", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "sp-api", "sp-consensus", @@ -11001,7 +11054,7 @@ "futures 0.3.21", "futures-timer", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-core", "sp-inherents", "sp-runtime", @@ -11017,7 +11070,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "async-trait", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-application-crypto", @@ -11036,7 +11089,7 @@ dependencies = [ "async-trait", "merlin", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-api", @@ -11057,7 +11110,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-arithmetic", @@ -11071,7 +11124,7 @@ version = "0.10.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "schnorrkel", "sp-core", "sp-runtime", @@ -11099,7 +11152,7 @@ "log", "merlin", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "parking_lot 0.12.0", "primitive-types", @@ -11174,7 +11227,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "environmental", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-std", "sp-storage", ] @@ -11186,7 +11239,7 @@ dependencies = [ "finality-grandpa", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-api", @@ -11204,7 +11257,7 @@ dependencies = [ "async-trait", "impl-trait-for-tuples", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-core", "sp-runtime", "sp-std", @@ -11220,7 +11273,7 @@ "hash-db", "libsecp256k1", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "secp256k1", "sp-core", @@ -11255,7 +11308,7 @@ "async-trait", "futures 0.3.21", "merlin", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "schnorrkel", "serde", @@ -11279,7 +11332,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "serde", "sp-api", "sp-core", @@ -11293,7 +11346,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "serde", "sp-arithmetic", @@ -11341,7 +11394,7 @@ "hash256-std-hasher", "impl-trait-for-tuples", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-util-mem", "paste", "rand 0.7.3", @@ -11360,7 +11413,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "impl-trait-for-tuples", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "primitive-types", "sp-externalities", "sp-runtime-interface-proc-macro", @@ -11397,7 +11450,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-api", "sp-core", @@ -11411,7 +11464,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-runtime", "sp-std", @@ -11425,7 +11478,7 @@ "hash-db", "log", "num-traits", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.12.0", "rand 0.7.3", "smallvec", @@ -11450,7 +11503,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "impl-serde", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "ref-cast", "serde", "sp-debug-derive", @@ -11478,7 +11531,7 @@ "async-trait", "futures-timer", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", "sp-inherents", "sp-runtime", @@ -11491,7 +11544,7 @@ version = "5.0.0" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-std", "tracing", "tracing-core", @@ -11514,7 +11567,7 @@ dependencies = [ "async-trait", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-inherents", @@ -11530,7 +11583,7 @@ dependencies = [ "hash-db", "memory-db", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-std", @@ -11545,7 +11598,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ "impl-serde", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parity-wasm 0.42.2", "scale-info", "serde", @@ -11561,7 +11614,7 @@ version = "4.0.0-dev" source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a" dependencies = [ - "parity-scale-codec", + "parity-scale-codec 3.1.2", "proc-macro2", "quote", "syn", @@ -11574,7 +11627,7 @@ dependencies = [ "impl-trait-for-tuples", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-std", "wasmi", "wasmtime", @@ -11598,9 +11651,9 @@ [[package]] name = "ss58-registry" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b84a70894df7a73666e0694f44b41a9571625e9546fb58a0818a565d2c7e084" +checksum = "ceb8b72a924ccfe7882d0e26144c114503760a4d1248bb5cd06c8ab2d55404cc" dependencies = [ "Inflector", "num-format", @@ -11751,7 +11804,7 @@ "jsonrpc-core-client", "jsonrpc-derive", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-rpc-api", "sc-transaction-pool-api", @@ -11772,7 +11825,7 @@ "log", "prometheus", "thiserror", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] @@ -11784,7 +11837,7 @@ "jsonrpc-core-client", "jsonrpc-derive", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-rpc-api", "scale-info", @@ -11806,7 +11859,7 @@ "async-trait", "futures 0.3.21", "hex", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sc-client-api", "sc-client-db", "sc-consensus", @@ -11831,7 +11884,7 @@ dependencies = [ "futures 0.3.21", "substrate-test-utils-derive", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] @@ -11869,13 +11922,13 @@ [[package]] name = "syn" -version = "1.0.92" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff7c592601f11445996a06f8ad0c27f094a58857c2f89e97974ab9235b92c52" +checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] @@ -11967,7 +12020,7 @@ "pallet-timestamp", "pallet-transaction-payment", "pallet-unique", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "sp-core", "sp-io", @@ -12119,14 +12172,14 @@ [[package]] name = "tokio" -version = "1.18.1" +version = "1.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce653fb475565de9f6fb0614b28bca8df2c430c0cf84bcd9c843f15de5414cc" +checksum = "4903bf0427cf68dddd5aa6a93220756f8be0c34fcfa9f5e6191e103e15a31395" dependencies = [ "bytes 1.1.0", "libc", "memchr", - "mio 0.8.2", + "mio 0.8.3", "num_cpus", "once_cell", "parking_lot 0.12.0", @@ -12166,7 +12219,7 @@ checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ "rustls 0.19.1", - "tokio 1.18.1", + "tokio 1.18.2", "webpki 0.21.4", ] @@ -12176,8 +12229,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" dependencies = [ - "rustls 0.20.4", - "tokio 1.18.1", + "rustls 0.20.6", + "tokio 1.18.2", "webpki 0.22.0", ] @@ -12189,35 +12242,35 @@ dependencies = [ "futures-core", "pin-project-lite 0.2.9", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] name = "tokio-util" -version = "0.6.9" +version = "0.6.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" dependencies = [ "bytes 1.1.0", "futures-core", "futures-sink", "log", "pin-project-lite 0.2.9", - "tokio 1.18.1", + "tokio 1.18.2", ] [[package]] name = "tokio-util" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764" +checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c" dependencies = [ "bytes 1.1.0", "futures-core", "futures-io", "futures-sink", "pin-project-lite 0.2.9", - "tokio 1.18.1", + "tokio 1.18.2", "tracing", ] @@ -12435,7 +12488,7 @@ "clap", "jsonrpsee", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "remote-externalities", "sc-chain-spec", "sc-cli", @@ -12485,12 +12538,15 @@ "jsonrpc-derive", "pallet-common", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", + "rmrk-rpc", + "rmrk-types", "sp-api", "sp-blockchain", "sp-core", "sp-rpc", "sp-runtime", + "unique-runtime-common", "up-data-structs", "up-rpc", ] @@ -12529,6 +12585,12 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] +name = "unicode-ident" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" + +[[package]] name = "unicode-normalization" version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -12588,7 +12650,7 @@ "pallet-ethereum", "pallet-transaction-payment-rpc", "pallet-transaction-payment-rpc-runtime-api", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "parking_lot 0.11.2", "polkadot-cli", "polkadot-parachain", @@ -12596,6 +12658,7 @@ "polkadot-service", "polkadot-test-service", "quartz-runtime", + "rmrk-rpc", "sc-basic-authorship", "sc-chain-spec", "sc-cli", @@ -12633,7 +12696,7 @@ "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", - "tokio 1.18.1", + "tokio 1.18.2", "try-runtime-cli", "unique-rpc", "unique-runtime", @@ -12660,6 +12723,7 @@ "pallet-transaction-payment-rpc", "pallet-transaction-payment-rpc-runtime-api", "pallet-unique", + "rmrk-rpc", "sc-client-api", "sc-consensus-aura", "sc-consensus-epochs", @@ -12687,6 +12751,7 @@ "tokio 0.2.25", "uc-rpc", "unique-runtime-common", + "up-data-structs", "up-rpc", ] @@ -12742,8 +12807,9 @@ "pallet-unq-scheduler", "pallet-xcm", "parachain-info", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", + "rmrk-rpc", "scale-info", "serde", "smallvec", @@ -12783,7 +12849,9 @@ "pallet-nonfungible", "pallet-refungible", "pallet-unique", - "parity-scale-codec", + "parity-scale-codec 3.1.2", + "rmrk-rpc", + "rmrk-types", "scale-info", "sp-consensus-aura", "sp-core", @@ -12847,7 +12915,8 @@ "frame-support", "frame-system", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", + "rmrk-types", "scale-info", "serde", "sp-core", @@ -12862,7 +12931,7 @@ dependencies = [ "pallet-common", "pallet-evm", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-api", "sp-core", "sp-runtime", @@ -13341,7 +13410,7 @@ source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f" dependencies = [ "beefy-primitives", - "bitvec", + "bitvec 1.0.0", "frame-benchmarking", "frame-election-provider-support", "frame-executive", @@ -13391,7 +13460,7 @@ "pallet-vesting", "pallet-xcm", "pallet-xcm-benchmarks", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", "polkadot-primitives", "polkadot-runtime-common", @@ -13560,6 +13629,12 @@ [[package]] name = "wyz" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" + +[[package]] +name = "wyz" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e" @@ -13586,7 +13661,7 @@ "derivative", "impl-trait-for-tuples", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "scale-info", "xcm-procedural", ] @@ -13600,7 +13675,7 @@ "frame-system", "log", "pallet-transaction-payment", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "polkadot-parachain", "scale-info", "sp-arithmetic", @@ -13620,7 +13695,7 @@ "frame-support", "impl-trait-for-tuples", "log", - "parity-scale-codec", + "parity-scale-codec 3.1.2", "sp-arithmetic", "sp-core", "sp-io", @@ -13683,18 +13758,18 @@ [[package]] name = "zstd" -version = "0.10.0+zstd.1.5.2" +version = "0.10.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b1365becbe415f3f0fcd024e2f7b45bacfb5bdd055f0dc113571394114e7bdd" +checksum = "5f4a6bd64f22b5e3e94b4e238669ff9f10815c27a5180108b849d24174a83847" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "4.1.4+zstd.1.5.2" +version = "4.1.6+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f7cd17c9af1a4d6c24beb1cc54b17e2ef7b593dc92f19e9d9acad8b182bbaee" +checksum = "94b61c51bb270702d6167b8ce67340d2754b088d0c091b06e593aa772c3ee9bb" dependencies = [ "libc", "zstd-sys", --- a/client/rpc/Cargo.toml +++ b/client/rpc/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" [dependencies] +unique-runtime-common = { default-features = false, path = "../../runtime/common" } pallet-common = { default-features = false, path = '../../pallets/common' } up-data-structs = { default-features = false, path = '../../primitives/data-structs' } up-rpc = { path = "../../primitives/rpc" } @@ -19,3 +20,8 @@ sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" } + +# RMRK +# todo git +rmrk-rpc = { git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } +rmrk-types = { git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } --- a/client/rpc/src/lib.rs +++ b/client/rpc/src/lib.rs @@ -16,7 +16,7 @@ use std::sync::Arc; -use codec::Decode; +use codec::{Decode, Encode}; use jsonrpc_core::{Error as RpcError, ErrorCode, Result}; use jsonrpc_derive::rpc; use up_data_structs::{ @@ -27,6 +27,15 @@ use sp_blockchain::HeaderBackend; use up_rpc::UniqueApi as UniqueRuntimeApi; +// RMRK +use rmrk_rpc::RmrkApi as RmrkRuntimeApi; +use up_data_structs::{ + RmrkCollectionId, RmrkNftId, RmrkBaseId, RmrkNftChild, RmrkThemeName, RmrkPropertyKey, + RmrkResourceId, +}; + +pub use rmrk_unique_rpc::RmrkApi; + #[rpc] pub trait UniqueApi { #[rpc(name = "unique_accountTokens")] @@ -179,6 +188,124 @@ ) -> Result>; } +mod rmrk_unique_rpc { + use super::*; + + #[rpc(server)] + pub trait RmrkApi< + BlockHash, + AccountId, + CollectionInfo, + NftInfo, + ResourceInfo, + PropertyInfo, + BaseInfo, + PartType, + Theme, + > + { + #[rpc(name = "rmrk_lastCollectionIdx")] + /// Get the latest created collection id + fn last_collection_idx(&self, at: Option) -> Result; + + #[rpc(name = "rmrk_collectionById")] + /// Get collection by id + fn collection_by_id( + &self, + id: RmrkCollectionId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_nftById")] + /// Get NFT by collection id and NFT id + fn nft_by_id( + &self, + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_accountTokens")] + /// Get tokens owned by an account in a collection + fn account_tokens( + &self, + account_id: AccountId, + collection_id: RmrkCollectionId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_nftChildren")] + /// Get NFT children + fn nft_children( + &self, + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_collectionProperties")] + /// Get collection properties + fn collection_properties( + &self, + collection_id: RmrkCollectionId, + filter_keys: Option>, //String + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_nftProperties")] + /// Get NFT properties + fn nft_properties( + &self, + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + filter_keys: Option>, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_nftResources")] + /// Get NFT resources + fn nft_resources( + &self, + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_nftResourcePriorities")] + /// Get NFT resource priorities + fn nft_resource_priorities( + &self, + collection_id: RmrkCollectionId, + nft_id: RmrkNftId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_base")] + /// Get base info + fn base(&self, base_id: RmrkBaseId, at: Option) -> Result>; + + #[rpc(name = "rmrk_baseParts")] + /// Get all Base's parts + fn base_parts(&self, base_id: RmrkBaseId, at: Option) -> Result>; + + #[rpc(name = "rmrk_themeNames")] + fn theme_names( + &self, + base_id: RmrkBaseId, + at: Option, + ) -> Result>; + + #[rpc(name = "rmrk_themes")] + fn theme( + &self, + base_id: RmrkBaseId, + theme_name: RmrkThemeName, // String + filter_keys: Option>, + at: Option, + ) -> Result>; + } +} + pub struct Unique { client: Arc, _marker: std::marker::PhantomData

, @@ -209,7 +336,9 @@ ( $method_name:ident( $($(#[map(|$map_arg:ident| $map:expr)])? $name:ident: $ty:ty),* $(,)? - ) -> $result:ty $(=> $mapper:expr)? + ) -> $result:ty $(=> $mapper:expr)?, + //$runtime_name:ident $(<$($lt: tt),+>)* + $runtime_api_macro:ident $(; changed_in $ver:expr, $changed_method_name:ident ($($changed_name:expr), * $(,)?) => $fixer:expr)* ) => { fn $method_name( @@ -222,7 +351,7 @@ let api = self.client.runtime_api(); let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash)); let _api_version = if let Ok(Some(api_version)) = - api.api_version::>(&at) + api.api_version::<$runtime_api_macro!()>(&at) { api_version } else { @@ -253,6 +382,18 @@ }; } +macro_rules! unique_api { + () => { + dyn UniqueRuntimeApi + }; +} + +macro_rules! rmrk_api { + () => { + dyn RmrkRuntimeApi + }; +} + #[allow(deprecated)] impl UniqueApi<::Hash, CrossAccountId, AccountId> for Unique @@ -263,22 +404,38 @@ C::Api: UniqueRuntimeApi, CrossAccountId: pallet_evm::account::CrossAccountId, { - pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec); - pass_method!(collection_tokens(collection: CollectionId) -> Vec); - pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool); pass_method!( - token_owner(collection: CollectionId, token: TokenId) -> Option; - changed_in 2, token_owner_before_version_2(collection, token) => |u| Some(u) + account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec, unique_api ); - pass_method!(topmost_token_owner(collection: CollectionId, token: TokenId) -> Option); - pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec); + pass_method!( + collection_tokens(collection: CollectionId) -> Vec, unique_api + ); + pass_method!( + token_exists(collection: CollectionId, token: TokenId) -> bool, unique_api + ); + pass_method!( + token_owner(collection: CollectionId, token: TokenId) -> Option, unique_api + ); + pass_method!( + topmost_token_owner(collection: CollectionId, token: TokenId) -> Option, unique_api + ); + pass_method!( + const_metadata(collection: CollectionId, token: TokenId) -> Vec, unique_api + ); + pass_method!(total_supply(collection: CollectionId) -> u32, unique_api); + pass_method!(account_balance(collection: CollectionId, account: CrossAccountId) -> u32, unique_api); + pass_method!(balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> String => |v| v.to_string(), unique_api); + pass_method!( + allowance(collection: CollectionId, sender: CrossAccountId, spender: CrossAccountId, token: TokenId) -> String => |v| v.to_string(), + unique_api + ); pass_method!(collection_properties( collection: CollectionId, #[map(|keys| string_keys_to_bytes_keys(keys))] keys: Option> - ) -> Vec); + ) -> Vec, unique_api); pass_method!(token_properties( collection: CollectionId, @@ -286,14 +443,14 @@ #[map(|keys| string_keys_to_bytes_keys(keys))] keys: Option> - ) -> Vec); + ) -> Vec, unique_api); pass_method!(property_permissions( collection: CollectionId, #[map(|keys| string_keys_to_bytes_keys(keys))] keys: Option> - ) -> Vec); + ) -> Vec, unique_api); pass_method!(token_data( collection: CollectionId, @@ -301,25 +458,86 @@ #[map(|keys| string_keys_to_bytes_keys(keys))] keys: Option>, - ) -> TokenData); + ) -> TokenData, unique_api); - pass_method!(total_supply(collection: CollectionId) -> u32); - pass_method!(account_balance(collection: CollectionId, account: CrossAccountId) -> u32); - pass_method!(balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> String => |v| v.to_string()); - pass_method!(allowance(collection: CollectionId, sender: CrossAccountId, spender: CrossAccountId, token: TokenId) -> String => |v| v.to_string()); + pass_method!(adminlist(collection: CollectionId) -> Vec, unique_api); + pass_method!(allowlist(collection: CollectionId) -> Vec, unique_api); + pass_method!(allowed(collection: CollectionId, user: CrossAccountId) -> bool, unique_api); + pass_method!(last_token_id(collection: CollectionId) -> TokenId, unique_api); + pass_method!(collection_by_id(collection: CollectionId) -> Option>, unique_api); + pass_method!(collection_stats() -> CollectionStats, unique_api); + pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option, unique_api); + pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option, unique_api); +} - pass_method!(adminlist(collection: CollectionId) -> Vec); - pass_method!(allowlist(collection: CollectionId) -> Vec); - pass_method!(allowed(collection: CollectionId, user: CrossAccountId) -> bool); - pass_method!(last_token_id(collection: CollectionId) -> TokenId); - pass_method!(collection_by_id(collection: CollectionId) -> Option>); - pass_method!(collection_stats() -> CollectionStats); - pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option); - pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option); +#[allow(deprecated)] +impl< + C, + Block, + AccountId, + CollectionInfo, + NftInfo, + ResourceInfo, + PropertyInfo, + BaseInfo, + PartType, + Theme, + > + rmrk_unique_rpc::RmrkApi< + ::Hash, + AccountId, + CollectionInfo, + NftInfo, + ResourceInfo, + PropertyInfo, + BaseInfo, + PartType, + Theme, + > for Unique +where + C: Send + Sync + 'static + ProvideRuntimeApi + HeaderBackend, + C::Api: RmrkRuntimeApi< + Block, + AccountId, + CollectionInfo, + NftInfo, + ResourceInfo, + PropertyInfo, + BaseInfo, + PartType, + Theme, + >, + AccountId: Decode + Encode, + CollectionInfo: Decode, + NftInfo: Decode, + ResourceInfo: Decode, + PropertyInfo: Decode, + BaseInfo: Decode, + PartType: Decode, + Theme: Decode, + Block: BlockT, +{ + pass_method!(last_collection_idx() -> RmrkCollectionId, rmrk_api); + pass_method!(collection_by_id(id: RmrkCollectionId) -> Option, rmrk_api); + pass_method!(nft_by_id(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Option, rmrk_api); + pass_method!(account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Vec, rmrk_api); + pass_method!(nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Vec, rmrk_api); + pass_method!( + collection_properties(collection_id: RmrkCollectionId, filter_keys: Option>) -> Vec, + rmrk_api + ); + pass_method!( + nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option>) -> Vec, + rmrk_api + ); + pass_method!(nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Vec, rmrk_api); + pass_method!(nft_resource_priorities(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Vec, rmrk_api); + pass_method!(base(base_id: RmrkBaseId) -> Option, rmrk_api); + pass_method!(base_parts(base_id: RmrkBaseId) -> Vec, rmrk_api); + pass_method!(theme_names(base_id: RmrkBaseId) -> Vec, rmrk_api); + pass_method!(theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option>) -> Option, rmrk_api); } fn string_keys_to_bytes_keys(keys: Option>) -> Option>> { - keys.map(|keys| { - keys.into_iter().map(|key| key.into_bytes()).collect() - }) + keys.map(|keys| keys.into_iter().map(|key| key.into_bytes()).collect()) } --- a/node/cli/Cargo.toml +++ b/node/cli/Cargo.toml @@ -276,6 +276,14 @@ branch = "polkadot-v0.9.21" ################################################################################ +# RMRK dependencies + +# todo git +[dependencies.rmrk-rpc] +git = "https://github.com/UniqueNetwork/rmrk-substrate.git" +branch = "feature/separate-types-and-traits" + +################################################################################ # Package [package] --- a/node/cli/src/service.rs +++ b/node/cli/src/service.rs @@ -67,6 +67,12 @@ use unique_runtime_common::types::{AuraId, RuntimeInstance, AccountId, Balance, Index, Hash, Block}; +// RMRK +use up_data_structs::{ + RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, RmrkBaseInfo, + RmrkPartType, RmrkTheme, +}; + /// Unique native executor instance. #[cfg(feature = "unique-runtime")] pub struct UniqueRuntimeExecutor; @@ -347,7 +353,17 @@ + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + sp_api::ApiExt> + up_rpc::UniqueApi - + substrate_frame_rpc_system::AccountNonceApi + + rmrk_rpc::RmrkApi< + Block, + AccountId, + RmrkCollectionInfo, + RmrkInstanceInfo, + RmrkResourceInfo, + RmrkPropertyInfo, + RmrkBaseInfo, + RmrkPartType, + RmrkTheme, + > + substrate_frame_rpc_system::AccountNonceApi + sp_api::Metadata + sp_offchain::OffchainWorkerApi + cumulus_primitives_core::CollectCollationInfo, @@ -628,7 +644,17 @@ + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + sp_api::ApiExt> + up_rpc::UniqueApi - + substrate_frame_rpc_system::AccountNonceApi + + rmrk_rpc::RmrkApi< + Block, + AccountId, + RmrkCollectionInfo, + RmrkInstanceInfo, + RmrkResourceInfo, + RmrkPropertyInfo, + RmrkBaseInfo, + RmrkPartType, + RmrkTheme, + > + substrate_frame_rpc_system::AccountNonceApi + sp_api::Metadata + sp_offchain::OffchainWorkerApi + cumulus_primitives_core::CollectCollationInfo @@ -761,7 +787,17 @@ + pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi + sp_api::ApiExt> + up_rpc::UniqueApi - + substrate_frame_rpc_system::AccountNonceApi + + rmrk_rpc::RmrkApi< + Block, + AccountId, + RmrkCollectionInfo, + RmrkInstanceInfo, + RmrkResourceInfo, + RmrkPropertyInfo, + RmrkBaseInfo, + RmrkPartType, + RmrkTheme, + > + substrate_frame_rpc_system::AccountNonceApi + sp_api::Metadata + sp_offchain::OffchainWorkerApi + cumulus_primitives_core::CollectCollationInfo --- a/node/rpc/Cargo.toml +++ b/node/rpc/Cargo.toml @@ -49,11 +49,16 @@ fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" } fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" } +# RMRK +# todo git +rmrk-rpc = { git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } + pallet-common = { default-features = false, path = "../../pallets/common" } unique-runtime-common = { default-features = false, path = "../../runtime/common" } pallet-unique = { path = "../../pallets/unique" } uc-rpc = { path = "../../client/rpc" } up-rpc = { path = "../../primitives/rpc" } +up-data-structs = { default-features = false, path = "../../primitives/data-structs" } [dependencies.serde] features = ['derive'] --- a/node/rpc/src/lib.rs +++ b/node/rpc/src/lib.rs @@ -43,6 +43,11 @@ use unique_runtime_common::types::{ Hash, AccountId, RuntimeInstance, Index, Block, BlockNumber, Balance, }; +// RMRK +use up_data_structs::{ + RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, RmrkBaseInfo, + RmrkPartType, RmrkTheme, +}; /// Public io handler for exporting into other modules pub type IoHandler = jsonrpc_core::IoHandler; @@ -144,6 +149,17 @@ C::Api: fp_rpc::EthereumRuntimeRPCApi, C::Api: fp_rpc::ConvertTransactionRuntimeApi, C::Api: up_rpc::UniqueApi::CrossAccountId, AccountId>, + C::Api: rmrk_rpc::RmrkApi< + Block, + AccountId, + RmrkCollectionInfo, + RmrkInstanceInfo, + RmrkResourceInfo, + RmrkPropertyInfo, + RmrkBaseInfo, + RmrkPartType, + RmrkTheme, + >, B: sc_client_api::Backend + Send + Sync + 'static, B::State: sc_client_api::backend::StateBackend>, P: TransactionPool + 'static, @@ -157,7 +173,7 @@ EthPubSubApiServer, EthSigner, HexEncodedIdProvider, NetApi, NetApiServer, Web3Api, Web3ApiServer, }; - use uc_rpc::{UniqueApi, Unique}; + use uc_rpc::{UniqueApi, RmrkApi, Unique}; // use pallet_contracts_rpc::{Contracts, ContractsApi}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi}; use substrate_frame_rpc_system::{FullSystem, SystemApi}; @@ -213,7 +229,11 @@ fee_history_limit, fee_history_cache, ))); + + // todo look into + //let unique = Unique::new(client.clone()); io.extend_with(UniqueApi::to_delegate(Unique::new(client.clone()))); + io.extend_with(RmrkApi::to_delegate(Unique::new(client.clone()))); if let Some(filter_pool) = filter_pool { io.extend_with(EthFilterApiServer::to_delegate(EthFilterApi::new( --- a/pallets/common/Cargo.toml +++ b/pallets/common/Cargo.toml @@ -26,6 +26,10 @@ "derive", ] } +# RMRK +# todo git +rmrk-types = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } + [features] default = ["std"] std = [ --- a/pallets/common/src/lib.rs +++ b/pallets/common/src/lib.rs @@ -30,15 +30,52 @@ }; use pallet_evm::GasWeightMapping; use up_data_structs::{ - COLLECTION_NUMBER_LIMIT, Collection, RpcCollection, CollectionId, CreateItemData, - MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, TokenId, CollectionStats, - MAX_TOKEN_OWNERSHIP, CollectionMode, NFT_SPONSOR_TRANSFER_TIMEOUT, - FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, - CUSTOM_DATA_LIMIT, CollectionLimits, CreateCollectionData, SponsorshipState, CreateItemExData, - SponsoringRateLimit, budget::Budget, COLLECTION_FIELD_LIMIT, CollectionField, PhantomType, - Property, Properties, PropertiesPermissionMap, PropertyKey, PropertyPermission, - PropertiesError, PropertyKeyPermission, TokenData, TrySetProperty, + COLLECTION_NUMBER_LIMIT, + Collection, + RpcCollection, + CollectionId, + CreateItemData, + MAX_TOKEN_PREFIX_LENGTH, + COLLECTION_ADMINS_LIMIT, + TokenId, + CollectionStats, + MAX_TOKEN_OWNERSHIP, + CollectionMode, + NFT_SPONSOR_TRANSFER_TIMEOUT, + FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, + REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, + MAX_SPONSOR_TIMEOUT, + CUSTOM_DATA_LIMIT, + CollectionLimits, + CreateCollectionData, + SponsorshipState, + CreateItemExData, + SponsoringRateLimit, + budget::Budget, + COLLECTION_FIELD_LIMIT, + CollectionField, + PhantomType, + Property, + Properties, + PropertiesPermissionMap, + PropertyKey, + PropertyPermission, + PropertiesError, + PropertyKeyPermission, + TokenData, + TrySetProperty, + PropertyScope, + // RMRK + RmrkCollectionInfo, + RmrkInstanceInfo, + RmrkResourceInfo, + RmrkPropertyInfo, + RmrkBaseInfo, + RmrkPartType, + RmrkTheme, + RmrkNftChild, }; + pub use pallet::*; use sp_core::H160; use sp_runtime::{ArithmeticError, DispatchError, DispatchResult}; @@ -441,6 +478,15 @@ TokenId, PhantomType>, PhantomType>, + // RMRK + PhantomType>, + PhantomType>, + PhantomType, + PhantomType, + PhantomType>, + PhantomType, + PhantomType, + PhantomType, ), QueryKind = OptionQuery, >; @@ -644,18 +690,14 @@ let mut collection_properties = up_data_structs::CollectionProperties::get(); collection_properties - .try_set_from_iter(data.properties.into_iter().map(|p| (p.key, p.value))) + .try_set_from_iter(data.properties.into_iter()) .map_err(>::from)?; CollectionProperties::::insert(id, collection_properties); let mut token_props_permissions = PropertiesPermissionMap::new(); token_props_permissions - .try_set_from_iter( - data.token_property_permissions - .into_iter() - .map(|property| (property.key, property.permission)), - ) + .try_set_from_iter(data.token_property_permissions.into_iter()) .map_err(>::from)?; CollectionPropertyPermissions::::insert(id, token_props_permissions); @@ -720,6 +762,7 @@ >::remove(collection.id); >::remove_prefix((collection.id,), None); >::remove_prefix((collection.id,), None); + >::remove(collection.id); >::deposit_event(Event::CollectionDestroyed(collection.id)); Ok(()) @@ -743,7 +786,34 @@ Ok(()) } + pub fn set_scoped_collection_property( + collection: &CollectionHandle, + scope: PropertyScope, + property: Property, + ) -> DispatchResult { + CollectionProperties::::try_mutate(collection.id, |properties| { + properties.try_scoped_set(scope, property.key, property.value) + }) + .map_err(>::from)?; + + Ok(()) + } + #[transactional] + pub fn set_scoped_collection_properties( + collection: &CollectionHandle, + scope: PropertyScope, + properties: impl Iterator, + ) -> DispatchResult { + CollectionProperties::::try_mutate(collection.id, |stored_properties| { + stored_properties.try_scoped_set_from_iter(scope, properties) + }) + .map_err(>::from)?; + + Ok(()) + } + + #[transactional] pub fn set_collection_properties( collection: &CollectionHandle, sender: &T::CrossAccountId, @@ -849,23 +919,26 @@ ) -> Result, DispatchError> { let properties = Self::collection_properties(collection_id); - let properties = keys.map(|keys| { - keys.into_iter() - .filter_map(|key| { - properties.get(&key).map(|value| Property { - key, - value: value.clone(), - }) + let properties = keys + .map(|keys| { + keys.into_iter() + .filter_map(|key| { + properties.get(&key).map(|value| Property { + key, + value: value.clone(), + }) + }) + .collect() }) - .collect() - }).unwrap_or( - properties.iter() - .map(|(key, value)| Property { - key: key.clone(), - value: value.clone(), - }) - .collect() - ); + .unwrap_or_else(|| { + properties + .iter() + .map(|(key, value)| Property { + key: key.clone(), + value: value.clone(), + }) + .collect() + }); Ok(properties) } @@ -876,25 +949,28 @@ ) -> Result, DispatchError> { let permissions = Self::property_permissions(collection_id); - let key_permissions = keys.map(|keys| { - keys.into_iter() - .filter_map(|key| { + let key_permissions = keys + .map(|keys| { + keys.into_iter() + .filter_map(|key| { + permissions + .get(&key) + .map(|permission| PropertyKeyPermission { + key, + permission: permission.clone(), + }) + }) + .collect() + }) + .unwrap_or_else(|| { permissions - .get(&key) - .map(|permission| PropertyKeyPermission { - key, + .iter() + .map(|(key, permission)| PropertyKeyPermission { + key: key.clone(), permission: permission.clone(), }) - }) - .collect() - }).unwrap_or( - permissions.iter() - .map(|(key, permission)| PropertyKeyPermission { - key: key.clone(), - permission: permission.clone(), - }) - .collect() - ); + .collect() + }); Ok(key_permissions) } --- a/pallets/fungible/src/common.rs +++ b/pallets/fungible/src/common.rs @@ -319,7 +319,11 @@ Vec::new() } - fn token_properties(&self, _token_id: TokenId, _keys: Option>) -> Vec { + fn token_properties( + &self, + _token_id: TokenId, + _keys: Option>, + ) -> Vec { Vec::new() } --- a/pallets/nonfungible/src/benchmarking.rs +++ b/pallets/nonfungible/src/benchmarking.rs @@ -28,10 +28,7 @@ fn create_max_item_data(owner: T::CrossAccountId) -> CreateItemData { let const_data = create_data::(); - CreateItemData:: { - const_data, - owner, - } + CreateItemData:: { const_data, owner } } fn create_max_item( collection: &NonfungibleHandle, --- a/pallets/nonfungible/src/common.rs +++ b/pallets/nonfungible/src/common.rs @@ -18,8 +18,8 @@ use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight}; use up_data_structs::{ - TokenId, CreateItemExData, CollectionId, budget::Budget, Property, - PropertyKey, PropertyKeyPermission, + TokenId, CreateItemExData, CollectionId, budget::Budget, Property, PropertyKey, + PropertyKeyPermission, }; use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight}; use sp_runtime::DispatchError; @@ -179,7 +179,7 @@ let weight = >::delete_collection_properties(property_keys.len() as u32); with_weight( - >::delete_collection_properties(self, &sender, property_keys), + >::delete_collection_properties(self, sender, property_keys), weight, ) } @@ -367,20 +367,23 @@ keys.map(|keys| { keys.into_iter() - .filter_map(|key| { - properties.get(&key).map(|value| Property { - key, + .filter_map(|key| { + properties.get(&key).map(|value| Property { + key, + value: value.clone(), + }) + }) + .collect() + }) + .unwrap_or_else(|| { + properties + .iter() + .map(|(key, value)| Property { + key: key.clone(), value: value.clone(), }) - }) - .collect() - }).unwrap_or( - properties.iter().map(|(key, value)| Property { - key: key.clone(), - value: value.clone(), - }) - .collect() - ) + .collect() + }) } fn total_supply(&self) -> u32 { --- a/pallets/nonfungible/src/lib.rs +++ b/pallets/nonfungible/src/lib.rs @@ -257,6 +257,7 @@ >::remove((collection.id, &token_data.owner, token)); >::insert(collection.id, burnt); >::remove((collection.id, token)); + >::remove((collection.id, token)); let old_spender = >::take((collection.id, token)); if let Some(old_spender) = old_spender { @@ -353,8 +354,8 @@ ) -> DispatchResult { let permission = >::property_permissions(collection.id) .get(property_key) - .map(|p| p.clone()) - .unwrap_or(PropertyPermission::none()); + .cloned() + .unwrap_or_else(PropertyPermission::none); let token_data = >::get((collection.id, token_id)) .ok_or(>::TokenNotFound)?; --- a/pallets/refungible/src/common.rs +++ b/pallets/refungible/src/common.rs @@ -19,8 +19,8 @@ use sp_std::collections::btree_map::BTreeMap; use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight}; use up_data_structs::{ - CollectionId, TokenId, CreateItemExData, CreateRefungibleExData, - budget::Budget, Property, PropertyKey, PropertyKeyPermission, + CollectionId, TokenId, CreateItemExData, CreateRefungibleExData, budget::Budget, Property, + PropertyKey, PropertyKeyPermission, }; use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight}; use sp_runtime::DispatchError; @@ -340,7 +340,11 @@ .into_inner() } - fn token_properties(&self, _token_id: TokenId, _keys: Option>) -> Vec { + fn token_properties( + &self, + _token_id: TokenId, + _keys: Option>, + ) -> Vec { Vec::new() } --- a/pallets/refungible/src/lib.rs +++ b/pallets/refungible/src/lib.rs @@ -53,7 +53,10 @@ #[frame_support::pallet] pub mod pallet { use super::*; - use frame_support::{Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key, traits::StorageVersion}; + use frame_support::{ + Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key, + traits::StorageVersion, + }; use frame_system::pallet_prelude::*; use up_data_structs::{CollectionId, TokenId}; use super::weights::WeightInfo; --- /dev/null +++ b/pallets/rmrk-proxy/Cargo.toml @@ -0,0 +1,49 @@ +[package] +name = "pallet-rmrk-proxy" +version = "0.1.0" +license = "GPLv3" +edition = "2021" + +[dependencies.codec] +default-features = false +features = ['derive'] +package = 'parity-scale-codec' +version = '3.1.2' + +[dependencies] +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } +pallet-common = { default-features = false, path = '../common' } +pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" } +# pallet-structure = { default-features = false, path = '../structure' } +up-data-structs = { default-features = false, path = '../../primitives/data-structs' } +# evm-coder = { default-features = false, path = '../../crates/evm-coder' } +# pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' } +pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" } +frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" } +scale-info = { version = "2.0.1", default-features = false, features = ["derive"] } + +[features] +default = ["std"] +std = [ + "frame-support/std", + "frame-system/std", + "sp-runtime/std", + "sp-std/std", + "up-data-structs/std", + "pallet-common/std", + "pallet-nonfungible/std", + "pallet-evm/std", + # "pallet-structure/std", + # "evm-coder/std", + # "pallet-evm-coder-substrate/std", + 'frame-benchmarking/std', +] +runtime-benchmarks = [ + 'frame-benchmarking', + 'frame-support/runtime-benchmarks', + 'frame-system/runtime-benchmarks', +] --- /dev/null +++ b/pallets/rmrk-proxy/src/lib.rs @@ -0,0 +1,232 @@ +// 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 . + +#![cfg_attr(not(feature = "std"), no_std)] + +use frame_support::{pallet_prelude::*, transactional, BoundedVec, traits::ConstU32, dispatch::DispatchResult}; +use frame_system::{pallet_prelude::*, ensure_signed}; +use sp_runtime::DispatchError; +use up_data_structs::*; +use pallet_common::{Pallet as PalletCommon, Error as CommonError, CollectionHandle, CommonCollectionOperations}; +use pallet_nonfungible::{Pallet as PalletNft, NonfungibleHandle}; +use pallet_evm::account::CrossAccountId; + +pub use pallet::*; + +pub mod misc; + +use misc::*; + +#[frame_support::pallet] +pub mod pallet { + use super::*; + use pallet_evm::account; + + #[pallet::config] + pub trait Config: frame_system::Config + + pallet_common::Config + + pallet_nonfungible::Config + + account::Config { + type Event: From> + IsType<::Event>; + } + + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); + + #[pallet::event] + #[pallet::generate_deposit(pub(super) fn deposit_event)] + pub enum Event { + CollectionCreated { + issuer: T::AccountId, + collection_id: CollectionId, + }, + CollectionDestroyed { + issuer: T::AccountId, + collection_id: CollectionId, + }, + CollectionLocked { + issuer: T::AccountId, + collection_id: CollectionId, + }, + } + + #[pallet::error] + pub enum Error { + /* Unique-specific events */ + CorruptedCollectionType, + NotRmrkCollection, + + /* RMRK compatible events */ + CollectionNotEmpty, + NoAvailableCollectionId, + CollectionUnknown, + } + + #[pallet::call] + impl Pallet { + #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] + #[transactional] + pub fn create_collection( + origin: OriginFor, + metadata: PropertyValue, + max: Option, + symbol: BoundedVec>, + ) -> DispatchResult { + let sender = ensure_signed(origin)?; + + let limits = max.map(|max| CollectionLimits { + token_limit: Some(max), + ..Default::default() + }); + + let data = CreateCollectionData { + limits, + token_prefix: symbol, + ..Default::default() + }; + + let collection_id_res = >::init_collection(sender.clone(), data); + + if let Err(DispatchError::Arithmetic(_)) = &collection_id_res { + return Err(>::NoAvailableCollectionId.into()); + } + + let collection_id = collection_id_res?; + + let collection = Self::get_nft_collection(collection_id)?.into_inner(); + + >::set_scoped_collection_properties( + &collection, + PropertyScope::Rmrk, + [ + rmrk_property!(Metadata, metadata), + rmrk_property!(CollectionType, CollectionType::Regular), + ].into_iter() + )?; + + Self::deposit_event(Event::CollectionCreated { issuer: sender, collection_id }); + + Ok(()) + } + + #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] + #[transactional] + pub fn destroy_collection( + origin: OriginFor, + collection_id: CollectionId, + ) -> DispatchResult { + let sender = ensure_signed(origin)?; + let cross_sender = T::CrossAccountId::from_sub(sender.clone()); + + let collection = Self::get_nft_collection(collection_id)?; + + Self::check_collection_type(collection_id, CollectionType::Regular)?; + + ensure!(collection.total_supply() == 0, >::CollectionNotEmpty); + + >::destroy_collection(collection, &cross_sender)?; + + Self::deposit_event(Event::CollectionDestroyed { issuer: sender, collection_id }); + + Ok(()) + } + + #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] + #[transactional] + pub fn change_collection_issuer( + origin: OriginFor, + collection_id: CollectionId, + new_issuer: T::AccountId, + ) -> DispatchResult { + let sender = ensure_signed(origin)?; + + Self::change_collection_owner( + collection_id, + CollectionType::Regular, + sender, + new_issuer + )?; + + Ok(()) + } + + #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))] + #[transactional] + pub fn lock_collection( + origin: OriginFor, + collection_id: CollectionId, + ) -> DispatchResult { + let sender = ensure_signed(origin)?; + let cross_sender = T::CrossAccountId::from_sub(sender.clone()); + + let collection = Self::get_nft_collection(collection_id)?; + collection.check_is_owner(&cross_sender)?; + + let token_count = collection.total_supply(); + + let mut collection = collection.into_inner(); + collection.limits.token_limit = Some(token_count); + collection.save()?; + + Self::deposit_event(Event::CollectionLocked { issuer: sender, collection_id }); + + Ok(()) + } + } +} + +impl Pallet { + fn change_collection_owner( + collection_id: CollectionId, + collection_type: CollectionType, + sender: T::AccountId, + new_owner: T::AccountId, + ) -> DispatchResult { + let mut collection = Self::get_nft_collection(collection_id)?.into_inner(); + collection.check_is_owner(&T::CrossAccountId::from_sub(sender))?; + + Self::check_collection_type(collection_id, collection_type)?; + + collection.owner = new_owner; + collection.save() + } + + fn get_nft_collection(collection_id: CollectionId) -> Result, DispatchError> { + let collection = >::try_get(collection_id) + .map_err(|_| >::CollectionUnknown)? + .into_nft_collection()?; + + Ok(collection) + } + + fn get_collection_type(collection_id: CollectionId) -> Result { + let collection_type: CollectionType = >::collection_properties(collection_id) + .get(&rmrk_property!(CollectionType)) + .ok_or(>::NotRmrkCollection)? + .try_into() + .map_err(>::from)?; + + Ok(collection_type) + } + + fn check_collection_type(collection_id: CollectionId, collection_type: CollectionType) -> DispatchResult { + let actual_type = Self::get_collection_type(collection_id)?; + ensure!(actual_type == collection_type, >::NoPermission); + + Ok(()) + } +} --- /dev/null +++ b/pallets/rmrk-proxy/src/misc.rs @@ -0,0 +1,98 @@ +use super::*; +use codec::{Encode, Decode}; +use frame_support::dispatch::Vec; +use pallet_nonfungible::NonfungibleHandle; + +#[macro_export] +macro_rules! rmrk_property { + ($key:ident, $value:expr) => { + Property { + key: rmrk_property!(@raw $key), + value: $value.into() + } + }; + + (@raw $key:ident) => { + RmrkProperty::$key.to_key() + }; + + ($key:ident) => { + PropertyScope::Rmrk.apply(rmrk_property!(@raw $key)).unwrap() + }; +} + +macro_rules! impl_rmrk_value { + ($enum_name:path, decode_error: $error:ident) => { + impl Into for $enum_name { + fn into(self) -> PropertyValue { + self.encode().try_into().unwrap() + } + } + + impl TryFrom<&PropertyValue> for $enum_name { + type Error = MiscError; + + fn try_from(value: &PropertyValue) -> Result { + let mut value = value.as_slice(); + + <$enum_name>::decode(&mut value) + .map_err(|_| MiscError::$error) + } + } + + }; +} + +pub enum MiscError { + CorruptedCollectionType, +} + +impl From for Error { + fn from(error: MiscError) -> Self { + match error { + MiscError::CorruptedCollectionType => Self::CorruptedCollectionType, + } + } +} + +pub trait IntoNftCollection { + fn into_nft_collection(self) -> Result, Error>; +} + +impl IntoNftCollection for CollectionHandle { + fn into_nft_collection(self) -> Result, Error> { + match self.mode { + CollectionMode::NFT => Ok(NonfungibleHandle::cast(self)), + _ => Err(>::NotRmrkCollection) + } + } +} + +pub enum RmrkProperty { + Metadata, + CollectionType, +} + +impl RmrkProperty { + pub fn to_key(self) -> PropertyKey { + let key = |str_key: &str| { + PropertyKey::try_from( + str_key.bytes().collect::>() + ).unwrap() + }; + + match self { + Self::Metadata => key("metadata"), + Self::CollectionType => key("collection-type"), + } + } +} + +#[derive(Encode, Decode, PartialEq, Eq)] +pub enum CollectionType { + Regular, + Resource, + Base, +} + +impl_rmrk_value!(CollectionType, decode_error: CorruptedCollectionType); --- a/pallets/unique/src/lib.rs +++ b/pallets/unique/src/lib.rs @@ -35,16 +35,16 @@ use frame_system::{self as system, ensure_signed}; use sp_runtime::{sp_std::prelude::Vec}; use up_data_structs::{ - CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT, - MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, - AccessMode, CreateItemData, CollectionLimits, CollectionId, CollectionMode, TokenId, - SchemaVersion, SponsorshipState, CreateCollectionData, - CreateItemExData, budget, CollectionField, Property, PropertyKey, PropertyKeyPermission, + CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT, MAX_COLLECTION_NAME_LENGTH, + MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, AccessMode, CreateItemData, + CollectionLimits, CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState, + CreateCollectionData, CreateItemExData, budget, CollectionField, Property, PropertyKey, + PropertyKeyPermission, }; use pallet_evm::account::CrossAccountId; use pallet_common::{ - CollectionHandle, Pallet as PalletCommon, CommonWeightInfo, - dispatch::dispatch_call, dispatch::CollectionDispatch, + CollectionHandle, Pallet as PalletCommon, CommonWeightInfo, dispatch::dispatch_call, + dispatch::CollectionDispatch, }; #[cfg(feature = "runtime-benchmarks")] --- a/primitives/data-structs/Cargo.toml +++ b/primitives/data-structs/Cargo.toml @@ -27,6 +27,10 @@ struct-versioning = { path = "../../crates/struct-versioning" } pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" } +# RMRK +# todo git +rmrk-types = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } + [features] default = ["std"] std = [ --- a/primitives/data-structs/src/lib.rs +++ b/primitives/data-structs/src/lib.rs @@ -23,18 +23,31 @@ use frame_support::{ storage::{bounded_btree_map::BoundedBTreeMap, bounded_btree_set::BoundedBTreeSet}, traits::Get, + parameter_types, }; #[cfg(feature = "serde")] use serde::{Serialize, Deserialize}; use sp_core::U256; -use sp_runtime::{ArithmeticError, sp_std::prelude::Vec}; +use sp_runtime::{ArithmeticError, sp_std::prelude::Vec, Permill}; use codec::{Decode, Encode, EncodeLike, MaxEncodedLen}; use frame_support::{BoundedVec, traits::ConstU32}; use derivative::Derivative; use scale_info::TypeInfo; +// RMRK +use rmrk_types::{ + CollectionInfo, NftInfo, ResourceInfo, PropertyInfo, BaseInfo, PartType, Theme, ThemeProperty, +}; +pub use rmrk_types::{ + primitives::{ + CollectionId as RmrkCollectionId, NftId as RmrkNftId, BaseId as RmrkBaseId, + PartId as RmrkPartId, ResourceId as RmrkResourceId, + }, + NftChild as RmrkNftChild, AccountIdOrCollectionNftTuple as RmrkAccountIdOrCollectionNftTuple, +}; + mod bounded; pub mod budget; pub mod mapping; @@ -96,6 +109,13 @@ pub const MAX_COLLECTION_PROPERTIES_ENCODE_LEN: u32 = MAX_PROPERTIES_PER_ITEM * MAX_PROPERTY_KEY_LENGTH + MAX_COLLECTION_PROPERTIES_SIZE; +// RMRK constants +pub const RMRK_STRING_LIMIT: u32 = 128; +pub const RMRK_COLLECTION_SYMBOL_LIMIT: u32 = 100; +pub const RMRK_RESOURCE_SYMBOL_LIMIT: u32 = 10; +pub const RMRK_KEY_LIMIT: u32 = 32; +pub const RMRK_VALUE_LIMIT: u32 = 256; + pub struct MaxPropertiesPermissionsEncodeLen; impl Get for MaxPropertiesPermissionsEncodeLen { @@ -581,7 +601,8 @@ pub alive: u32, } -#[derive(Encode, Decode, PartialEq, Clone, Debug)] +#[derive(Encode, Decode, Clone, Debug)] +#[cfg_attr(feature = "std", derive(PartialEq))] pub struct PhantomType(core::marker::PhantomData); impl TypeInfo for PhantomType { @@ -636,6 +657,12 @@ pub value: PropertyValue, } +impl Into<(PropertyKey, PropertyValue)> for Property { + fn into(self) -> (PropertyKey, PropertyValue) { + (self.key, self.value) + } +} + #[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)] #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))] pub struct PropertyKeyPermission { @@ -645,6 +672,13 @@ pub permission: PropertyPermission, } +impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission { + fn into(self) -> (PropertyKey, PropertyPermission) { + (self.key, self.permission) + } +} + +#[derive(Debug)] pub enum PropertiesError { NoSpaceForProperty, PropertyLimitReached, @@ -660,7 +694,7 @@ } impl PropertyScope { - fn apply(self, key: PropertyKey) -> Result { + pub fn apply(self, key: PropertyKey) -> Result { let scope_str: &[u8] = match self { Self::None => return Ok(key), Self::Rmrk => b"rmrk", @@ -680,18 +714,20 @@ &mut self, scope: PropertyScope, key: PropertyKey, - value: Self::Value + value: Self::Value, ) -> Result<(), PropertiesError>; - fn try_scoped_set_from_iter( + fn try_scoped_set_from_iter( &mut self, scope: PropertyScope, - iter: I + iter: I, ) -> Result<(), PropertiesError> where - I: Iterator + I: Iterator, + KV: Into<(PropertyKey, Self::Value)> { - for (key, value) in iter { + for kv in iter { + let (key, value) = kv.into(); self.try_scoped_set(scope, key, value)?; } @@ -702,9 +738,10 @@ self.try_scoped_set(PropertyScope::None, key, value) } - fn try_set_from_iter(&mut self, iter: I) -> Result<(), PropertiesError> + fn try_set_from_iter(&mut self, iter: I) -> Result<(), PropertiesError> where - I: Iterator, + I: Iterator, + KV: Into<(PropertyKey, Self::Value)> { self.try_scoped_set_from_iter(PropertyScope::None, iter) } @@ -743,10 +780,8 @@ for byte in key.as_slice().iter() { let byte = *byte; - if !byte.is_ascii_alphanumeric() - && byte != b'_' - && byte != b'-' { - return Err(PropertiesError::InvalidCharacterInPropertyKey) + if !byte.is_ascii_alphanumeric() && byte != b'_' && byte != b'-' { + return Err(PropertiesError::InvalidCharacterInPropertyKey); } } @@ -761,7 +796,7 @@ &mut self, scope: PropertyScope, key: PropertyKey, - value: Self::Value + value: Self::Value, ) -> Result<(), PropertiesError> { Self::check_property_key(&key)?; @@ -819,7 +854,7 @@ &mut self, scope: PropertyScope, key: PropertyKey, - value: Self::Value + value: Self::Value, ) -> Result<(), PropertiesError> { let value_len = value.len(); @@ -850,3 +885,43 @@ Properties::new(MAX_TOKEN_PROPERTIES_SIZE) } } + +// RMRK +// todo document? +parameter_types! { + #[derive(PartialEq, TypeInfo)] + pub const RmrkStringLimit: u32 = 128; + #[derive(PartialEq)] + pub const RmrkCollectionSymbolLimit: u32 = 100; + #[derive(PartialEq)] + pub const RmrkResourceSymbolLimit: u32 = 10; + #[derive(PartialEq)] + pub const RmrkKeyLimit: u32 = 32; + #[derive(PartialEq)] + pub const RmrkValueLimit: u32 = 256; + #[derive(PartialEq)] + pub const RmrkMaxCollectionsEquippablePerPart: u32 = 100; + #[derive(PartialEq)] + pub const RmrkPartsLimit: u32 = 3; +} + +pub type RmrkCollectionInfo = + CollectionInfo, AccountId>; +pub type RmrkInstanceInfo = NftInfo; +pub type RmrkResourceInfo = ResourceInfo< + BoundedVec, + RmrkString, + BoundedVec, +>; +pub type RmrkPropertyInfo = + PropertyInfo, BoundedVec>; +pub type RmrkBaseInfo = BaseInfo; +pub type RmrkPartType = + PartType>; +pub type RmrkTheme = Theme>>; + +pub type RmrkRpcString = Vec; +pub type RmrkThemeName = RmrkRpcString; +pub type RmrkPropertyKey = RmrkRpcString; + +type RmrkString = BoundedVec; --- a/runtime/common/Cargo.toml +++ b/runtime/common/Cargo.toml @@ -106,4 +106,9 @@ [dependencies] pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" } evm-coder = { default-features = false, path = '../../crates/evm-coder' } -up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.21' } +up-sponsorship = { default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.21' } + +# RMRK +# todo git +rmrk-rpc = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } +rmrk-types = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } --- a/runtime/common/src/runtime_apis.rs +++ b/runtime/common/src/runtime_apis.rs @@ -130,6 +130,200 @@ } } + impl rmrk_rpc::RmrkApi< + Block, + AccountId, + RmrkCollectionInfo, + RmrkInstanceInfo, + RmrkResourceInfo, + RmrkPropertyInfo, + RmrkBaseInfo, + RmrkPartType, + RmrkTheme + > for Runtime { + fn last_collection_idx() -> Result { + Ok(>::get().0) + } + fn collection_by_id(collection_id: RmrkCollectionId) -> Result>, DispatchError> { + // TODO decide on displacement to palettes -- does RMRK belong there, spread across common and nonfungible? + use frame_support::BoundedVec; + + let collection_id = CollectionId(collection_id); + let collection = match >::get(collection_id) { + Some(c) => c, + None => return Ok(None) + }; + let nfts_count: Result = dispatch_unique_runtime!(collection_id.total_supply()); + Ok(Some(RmrkCollectionInfo { + issuer: collection.owner, + metadata: BoundedVec::default(), // todo property - namespace:metadata + max: Some(collection.limits.token_limit()), // must have some effective limits + symbol: BoundedVec::try_from(collection.token_prefix.into_inner()).unwrap_or_default() /*{ // todo map_err + Ok(s) => s, + Err(_) => return Err(pallet_common::Error::::CollectionTokenPrefixLimitExceeded) + }*/, + nfts_count: nfts_count? // todo? ::total_supply(collection_id) + })) + } + fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result>, DispatchError> { + use frame_support::BoundedVec; + use up_data_structs::mapping::TokenAddressMapping; + + let collection_id = CollectionId(collection_id); + let nft_id = TokenId(nft_by_id); + + let owner = match (dispatch_unique_runtime!(collection_id.token_owner(nft_id)) as Result, DispatchError>)? { + Some(owner) => match ::CrossTokenAddressMapping::address_to_token(&owner) { + Some((col, tok)) => RmrkAccountIdOrCollectionNftTuple::CollectionAndNftTuple(col.0, tok.0), + None => RmrkAccountIdOrCollectionNftTuple::AccountId(owner.as_sub().clone()) + }, + None => return Ok(None) + }; + + Ok(Some(RmrkInstanceInfo { + owner: owner, + //recipient: , // prop + royalty: None,//Permill::from_percent(0), // prop + metadata: BoundedVec::default(), // prop + equipped: false, // prop + pending: false, // prop + })) + } + fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result, DispatchError> { + let cross_account_id = CrossAccountId::from_sub(account_id); + let collection_id = CollectionId(collection_id); + Ok( + (dispatch_unique_runtime!(collection_id.account_tokens(cross_account_id)) as Result, DispatchError>)? + //>::account_tokens(collection_id, cross_account_id)? + .into_iter() + .map(|token| token.0) + .collect::>() + ) + } + fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { + use up_data_structs::mapping::TokenAddressMapping; + + let collection_id = CollectionId(collection_id); + let nft_id = TokenId(nft_id); + let cross_account_id = CrossAccountId::from_eth( + EvmTokenAddressMapping::token_to_address(collection_id, nft_id) + ); + + Ok( + pallet_nonfungible::Owned::::iter_prefix((collection_id, cross_account_id)) + .map(|(child_id, _)| RmrkNftChild { + collection_id: collection_id.0, // todo make sure they're always from this collection + nft_id: child_id.0, + }) + .collect() + ) + } + fn collection_properties(collection_id: RmrkCollectionId, filter_keys: Option>) -> Result, DispatchError> { + use frame_support::BoundedVec; + + let collection_id = CollectionId(collection_id); + let properties = pallet_common::Pallet::::collection_properties(collection_id); + + return Ok(match filter_keys { + Some(keys) => { + let keys = pallet_common::Pallet::::bytes_keys_to_property_keys(keys)?; + let properties = keys + .into_iter() + .filter_map(|key| { + properties.get(&key).map(|value| RmrkPropertyInfo { + key: BoundedVec::try_from(key.into_inner()).unwrap_or_default(), + value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(), + }) + }) + .collect(); + + properties + } + None => { + properties + .iter() + .map(|(key, value)| RmrkPropertyInfo { + key: BoundedVec::try_from(key.clone().into_inner()).unwrap_or_default(), + value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(), + }) + .collect() + } + }); + } + fn nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option>) -> Result, DispatchError> { + use frame_support::BoundedVec; + + let collection_id = CollectionId(collection_id); + let token_id = TokenId(nft_id); + + let properties = pallet_nonfungible::Pallet::::token_properties((collection_id, token_id)); // todo look into usage of nonfungible + + return Ok(match filter_keys { + Some(keys) => { + let keys = pallet_common::Pallet::::bytes_keys_to_property_keys(keys)?; + let properties = keys + .into_iter() + .filter_map(|key| { + properties.get(&key).map(|value| RmrkPropertyInfo { + key: BoundedVec::try_from(key.into_inner()).unwrap_or_default(), + value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(), + }) + }) + .collect(); + + properties + } + None => { + properties + .iter() + .map(|(key, value)| RmrkPropertyInfo { + key: BoundedVec::try_from(key.clone().into_inner()).unwrap_or_default(), + value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(), + }) + .collect() + } + }); + } + fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { + todo!() + } + fn nft_resource_priorities(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result, DispatchError> { + todo!() + } + fn base(base_id: RmrkBaseId) -> Result>, DispatchError> { + use frame_support::{BoundedVec, ensure}; + use scale_info::prelude::string::String; + + let collection_id = CollectionId(base_id); + let collection = match >::get(collection_id) { + Some(c) => c, + None => return Ok(None) + }; + + // string_keys_to_bytes_keys + let keys = pallet_common::Pallet::::bytes_keys_to_property_keys( + Vec::from([String::from("rmrk:base-type").into_bytes()]) + )?; + let properties = pallet_common::Pallet::::filter_collection_properties(collection_id, Some(keys))?; + //ensure!(properties.len() == 1); // todo make sure it's fine to have ensure in place // no access to errors from here? displace? + + Ok(Some( RmrkBaseInfo { + issuer: collection.owner, + base_type: BoundedVec::try_from(properties[0].value.clone().into_inner()).unwrap_or_default(), // todo map_err? no access to errors + symbol: BoundedVec::try_from(collection.token_prefix.into_inner()).unwrap_or_default(), + })) + } + fn base_parts(base_id: RmrkBaseId) -> Result, DispatchError> { + todo!() + } + fn theme_names(base_id: RmrkBaseId) -> Result, DispatchError> { + todo!() + } + fn theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option>) -> Result, DispatchError> { + todo!() + } + } + impl sp_api::Core for Runtime { fn version() -> RuntimeVersion { VERSION --- a/runtime/common/src/sponsoring.rs +++ b/runtime/common/src/sponsoring.rs @@ -21,17 +21,16 @@ storage::{StorageMap, StorageDoubleMap, StorageNMap}, }; use up_data_structs::{ - CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, - NFT_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId, CollectionMode, - CreateItemData, + CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, NFT_SPONSOR_TRANSFER_TIMEOUT, + REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId, CollectionMode, CreateItemData, }; use sp_runtime::traits::Saturating; use pallet_common::{CollectionHandle}; use pallet_evm::account::CrossAccountId; use pallet_unique::{ Call as UniqueCall, Config as UniqueConfig, FungibleApproveBasket, RefungibleApproveBasket, - NftApproveBasket, CreateItemBasket, ReFungibleTransferBasket, - FungibleTransferBasket, NftTransferBasket, + NftApproveBasket, CreateItemBasket, ReFungibleTransferBasket, FungibleTransferBasket, + NftTransferBasket, }; use pallet_fungible::Config as FungibleConfig; use pallet_nonfungible::Config as NonfungibleConfig; --- a/runtime/opal/Cargo.toml +++ b/runtime/opal/Cargo.toml @@ -33,6 +33,7 @@ 'pallet-fungible/runtime-benchmarks', 'pallet-refungible/runtime-benchmarks', 'pallet-nonfungible/runtime-benchmarks', + 'pallet-rmrk-proxy/runtime-benchmarks', 'pallet-unique/runtime-benchmarks', 'pallet-inflation/runtime-benchmarks', 'pallet-xcm/runtime-benchmarks', @@ -89,6 +90,7 @@ 'pallet-fungible/std', 'pallet-refungible/std', 'pallet-nonfungible/std', + 'pallet-rmrk-proxy/std', 'pallet-unique/std', 'pallet-unq-scheduler/std', 'pallet-charge-transaction/std', @@ -109,6 +111,7 @@ 'xcm-builder/std', 'xcm-executor/std', 'unique-runtime-common/std', + 'rmrk-rpc/std', "orml-vesting/std", ] @@ -386,6 +389,15 @@ default-features = false ################################################################################ +# RMRK dependencies + +# todo git +[dependencies.rmrk-rpc] +default-features = false +git = "https://github.com/UniqueNetwork/rmrk-substrate.git" +branch = "feature/separate-types-and-traits" + +################################################################################ # local dependencies [dependencies] @@ -405,6 +417,7 @@ pallet-fungible = { default-features = false, path = "../../pallets/fungible" } pallet-refungible = { default-features = false, path = "../../pallets/refungible" } pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" } +pallet-rmrk-proxy = { default-features = false, path = "../../pallets/rmrk-proxy" } pallet-unq-scheduler = { path = '../../pallets/scheduler', default-features = false } # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' } pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.21", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" } --- a/runtime/opal/src/lib.rs +++ b/runtime/opal/src/lib.rs @@ -901,6 +901,10 @@ type WeightInfo = pallet_nonfungible::weights::SubstrateWeight; } +impl pallet_rmrk_proxy::Config for Runtime { + type Event = Event; +} + impl pallet_unique::Config for Runtime { type Event = Event; type WeightInfo = pallet_unique::weights::SubstrateWeight; @@ -1013,6 +1017,7 @@ Refungible: pallet_refungible::{Pallet, Storage} = 68, Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69, Structure: pallet_structure::{Pallet, Call, Storage, Event} = 70, + RmrkProxy: pallet_rmrk_proxy::{Pallet, Call, Storage, Event} = 71, // Frontier EVM: pallet_evm::{Pallet, Config, Call, Storage, Event} = 100, --- a/runtime/quartz/Cargo.toml +++ b/runtime/quartz/Cargo.toml @@ -386,6 +386,15 @@ default-features = false ################################################################################ +# RMRK dependencies + +# todo git +[dependencies.rmrk-rpc] +default-features = false +git = "https://github.com/UniqueNetwork/rmrk-substrate.git" +branch = "feature/separate-types-and-traits" + +################################################################################ # local dependencies [dependencies] --- a/runtime/tests/src/tests.rs +++ b/runtime/tests/src/tests.rs @@ -18,9 +18,9 @@ use crate::{Test, TestCrossAccountId, CollectionCreationPrice, Origin, Unique, new_test_ext}; use up_data_structs::{ COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData, - CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, - TokenId, MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionField, SchemaVersion, - CollectionMode, AccessMode, + CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, TokenId, + MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionField, SchemaVersion, CollectionMode, + AccessMode, }; use frame_support::{assert_noop, assert_ok, assert_err}; use sp_std::convert::TryInto; @@ -47,6 +47,7 @@ fn default_nft_data() -> CreateNftData { CreateNftData { const_data: vec![1, 2, 3].try_into().unwrap(), + properties: vec![].try_into().unwrap(), } } --- a/runtime/unique/Cargo.toml +++ b/runtime/unique/Cargo.toml @@ -386,6 +386,15 @@ default-features = false ################################################################################ +# RMRK dependencies + +# todo git +[dependencies.rmrk-rpc] +default-features = false +git = "https://github.com/UniqueNetwork/rmrk-substrate.git" +branch = "feature/separate-types-and-traits" + +################################################################################ # local dependencies [dependencies] --- 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, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission } from '@polkadot/types/lookup'; +import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; declare module '@polkadot/api-base/types/storage' { @@ -92,7 +92,7 @@ /** * Not used by code, exists only to provide some types to metadata **/ - dummyStorageValue: AugmentedQuery Observable>>, []> & QueryableStorageEntry; + dummyStorageValue: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * List of collection admins **/ --- 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 { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } from './unique'; +import type { PalletEvmAccountBasicCrossAccountIdRepr, RmrkTypesBaseInfo, RmrkTypesCollectionInfo, RmrkTypesNftChild, RmrkTypesNftInfo, RmrkTypesPartType, RmrkTypesPropertyInfo, RmrkTypesResourceInfo, RmrkTypesTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } 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'; @@ -22,7 +22,7 @@ import type { StorageKind } from '@polkadot/types/interfaces/offchain'; import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; import type { RpcMethods } from '@polkadot/types/interfaces/rpc'; -import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime'; +import type { AccountId, AccountId32, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime'; import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state'; import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system'; import type { IExtrinsic, Observable } from '@polkadot/types/types'; @@ -393,6 +393,60 @@ **/ queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable>; }; + rmrk: { + /** + * Get tokens owned by an account in a collection + **/ + accountTokens: AugmentedRpc<(accountId: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get base info + **/ + base: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get all Base's parts + **/ + baseParts: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get collection by id + **/ + collectionById: AugmentedRpc<(id: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get collection properties + **/ + collectionProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get the latest created collection id + **/ + lastCollectionIdx: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable>; + /** + * Get NFT by collection id and NFT id + **/ + nftById: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get NFT children + **/ + nftChildren: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get NFT properties + **/ + nftProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get NFT resource priorities + **/ + nftResourcePriorities: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get NFT resources + **/ + nftResources: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get Base's theme names + **/ + themeNames: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + /** + * Get Theme's keys values + **/ + themes: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, themeName: Text | string, keys: Option> | null | object | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable>>; + }; rpc: { /** * Retrieves the list of RPC methods that are exposed by the node --- a/tests/src/interfaces/augment-api-tx.ts +++ b/tests/src/interfaces/augment-api-tx.ts @@ -3,7 +3,7 @@ import type { ApiTypes } from '@polkadot/api-base/types'; 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 { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime'; import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; @@ -378,7 +378,7 @@ * - Weight of derivative `call` execution + 10,000. * # **/ - sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic, [Call]>; + sudo: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [Call]>; /** * Authenticates the sudo key and dispatches a function call with `Signed` origin from * a given account. @@ -392,7 +392,7 @@ * - Weight of derivative `call` execution + 10,000. * # **/ - sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call) => SubmittableExtrinsic, [MultiAddress, Call]>; + sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Call]>; /** * Authenticates the sudo key and dispatches a function call with `Root` origin. * This function does not check the weight of the call, and instead allows the @@ -405,7 +405,7 @@ * - The weight of this call is defined by the caller. * # **/ - sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, u64]>; + sudoUncheckedWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, u64]>; /** * Generic tx **/ --- a/tests/src/interfaces/augment-types.ts +++ b/tests/src/interfaces/augment-types.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportStorageBoundedBTreeSet, 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, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, 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, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTypesAccountIdOrCollectionNftTuple, RmrkTypesBaseInfo, RmrkTypesCollectionInfo, RmrkTypesEquippableList, RmrkTypesFixedPart, RmrkTypesNftChild, RmrkTypesNftInfo, RmrkTypesPartType, RmrkTypesPropertyInfo, RmrkTypesResourceInfo, RmrkTypesRoyaltyInfo, RmrkTypesSlotPart, RmrkTypesTheme, RmrkTypesThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique'; import type { Data, StorageKey } from '@polkadot/types'; import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; @@ -478,7 +478,6 @@ ForkTreePendingChangeNode: ForkTreePendingChangeNode; FpRpcTransactionStatus: FpRpcTransactionStatus; FrameSupportPalletId: FrameSupportPalletId; - FrameSupportStorageBoundedBTreeSet: FrameSupportStorageBoundedBTreeSet; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass; FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo; @@ -850,7 +849,15 @@ PerU16: PerU16; Phantom: Phantom; PhantomData: PhantomData; + PhantomTypeUpDataStructsBaseInfo: PhantomTypeUpDataStructsBaseInfo; + PhantomTypeUpDataStructsCollectionInfo: PhantomTypeUpDataStructsCollectionInfo; + PhantomTypeUpDataStructsNftChild: PhantomTypeUpDataStructsNftChild; + PhantomTypeUpDataStructsNftInfo: PhantomTypeUpDataStructsNftInfo; + PhantomTypeUpDataStructsPartType: PhantomTypeUpDataStructsPartType; + PhantomTypeUpDataStructsPropertyInfo: PhantomTypeUpDataStructsPropertyInfo; + PhantomTypeUpDataStructsResourceInfo: PhantomTypeUpDataStructsResourceInfo; PhantomTypeUpDataStructsRpcCollection: PhantomTypeUpDataStructsRpcCollection; + PhantomTypeUpDataStructsTheme: PhantomTypeUpDataStructsTheme; PhantomTypeUpDataStructsTokenData: PhantomTypeUpDataStructsTokenData; Phase: Phase; PhragmenScore: PhragmenScore; @@ -943,6 +950,20 @@ Retriable: Retriable; RewardDestination: RewardDestination; RewardPoint: RewardPoint; + RmrkTypesAccountIdOrCollectionNftTuple: RmrkTypesAccountIdOrCollectionNftTuple; + RmrkTypesBaseInfo: RmrkTypesBaseInfo; + RmrkTypesCollectionInfo: RmrkTypesCollectionInfo; + RmrkTypesEquippableList: RmrkTypesEquippableList; + RmrkTypesFixedPart: RmrkTypesFixedPart; + RmrkTypesNftChild: RmrkTypesNftChild; + RmrkTypesNftInfo: RmrkTypesNftInfo; + RmrkTypesPartType: RmrkTypesPartType; + RmrkTypesPropertyInfo: RmrkTypesPropertyInfo; + RmrkTypesResourceInfo: RmrkTypesResourceInfo; + RmrkTypesRoyaltyInfo: RmrkTypesRoyaltyInfo; + RmrkTypesSlotPart: RmrkTypesSlotPart; + RmrkTypesTheme: RmrkTypesTheme; + RmrkTypesThemeProperty: RmrkTypesThemeProperty; RoundSnapshot: RoundSnapshot; RoundState: RoundState; RpcMethods: RpcMethods; --- a/tests/src/interfaces/definitions.ts +++ b/tests/src/interfaces/definitions.ts @@ -15,3 +15,4 @@ // along with Unique Network. If not, see . export {default as unique} from './unique/definitions'; +export {default as rmrk} from './rmrk/definitions'; --- a/tests/src/interfaces/lookup.ts +++ b/tests/src/interfaces/lookup.ts @@ -1448,14 +1448,10 @@ _enum: { Disabled: 'Null', Owner: 'Null', - OwnerRestricted: 'FrameSupportStorageBoundedBTreeSet' + OwnerRestricted: 'BTreeSet' } }, /** - * Lookup171: frame_support::storage::bounded_btree_set::BoundedBTreeSet - **/ - FrameSupportStorageBoundedBTreeSet: 'BTreeSet', - /** * Lookup177: up_data_structs::PropertyKeyPermission **/ UpDataStructsPropertyKeyPermission: { @@ -2351,56 +2347,212 @@ properties: 'Vec' }, /** - * Lookup333: pallet_common::pallet::Error + * Lookup333: PhantomType::up_data_structs, frame_support::storage::bounded_vec::BoundedVec, sp_core::crypto::AccountId32>> + **/ + PhantomTypeUpDataStructsCollectionInfo: '[Lookup334;0]', + /** + * Lookup334: rmrk_types::CollectionInfo, frame_support::storage::bounded_vec::BoundedVec, sp_core::crypto::AccountId32> + **/ + RmrkTypesCollectionInfo: { + issuer: 'AccountId32', + metadata: 'Bytes', + max: 'Option', + symbol: 'Bytes', + nftsCount: 'u32' + }, + /** + * Lookup338: PhantomType::up_data_structs>> + **/ + PhantomTypeUpDataStructsNftInfo: '[Lookup339;0]', + /** + * Lookup339: rmrk_types::NftInfo> + **/ + RmrkTypesNftInfo: { + owner: 'RmrkTypesAccountIdOrCollectionNftTuple', + royalty: 'Option', + metadata: 'Bytes', + equipped: 'bool', + pending: 'bool' + }, + /** + * Lookup340: rmrk_types::AccountIdOrCollectionNftTuple + **/ + RmrkTypesAccountIdOrCollectionNftTuple: { + _enum: { + AccountId: 'AccountId32', + CollectionAndNftTuple: '(u32,u32)' + } + }, + /** + * Lookup342: rmrk_types::RoyaltyInfo + **/ + RmrkTypesRoyaltyInfo: { + recipient: 'AccountId32', + amount: 'Permill' + }, + /** + * Lookup344: PhantomType::up_data_structs, frame_support::storage::bounded_vec::BoundedVec, frame_support::storage::bounded_vec::BoundedVec>> + **/ + PhantomTypeUpDataStructsResourceInfo: '[Lookup345;0]', + /** + * Lookup345: rmrk_types::ResourceInfo, frame_support::storage::bounded_vec::BoundedVec, frame_support::storage::bounded_vec::BoundedVec> + **/ + RmrkTypesResourceInfo: { + id: 'Bytes', + pending: 'bool', + pendingRemoval: 'bool', + parts: 'Option>', + base: 'Option', + src: 'Option', + metadata: 'Option', + slot: 'Option', + license: 'Option', + thumb: 'Option' + }, + /** + * Lookup351: PhantomType::up_data_structs, frame_support::storage::bounded_vec::BoundedVec>> + **/ + PhantomTypeUpDataStructsPropertyInfo: '[Lookup352;0]', + /** + * Lookup352: rmrk_types::PropertyInfo, frame_support::storage::bounded_vec::BoundedVec> + **/ + RmrkTypesPropertyInfo: { + key: 'Bytes', + value: 'Bytes' + }, + /** + * Lookup356: PhantomType::up_data_structs>> + **/ + PhantomTypeUpDataStructsBaseInfo: '[Lookup357;0]', + /** + * Lookup357: rmrk_types::BaseInfo> + **/ + RmrkTypesBaseInfo: { + issuer: 'AccountId32', + baseType: 'Bytes', + symbol: 'Bytes' + }, + /** + * Lookup359: PhantomType::up_data_structs, frame_support::storage::bounded_vec::BoundedVec>> + **/ + PhantomTypeUpDataStructsPartType: '[Lookup360;0]', + /** + * Lookup360: rmrk_types::PartType, frame_support::storage::bounded_vec::BoundedVec> + **/ + RmrkTypesPartType: { + _enum: { + FixedPart: 'RmrkTypesFixedPart', + SlotPart: 'RmrkTypesSlotPart' + } + }, + /** + * Lookup362: rmrk_types::FixedPart> + **/ + RmrkTypesFixedPart: { + id: 'u32', + z: 'u32', + src: 'Bytes' + }, + /** + * Lookup363: rmrk_types::SlotPart, frame_support::storage::bounded_vec::BoundedVec> + **/ + RmrkTypesSlotPart: { + id: 'u32', + equippable: 'RmrkTypesEquippableList', + src: 'Bytes', + z: 'u32' + }, + /** + * Lookup364: rmrk_types::EquippableList> + **/ + RmrkTypesEquippableList: { + _enum: { + All: 'Null', + Empty: 'Null', + Custom: 'Vec' + } + }, + /** + * Lookup366: PhantomType::up_data_structs, BoundedPropertyList>> + **/ + PhantomTypeUpDataStructsTheme: '[Lookup367;0]', + /** + * Lookup367: rmrk_types::Theme, BoundedPropertyList> + **/ + RmrkTypesTheme: { + name: 'Bytes', + properties: 'Vec', + inherit: 'bool' + }, + /** + * Lookup369: rmrk_types::ThemeProperty> + **/ + RmrkTypesThemeProperty: { + key: 'Bytes', + value: 'Bytes' + }, + /** + * Lookup371: PhantomType::up_data_structs + **/ + PhantomTypeUpDataStructsNftChild: '[Lookup372;0]', + /** + * Lookup372: rmrk_types::NftChild + **/ + RmrkTypesNftChild: { + collectionId: 'u32', + nftId: 'u32' + }, + /** + * Lookup374: pallet_common::pallet::Error **/ PalletCommonError: { _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'NestingIsDisabled', 'OnlyOwnerAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey'] }, /** - * Lookup335: pallet_fungible::pallet::Error + * Lookup376: pallet_fungible::pallet::Error **/ PalletFungibleError: { _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed'] }, /** - * Lookup336: pallet_refungible::ItemData + * Lookup377: pallet_refungible::ItemData **/ PalletRefungibleItemData: { constData: 'Bytes' }, /** - * Lookup340: pallet_refungible::pallet::Error + * Lookup381: pallet_refungible::pallet::Error **/ PalletRefungibleError: { _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed'] }, /** - * Lookup341: pallet_nonfungible::ItemData> + * Lookup382: pallet_nonfungible::ItemData> **/ PalletNonfungibleItemData: { constData: 'Bytes', owner: 'PalletEvmAccountBasicCrossAccountIdRepr' }, /** - * Lookup342: pallet_nonfungible::pallet::Error + * Lookup383: pallet_nonfungible::pallet::Error **/ PalletNonfungibleError: { _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount'] }, /** - * Lookup343: pallet_structure::pallet::Error + * Lookup384: pallet_structure::pallet::Error **/ PalletStructureError: { _enum: ['OuroborosDetected', 'DepthLimit', 'TokenNotFound'] }, /** - * Lookup346: pallet_evm::pallet::Error + * Lookup387: pallet_evm::pallet::Error **/ PalletEvmError: { _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce'] }, /** - * Lookup349: fp_rpc::TransactionStatus + * Lookup390: fp_rpc::TransactionStatus **/ FpRpcTransactionStatus: { transactionHash: 'H256', @@ -2412,11 +2564,11 @@ logsBloom: 'EthbloomBloom' }, /** - * Lookup351: ethbloom::Bloom + * Lookup392: ethbloom::Bloom **/ EthbloomBloom: '[u8;256]', /** - * Lookup353: ethereum::receipt::ReceiptV3 + * Lookup394: ethereum::receipt::ReceiptV3 **/ EthereumReceiptReceiptV3: { _enum: { @@ -2426,7 +2578,7 @@ } }, /** - * Lookup354: ethereum::receipt::EIP658ReceiptData + * Lookup395: ethereum::receipt::EIP658ReceiptData **/ EthereumReceiptEip658ReceiptData: { statusCode: 'u8', @@ -2435,7 +2587,7 @@ logs: 'Vec' }, /** - * Lookup355: ethereum::block::Block + * Lookup396: ethereum::block::Block **/ EthereumBlock: { header: 'EthereumHeader', @@ -2443,7 +2595,7 @@ ommers: 'Vec' }, /** - * Lookup356: ethereum::header::Header + * Lookup397: ethereum::header::Header **/ EthereumHeader: { parentHash: 'H256', @@ -2463,41 +2615,41 @@ nonce: 'EthereumTypesHashH64' }, /** - * Lookup357: ethereum_types::hash::H64 + * Lookup398: ethereum_types::hash::H64 **/ EthereumTypesHashH64: '[u8;8]', /** - * Lookup362: pallet_ethereum::pallet::Error + * Lookup403: pallet_ethereum::pallet::Error **/ PalletEthereumError: { _enum: ['InvalidSignature', 'PreLogExists'] }, /** - * Lookup363: pallet_evm_coder_substrate::pallet::Error + * Lookup404: pallet_evm_coder_substrate::pallet::Error **/ PalletEvmCoderSubstrateError: { _enum: ['OutOfGas', 'OutOfFund'] }, /** - * Lookup364: pallet_evm_contract_helpers::SponsoringModeT + * Lookup405: pallet_evm_contract_helpers::SponsoringModeT **/ PalletEvmContractHelpersSponsoringModeT: { _enum: ['Disabled', 'Allowlisted', 'Generous'] }, /** - * Lookup366: pallet_evm_contract_helpers::pallet::Error + * Lookup407: pallet_evm_contract_helpers::pallet::Error **/ PalletEvmContractHelpersError: { _enum: ['NoPermission'] }, /** - * Lookup367: pallet_evm_migration::pallet::Error + * Lookup408: pallet_evm_migration::pallet::Error **/ PalletEvmMigrationError: { _enum: ['AccountNotEmpty', 'AccountIsNotMigrating'] }, /** - * Lookup369: sp_runtime::MultiSignature + * Lookup410: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -2507,43 +2659,43 @@ } }, /** - * Lookup370: sp_core::ed25519::Signature + * Lookup411: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup372: sp_core::sr25519::Signature + * Lookup413: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup373: sp_core::ecdsa::Signature + * Lookup414: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup376: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup417: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup377: frame_system::extensions::check_genesis::CheckGenesis + * Lookup418: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup380: frame_system::extensions::check_nonce::CheckNonce + * Lookup421: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup381: frame_system::extensions::check_weight::CheckWeight + * Lookup422: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup382: pallet_template_transaction_payment::ChargeTransactionPayment + * Lookup423: pallet_template_transaction_payment::ChargeTransactionPayment **/ PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact', /** - * Lookup383: opal_runtime::Runtime + * Lookup424: opal_runtime::Runtime **/ OpalRuntimeRuntime: 'Null', /** - * Lookup384: pallet_ethereum::FakeTransactionFinalizer + * Lookup425: pallet_ethereum::FakeTransactionFinalizer **/ PalletEthereumFakeTransactionFinalizer: 'Null' }; --- a/tests/src/interfaces/registry.ts +++ b/tests/src/interfaces/registry.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportPalletId, FrameSupportStorageBoundedBTreeSet, 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, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, 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 '@polkadot/types/lookup'; +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, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTypesAccountIdOrCollectionNftTuple, RmrkTypesBaseInfo, RmrkTypesCollectionInfo, RmrkTypesEquippableList, RmrkTypesFixedPart, RmrkTypesNftChild, RmrkTypesNftInfo, RmrkTypesPartType, RmrkTypesPropertyInfo, RmrkTypesResourceInfo, RmrkTypesRoyaltyInfo, RmrkTypesSlotPart, RmrkTypesTheme, RmrkTypesThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, 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 '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { export interface InterfaceTypes { @@ -47,7 +47,6 @@ EvmCoreErrorExitSucceed: EvmCoreErrorExitSucceed; FpRpcTransactionStatus: FpRpcTransactionStatus; FrameSupportPalletId: FrameSupportPalletId; - FrameSupportStorageBoundedBTreeSet: FrameSupportStorageBoundedBTreeSet; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass; FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo; @@ -125,7 +124,15 @@ PalletXcmCall: PalletXcmCall; PalletXcmError: PalletXcmError; PalletXcmEvent: PalletXcmEvent; + PhantomTypeUpDataStructsBaseInfo: PhantomTypeUpDataStructsBaseInfo; + PhantomTypeUpDataStructsCollectionInfo: PhantomTypeUpDataStructsCollectionInfo; + PhantomTypeUpDataStructsNftChild: PhantomTypeUpDataStructsNftChild; + PhantomTypeUpDataStructsNftInfo: PhantomTypeUpDataStructsNftInfo; + PhantomTypeUpDataStructsPartType: PhantomTypeUpDataStructsPartType; + PhantomTypeUpDataStructsPropertyInfo: PhantomTypeUpDataStructsPropertyInfo; + PhantomTypeUpDataStructsResourceInfo: PhantomTypeUpDataStructsResourceInfo; PhantomTypeUpDataStructsRpcCollection: PhantomTypeUpDataStructsRpcCollection; + PhantomTypeUpDataStructsTheme: PhantomTypeUpDataStructsTheme; PhantomTypeUpDataStructsTokenData: PhantomTypeUpDataStructsTokenData; PolkadotCorePrimitivesInboundDownwardMessage: PolkadotCorePrimitivesInboundDownwardMessage; PolkadotCorePrimitivesInboundHrmpMessage: PolkadotCorePrimitivesInboundHrmpMessage; @@ -135,6 +142,20 @@ PolkadotPrimitivesV2AbridgedHrmpChannel: PolkadotPrimitivesV2AbridgedHrmpChannel; PolkadotPrimitivesV2PersistedValidationData: PolkadotPrimitivesV2PersistedValidationData; PolkadotPrimitivesV2UpgradeRestriction: PolkadotPrimitivesV2UpgradeRestriction; + RmrkTypesAccountIdOrCollectionNftTuple: RmrkTypesAccountIdOrCollectionNftTuple; + RmrkTypesBaseInfo: RmrkTypesBaseInfo; + RmrkTypesCollectionInfo: RmrkTypesCollectionInfo; + RmrkTypesEquippableList: RmrkTypesEquippableList; + RmrkTypesFixedPart: RmrkTypesFixedPart; + RmrkTypesNftChild: RmrkTypesNftChild; + RmrkTypesNftInfo: RmrkTypesNftInfo; + RmrkTypesPartType: RmrkTypesPartType; + RmrkTypesPropertyInfo: RmrkTypesPropertyInfo; + RmrkTypesResourceInfo: RmrkTypesResourceInfo; + RmrkTypesRoyaltyInfo: RmrkTypesRoyaltyInfo; + RmrkTypesSlotPart: RmrkTypesSlotPart; + RmrkTypesTheme: RmrkTypesTheme; + RmrkTypesThemeProperty: RmrkTypesThemeProperty; SpCoreEcdsaSignature: SpCoreEcdsaSignature; SpCoreEd25519Signature: SpCoreEd25519Signature; SpCoreSr25519Signature: SpCoreSr25519Signature; --- /dev/null +++ b/tests/src/interfaces/rmrk/definitions.ts @@ -0,0 +1,115 @@ +// 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 . + +import types from '../lookup'; + +type RpcParam = { + name: string; + type: string; + isOptional?: true; +}; + +const atParam = {name: 'at', type: 'Hash', isOptional: true}; +const fn = (description: string, params: RpcParam[], type: string) => ({ + description, + params: [...params, atParam], + type, +}); + +export default { + types, + rpc: { + lastCollectionIdx: fn('Get the latest created collection id', [], 'u32'), + collectionById: fn('Get collection by id', [{name: 'id', type: 'u32'}], 'Option'), + nftById: fn( + 'Get NFT by collection id and NFT id', + [ + {name: 'collectionId', type: 'u32'}, + {name: 'nftId', type: 'u32'}, + ], + 'Option' + ), + accountTokens: fn( + 'Get tokens owned by an account in a collection', + [ + {name: 'accountId', type: 'AccountId32'}, + {name: 'collectionId', type: 'u32'} + ], + 'Vec' + ), + nftChildren: fn( + 'Get NFT children', + [ + {name: 'collectionId', type: 'u32'}, + {name: 'nftId', type: 'u32'}, + ], + 'Vec' + ), + collectionProperties: fn( + 'Get collection properties', + [{name: 'collectionId', type: 'u32'}], + 'Vec' + ), + nftProperties: fn( + 'Get NFT properties', + [ + {name: 'collectionId', type: 'u32'}, + {name: 'nftId', type: 'u32'} + ], + 'Vec' + ), + nftResources: fn( + 'Get NFT resources', + [ + {name: 'collectionId', type: 'u32'}, + {name: 'nftId', type: 'u32'} + ], + 'Vec' + ), + nftResourcePriorities: fn( + 'Get NFT resource priorities', + [ + {name: 'collectionId', type: 'u32'}, + {name: 'nftId', type: 'u32'} + ], + 'Vec' + ), + base: fn( + 'Get base info', + [{name: 'baseId', type: 'u32'}], + 'Option' + ), + baseParts: fn( + 'Get all Base\'s parts', + [{name: 'baseId', type: 'u32'}], + 'Vec' + ), + themeNames: fn( + 'Get Base\'s theme names', + [{name: 'baseId', type: 'u32'}], + 'Vec' + ), + themes: fn( + 'Get Theme\'s keys values', + [ + {name: 'baseId', type: 'u32'}, + {name: 'themeName', type: 'String'}, + {name: 'keys', type: 'Option>'} + ], + 'Option' + ) + } +}; --- /dev/null +++ b/tests/src/interfaces/rmrk/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; --- /dev/null +++ b/tests/src/interfaces/rmrk/types.ts @@ -0,0 +1,2910 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +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, Permill } from '@polkadot/types/interfaces/runtime'; +import type { Event } from '@polkadot/types/interfaces/system'; + +/** @name CumulusPalletDmpQueueCall */ +export interface CumulusPalletDmpQueueCall extends Enum { + readonly isServiceOverweight: boolean; + readonly asServiceOverweight: { + readonly index: u64; + readonly weightLimit: u64; + } & Struct; + readonly type: 'ServiceOverweight'; +} + +/** @name CumulusPalletDmpQueueConfigData */ +export interface CumulusPalletDmpQueueConfigData extends Struct { + readonly maxIndividual: u64; +} + +/** @name CumulusPalletDmpQueueError */ +export interface CumulusPalletDmpQueueError extends Enum { + readonly isUnknown: boolean; + readonly isOverLimit: boolean; + readonly type: 'Unknown' | 'OverLimit'; +} + +/** @name CumulusPalletDmpQueueEvent */ +export interface CumulusPalletDmpQueueEvent extends Enum { + readonly isInvalidFormat: boolean; + readonly asInvalidFormat: U8aFixed; + readonly isUnsupportedVersion: boolean; + readonly asUnsupportedVersion: U8aFixed; + readonly isExecutedDownward: boolean; + readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>; + readonly isWeightExhausted: boolean; + readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>; + readonly isOverweightEnqueued: boolean; + readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>; + readonly isOverweightServiced: boolean; + readonly asOverweightServiced: ITuple<[u64, u64]>; + readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced'; +} + +/** @name CumulusPalletDmpQueuePageIndexData */ +export interface CumulusPalletDmpQueuePageIndexData extends Struct { + readonly beginUsed: u32; + readonly endUsed: u32; + readonly overweightCount: u64; +} + +/** @name CumulusPalletParachainSystemCall */ +export interface CumulusPalletParachainSystemCall extends Enum { + readonly isSetValidationData: boolean; + readonly asSetValidationData: { + readonly data: CumulusPrimitivesParachainInherentParachainInherentData; + } & Struct; + readonly isSudoSendUpwardMessage: boolean; + readonly asSudoSendUpwardMessage: { + readonly message: Bytes; + } & Struct; + readonly isAuthorizeUpgrade: boolean; + readonly asAuthorizeUpgrade: { + readonly codeHash: H256; + } & Struct; + readonly isEnactAuthorizedUpgrade: boolean; + readonly asEnactAuthorizedUpgrade: { + readonly code: Bytes; + } & Struct; + readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; +} + +/** @name CumulusPalletParachainSystemError */ +export interface CumulusPalletParachainSystemError extends Enum { + readonly isOverlappingUpgrades: boolean; + readonly isProhibitedByPolkadot: boolean; + readonly isTooBig: boolean; + readonly isValidationDataNotAvailable: boolean; + readonly isHostConfigurationNotAvailable: boolean; + readonly isNotScheduled: boolean; + readonly isNothingAuthorized: boolean; + readonly isUnauthorized: boolean; + readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; +} + +/** @name CumulusPalletParachainSystemEvent */ +export interface CumulusPalletParachainSystemEvent extends Enum { + readonly isValidationFunctionStored: boolean; + readonly isValidationFunctionApplied: boolean; + readonly asValidationFunctionApplied: u32; + readonly isValidationFunctionDiscarded: boolean; + readonly isUpgradeAuthorized: boolean; + readonly asUpgradeAuthorized: H256; + readonly isDownwardMessagesReceived: boolean; + readonly asDownwardMessagesReceived: u32; + readonly isDownwardMessagesProcessed: boolean; + readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>; + readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed'; +} + +/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */ +export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { + readonly dmqMqcHead: H256; + readonly relayDispatchQueueSize: ITuple<[u32, u32]>; + readonly ingressChannels: Vec>; + readonly egressChannels: Vec>; +} + +/** @name CumulusPalletXcmCall */ +export interface CumulusPalletXcmCall extends Null {} + +/** @name CumulusPalletXcmError */ +export interface CumulusPalletXcmError extends Null {} + +/** @name CumulusPalletXcmEvent */ +export interface CumulusPalletXcmEvent extends Enum { + readonly isInvalidFormat: boolean; + readonly asInvalidFormat: U8aFixed; + readonly isUnsupportedVersion: boolean; + readonly asUnsupportedVersion: U8aFixed; + readonly isExecutedDownward: boolean; + readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>; + readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; +} + +/** @name CumulusPalletXcmpQueueCall */ +export interface CumulusPalletXcmpQueueCall extends Enum { + readonly isServiceOverweight: boolean; + readonly asServiceOverweight: { + readonly index: u64; + readonly weightLimit: u64; + } & Struct; + readonly isSuspendXcmExecution: boolean; + readonly isResumeXcmExecution: boolean; + readonly isUpdateSuspendThreshold: boolean; + readonly asUpdateSuspendThreshold: { + readonly new_: u32; + } & Struct; + readonly isUpdateDropThreshold: boolean; + readonly asUpdateDropThreshold: { + readonly new_: u32; + } & Struct; + readonly isUpdateResumeThreshold: boolean; + readonly asUpdateResumeThreshold: { + readonly new_: u32; + } & Struct; + readonly isUpdateThresholdWeight: boolean; + readonly asUpdateThresholdWeight: { + readonly new_: u64; + } & Struct; + readonly isUpdateWeightRestrictDecay: boolean; + readonly asUpdateWeightRestrictDecay: { + readonly new_: u64; + } & Struct; + readonly isUpdateXcmpMaxIndividualWeight: boolean; + readonly asUpdateXcmpMaxIndividualWeight: { + readonly new_: u64; + } & Struct; + readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; +} + +/** @name CumulusPalletXcmpQueueError */ +export interface CumulusPalletXcmpQueueError extends Enum { + readonly isFailedToSend: boolean; + readonly isBadXcmOrigin: boolean; + readonly isBadXcm: boolean; + readonly isBadOverweightIndex: boolean; + readonly isWeightOverLimit: boolean; + readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; +} + +/** @name CumulusPalletXcmpQueueEvent */ +export interface CumulusPalletXcmpQueueEvent extends Enum { + readonly isSuccess: boolean; + readonly asSuccess: Option; + readonly isFail: boolean; + readonly asFail: ITuple<[Option, XcmV2TraitsError]>; + readonly isBadVersion: boolean; + readonly asBadVersion: Option; + readonly isBadFormat: boolean; + readonly asBadFormat: Option; + readonly isUpwardMessageSent: boolean; + readonly asUpwardMessageSent: Option; + readonly isXcmpMessageSent: boolean; + readonly asXcmpMessageSent: Option; + readonly isOverweightEnqueued: boolean; + readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>; + readonly isOverweightServiced: boolean; + readonly asOverweightServiced: ITuple<[u64, u64]>; + readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; +} + +/** @name CumulusPalletXcmpQueueInboundChannelDetails */ +export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { + readonly sender: u32; + readonly state: CumulusPalletXcmpQueueInboundState; + readonly messageMetadata: Vec>; +} + +/** @name CumulusPalletXcmpQueueInboundState */ +export interface CumulusPalletXcmpQueueInboundState extends Enum { + readonly isOk: boolean; + readonly isSuspended: boolean; + readonly type: 'Ok' | 'Suspended'; +} + +/** @name CumulusPalletXcmpQueueOutboundChannelDetails */ +export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { + readonly recipient: u32; + readonly state: CumulusPalletXcmpQueueOutboundState; + readonly signalsExist: bool; + readonly firstIndex: u16; + readonly lastIndex: u16; +} + +/** @name CumulusPalletXcmpQueueOutboundState */ +export interface CumulusPalletXcmpQueueOutboundState extends Enum { + readonly isOk: boolean; + readonly isSuspended: boolean; + readonly type: 'Ok' | 'Suspended'; +} + +/** @name CumulusPalletXcmpQueueQueueConfigData */ +export interface CumulusPalletXcmpQueueQueueConfigData extends Struct { + readonly suspendThreshold: u32; + readonly dropThreshold: u32; + readonly resumeThreshold: u32; + readonly thresholdWeight: u64; + readonly weightRestrictDecay: u64; + readonly xcmpMaxIndividualWeight: u64; +} + +/** @name CumulusPrimitivesParachainInherentParachainInherentData */ +export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { + readonly validationData: PolkadotPrimitivesV2PersistedValidationData; + readonly relayChainState: SpTrieStorageProof; + readonly downwardMessages: Vec; + readonly horizontalMessages: BTreeMap>; +} + +/** @name EthbloomBloom */ +export interface EthbloomBloom extends U8aFixed {} + +/** @name EthereumBlock */ +export interface EthereumBlock extends Struct { + readonly header: EthereumHeader; + readonly transactions: Vec; + readonly ommers: Vec; +} + +/** @name EthereumHeader */ +export interface EthereumHeader extends Struct { + readonly parentHash: H256; + readonly ommersHash: H256; + readonly beneficiary: H160; + readonly stateRoot: H256; + readonly transactionsRoot: H256; + readonly receiptsRoot: H256; + readonly logsBloom: EthbloomBloom; + readonly difficulty: U256; + readonly number: U256; + readonly gasLimit: U256; + readonly gasUsed: U256; + readonly timestamp: u64; + readonly extraData: Bytes; + readonly mixHash: H256; + readonly nonce: EthereumTypesHashH64; +} + +/** @name EthereumLog */ +export interface EthereumLog extends Struct { + readonly address: H160; + readonly topics: Vec; + readonly data: Bytes; +} + +/** @name EthereumReceiptEip658ReceiptData */ +export interface EthereumReceiptEip658ReceiptData extends Struct { + readonly statusCode: u8; + readonly usedGas: U256; + readonly logsBloom: EthbloomBloom; + readonly logs: Vec; +} + +/** @name EthereumReceiptReceiptV3 */ +export interface EthereumReceiptReceiptV3 extends Enum { + readonly isLegacy: boolean; + readonly asLegacy: EthereumReceiptEip658ReceiptData; + readonly isEip2930: boolean; + readonly asEip2930: EthereumReceiptEip658ReceiptData; + readonly isEip1559: boolean; + readonly asEip1559: EthereumReceiptEip658ReceiptData; + readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; +} + +/** @name EthereumTransactionAccessListItem */ +export interface EthereumTransactionAccessListItem extends Struct { + readonly address: H160; + readonly storageKeys: Vec; +} + +/** @name EthereumTransactionEip1559Transaction */ +export interface EthereumTransactionEip1559Transaction extends Struct { + readonly chainId: u64; + readonly nonce: U256; + readonly maxPriorityFeePerGas: U256; + readonly maxFeePerGas: U256; + readonly gasLimit: U256; + readonly action: EthereumTransactionTransactionAction; + readonly value: U256; + readonly input: Bytes; + readonly accessList: Vec; + readonly oddYParity: bool; + readonly r: H256; + readonly s: H256; +} + +/** @name EthereumTransactionEip2930Transaction */ +export interface EthereumTransactionEip2930Transaction extends Struct { + readonly chainId: u64; + readonly nonce: U256; + readonly gasPrice: U256; + readonly gasLimit: U256; + readonly action: EthereumTransactionTransactionAction; + readonly value: U256; + readonly input: Bytes; + readonly accessList: Vec; + readonly oddYParity: bool; + readonly r: H256; + readonly s: H256; +} + +/** @name EthereumTransactionLegacyTransaction */ +export interface EthereumTransactionLegacyTransaction extends Struct { + readonly nonce: U256; + readonly gasPrice: U256; + readonly gasLimit: U256; + readonly action: EthereumTransactionTransactionAction; + readonly value: U256; + readonly input: Bytes; + readonly signature: EthereumTransactionTransactionSignature; +} + +/** @name EthereumTransactionTransactionAction */ +export interface EthereumTransactionTransactionAction extends Enum { + readonly isCall: boolean; + readonly asCall: H160; + readonly isCreate: boolean; + readonly type: 'Call' | 'Create'; +} + +/** @name EthereumTransactionTransactionSignature */ +export interface EthereumTransactionTransactionSignature extends Struct { + readonly v: u64; + readonly r: H256; + readonly s: H256; +} + +/** @name EthereumTransactionTransactionV2 */ +export interface EthereumTransactionTransactionV2 extends Enum { + readonly isLegacy: boolean; + readonly asLegacy: EthereumTransactionLegacyTransaction; + readonly isEip2930: boolean; + readonly asEip2930: EthereumTransactionEip2930Transaction; + readonly isEip1559: boolean; + readonly asEip1559: EthereumTransactionEip1559Transaction; + readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; +} + +/** @name EthereumTypesHashH64 */ +export interface EthereumTypesHashH64 extends U8aFixed {} + +/** @name EvmCoreErrorExitError */ +export interface EvmCoreErrorExitError extends Enum { + readonly isStackUnderflow: boolean; + readonly isStackOverflow: boolean; + readonly isInvalidJump: boolean; + readonly isInvalidRange: boolean; + readonly isDesignatedInvalid: boolean; + readonly isCallTooDeep: boolean; + readonly isCreateCollision: boolean; + readonly isCreateContractLimit: boolean; + readonly isOutOfOffset: boolean; + readonly isOutOfGas: boolean; + readonly isOutOfFund: boolean; + readonly isPcUnderflow: boolean; + readonly isCreateEmpty: boolean; + readonly isOther: boolean; + readonly asOther: Text; + readonly isInvalidCode: boolean; + readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode'; +} + +/** @name EvmCoreErrorExitFatal */ +export interface EvmCoreErrorExitFatal extends Enum { + readonly isNotSupported: boolean; + readonly isUnhandledInterrupt: boolean; + readonly isCallErrorAsFatal: boolean; + readonly asCallErrorAsFatal: EvmCoreErrorExitError; + readonly isOther: boolean; + readonly asOther: Text; + readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other'; +} + +/** @name EvmCoreErrorExitReason */ +export interface EvmCoreErrorExitReason extends Enum { + readonly isSucceed: boolean; + readonly asSucceed: EvmCoreErrorExitSucceed; + readonly isError: boolean; + readonly asError: EvmCoreErrorExitError; + readonly isRevert: boolean; + readonly asRevert: EvmCoreErrorExitRevert; + readonly isFatal: boolean; + readonly asFatal: EvmCoreErrorExitFatal; + readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal'; +} + +/** @name EvmCoreErrorExitRevert */ +export interface EvmCoreErrorExitRevert extends Enum { + readonly isReverted: boolean; + readonly type: 'Reverted'; +} + +/** @name EvmCoreErrorExitSucceed */ +export interface EvmCoreErrorExitSucceed extends Enum { + readonly isStopped: boolean; + readonly isReturned: boolean; + readonly isSuicided: boolean; + readonly type: 'Stopped' | 'Returned' | 'Suicided'; +} + +/** @name FpRpcTransactionStatus */ +export interface FpRpcTransactionStatus extends Struct { + readonly transactionHash: H256; + readonly transactionIndex: u32; + readonly from: H160; + readonly to: Option; + readonly contractAddress: Option; + readonly logs: Vec; + readonly logsBloom: EthbloomBloom; +} + +/** @name FrameSupportPalletId */ +export interface FrameSupportPalletId extends U8aFixed {} + +/** @name FrameSupportTokensMiscBalanceStatus */ +export interface FrameSupportTokensMiscBalanceStatus extends Enum { + readonly isFree: boolean; + readonly isReserved: boolean; + readonly type: 'Free' | 'Reserved'; +} + +/** @name FrameSupportWeightsDispatchClass */ +export interface FrameSupportWeightsDispatchClass extends Enum { + readonly isNormal: boolean; + readonly isOperational: boolean; + readonly isMandatory: boolean; + readonly type: 'Normal' | 'Operational' | 'Mandatory'; +} + +/** @name FrameSupportWeightsDispatchInfo */ +export interface FrameSupportWeightsDispatchInfo extends Struct { + readonly weight: u64; + readonly class: FrameSupportWeightsDispatchClass; + readonly paysFee: FrameSupportWeightsPays; +} + +/** @name FrameSupportWeightsPays */ +export interface FrameSupportWeightsPays extends Enum { + readonly isYes: boolean; + readonly isNo: boolean; + readonly type: 'Yes' | 'No'; +} + +/** @name FrameSupportWeightsPerDispatchClassU32 */ +export interface FrameSupportWeightsPerDispatchClassU32 extends Struct { + readonly normal: u32; + readonly operational: u32; + readonly mandatory: u32; +} + +/** @name FrameSupportWeightsPerDispatchClassU64 */ +export interface FrameSupportWeightsPerDispatchClassU64 extends Struct { + readonly normal: u64; + readonly operational: u64; + readonly mandatory: u64; +} + +/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */ +export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct { + readonly normal: FrameSystemLimitsWeightsPerClass; + readonly operational: FrameSystemLimitsWeightsPerClass; + readonly mandatory: FrameSystemLimitsWeightsPerClass; +} + +/** @name FrameSupportWeightsRuntimeDbWeight */ +export interface FrameSupportWeightsRuntimeDbWeight extends Struct { + readonly read: u64; + readonly write: u64; +} + +/** @name FrameSupportWeightsWeightToFeeCoefficient */ +export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct { + readonly coeffInteger: u128; + readonly coeffFrac: Perbill; + readonly negative: bool; + readonly degree: u8; +} + +/** @name FrameSystemAccountInfo */ +export interface FrameSystemAccountInfo extends Struct { + readonly nonce: u32; + readonly consumers: u32; + readonly providers: u32; + readonly sufficients: u32; + readonly data: PalletBalancesAccountData; +} + +/** @name FrameSystemCall */ +export interface FrameSystemCall extends Enum { + readonly isFillBlock: boolean; + readonly asFillBlock: { + readonly ratio: Perbill; + } & Struct; + readonly isRemark: boolean; + readonly asRemark: { + readonly remark: Bytes; + } & Struct; + readonly isSetHeapPages: boolean; + readonly asSetHeapPages: { + readonly pages: u64; + } & Struct; + readonly isSetCode: boolean; + readonly asSetCode: { + readonly code: Bytes; + } & Struct; + readonly isSetCodeWithoutChecks: boolean; + readonly asSetCodeWithoutChecks: { + readonly code: Bytes; + } & Struct; + readonly isSetStorage: boolean; + readonly asSetStorage: { + readonly items: Vec>; + } & Struct; + readonly isKillStorage: boolean; + readonly asKillStorage: { + readonly keys_: Vec; + } & Struct; + readonly isKillPrefix: boolean; + readonly asKillPrefix: { + readonly prefix: Bytes; + readonly subkeys: u32; + } & Struct; + readonly isRemarkWithEvent: boolean; + readonly asRemarkWithEvent: { + readonly remark: Bytes; + } & Struct; + readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; +} + +/** @name FrameSystemError */ +export interface FrameSystemError extends Enum { + readonly isInvalidSpecName: boolean; + readonly isSpecVersionNeedsToIncrease: boolean; + readonly isFailedToExtractRuntimeVersion: boolean; + readonly isNonDefaultComposite: boolean; + readonly isNonZeroRefCount: boolean; + readonly isCallFiltered: boolean; + readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; +} + +/** @name FrameSystemEvent */ +export interface FrameSystemEvent extends Enum { + readonly isExtrinsicSuccess: boolean; + readonly asExtrinsicSuccess: { + readonly dispatchInfo: FrameSupportWeightsDispatchInfo; + } & Struct; + readonly isExtrinsicFailed: boolean; + readonly asExtrinsicFailed: { + readonly dispatchError: SpRuntimeDispatchError; + readonly dispatchInfo: FrameSupportWeightsDispatchInfo; + } & Struct; + readonly isCodeUpdated: boolean; + readonly isNewAccount: boolean; + readonly asNewAccount: { + readonly account: AccountId32; + } & Struct; + readonly isKilledAccount: boolean; + readonly asKilledAccount: { + readonly account: AccountId32; + } & Struct; + readonly isRemarked: boolean; + readonly asRemarked: { + readonly sender: AccountId32; + readonly hash_: H256; + } & Struct; + readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked'; +} + +/** @name FrameSystemEventRecord */ +export interface FrameSystemEventRecord extends Struct { + readonly phase: FrameSystemPhase; + readonly event: Event; + readonly topics: Vec; +} + +/** @name FrameSystemExtensionsCheckGenesis */ +export interface FrameSystemExtensionsCheckGenesis extends Null {} + +/** @name FrameSystemExtensionsCheckNonce */ +export interface FrameSystemExtensionsCheckNonce extends Compact {} + +/** @name FrameSystemExtensionsCheckSpecVersion */ +export interface FrameSystemExtensionsCheckSpecVersion extends Null {} + +/** @name FrameSystemExtensionsCheckWeight */ +export interface FrameSystemExtensionsCheckWeight extends Null {} + +/** @name FrameSystemLastRuntimeUpgradeInfo */ +export interface FrameSystemLastRuntimeUpgradeInfo extends Struct { + readonly specVersion: Compact; + readonly specName: Text; +} + +/** @name FrameSystemLimitsBlockLength */ +export interface FrameSystemLimitsBlockLength extends Struct { + readonly max: FrameSupportWeightsPerDispatchClassU32; +} + +/** @name FrameSystemLimitsBlockWeights */ +export interface FrameSystemLimitsBlockWeights extends Struct { + readonly baseBlock: u64; + readonly maxBlock: u64; + readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass; +} + +/** @name FrameSystemLimitsWeightsPerClass */ +export interface FrameSystemLimitsWeightsPerClass extends Struct { + readonly baseExtrinsic: u64; + readonly maxExtrinsic: Option; + readonly maxTotal: Option; + readonly reserved: Option; +} + +/** @name FrameSystemPhase */ +export interface FrameSystemPhase extends Enum { + readonly isApplyExtrinsic: boolean; + readonly asApplyExtrinsic: u32; + readonly isFinalization: boolean; + readonly isInitialization: boolean; + readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; +} + +/** @name OpalRuntimeRuntime */ +export interface OpalRuntimeRuntime extends Null {} + +/** @name OrmlVestingModuleCall */ +export interface OrmlVestingModuleCall extends Enum { + readonly isClaim: boolean; + readonly isVestedTransfer: boolean; + readonly asVestedTransfer: { + readonly dest: MultiAddress; + readonly schedule: OrmlVestingVestingSchedule; + } & Struct; + readonly isUpdateVestingSchedules: boolean; + readonly asUpdateVestingSchedules: { + readonly who: MultiAddress; + readonly vestingSchedules: Vec; + } & Struct; + readonly isClaimFor: boolean; + readonly asClaimFor: { + readonly dest: MultiAddress; + } & Struct; + readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor'; +} + +/** @name OrmlVestingModuleError */ +export interface OrmlVestingModuleError extends Enum { + readonly isZeroVestingPeriod: boolean; + readonly isZeroVestingPeriodCount: boolean; + readonly isInsufficientBalanceToLock: boolean; + readonly isTooManyVestingSchedules: boolean; + readonly isAmountLow: boolean; + readonly isMaxVestingSchedulesExceeded: boolean; + readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded'; +} + +/** @name OrmlVestingModuleEvent */ +export interface OrmlVestingModuleEvent extends Enum { + readonly isVestingScheduleAdded: boolean; + readonly asVestingScheduleAdded: { + readonly from: AccountId32; + readonly to: AccountId32; + readonly vestingSchedule: OrmlVestingVestingSchedule; + } & Struct; + readonly isClaimed: boolean; + readonly asClaimed: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isVestingSchedulesUpdated: boolean; + readonly asVestingSchedulesUpdated: { + readonly who: AccountId32; + } & Struct; + readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated'; +} + +/** @name OrmlVestingVestingSchedule */ +export interface OrmlVestingVestingSchedule extends Struct { + readonly start: u32; + readonly period: u32; + readonly periodCount: u32; + readonly perPeriod: Compact; +} + +/** @name PalletBalancesAccountData */ +export interface PalletBalancesAccountData extends Struct { + readonly free: u128; + readonly reserved: u128; + readonly miscFrozen: u128; + readonly feeFrozen: u128; +} + +/** @name PalletBalancesBalanceLock */ +export interface PalletBalancesBalanceLock extends Struct { + readonly id: U8aFixed; + readonly amount: u128; + readonly reasons: PalletBalancesReasons; +} + +/** @name PalletBalancesCall */ +export interface PalletBalancesCall extends Enum { + readonly isTransfer: boolean; + readonly asTransfer: { + readonly dest: MultiAddress; + readonly value: Compact; + } & Struct; + readonly isSetBalance: boolean; + readonly asSetBalance: { + readonly who: MultiAddress; + readonly newFree: Compact; + readonly newReserved: Compact; + } & Struct; + readonly isForceTransfer: boolean; + readonly asForceTransfer: { + readonly source: MultiAddress; + readonly dest: MultiAddress; + readonly value: Compact; + } & Struct; + readonly isTransferKeepAlive: boolean; + readonly asTransferKeepAlive: { + readonly dest: MultiAddress; + readonly value: Compact; + } & Struct; + readonly isTransferAll: boolean; + readonly asTransferAll: { + readonly dest: MultiAddress; + readonly keepAlive: bool; + } & Struct; + readonly isForceUnreserve: boolean; + readonly asForceUnreserve: { + readonly who: MultiAddress; + readonly amount: u128; + } & Struct; + readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve'; +} + +/** @name PalletBalancesError */ +export interface PalletBalancesError extends Enum { + readonly isVestingBalance: boolean; + readonly isLiquidityRestrictions: boolean; + readonly isInsufficientBalance: boolean; + readonly isExistentialDeposit: boolean; + readonly isKeepAlive: boolean; + readonly isExistingVestingSchedule: boolean; + readonly isDeadAccount: boolean; + readonly isTooManyReserves: boolean; + readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves'; +} + +/** @name PalletBalancesEvent */ +export interface PalletBalancesEvent extends Enum { + readonly isEndowed: boolean; + readonly asEndowed: { + readonly account: AccountId32; + readonly freeBalance: u128; + } & Struct; + readonly isDustLost: boolean; + readonly asDustLost: { + readonly account: AccountId32; + readonly amount: u128; + } & Struct; + readonly isTransfer: boolean; + readonly asTransfer: { + readonly from: AccountId32; + readonly to: AccountId32; + readonly amount: u128; + } & Struct; + readonly isBalanceSet: boolean; + readonly asBalanceSet: { + readonly who: AccountId32; + readonly free: u128; + readonly reserved: u128; + } & Struct; + readonly isReserved: boolean; + readonly asReserved: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isUnreserved: boolean; + readonly asUnreserved: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isReserveRepatriated: boolean; + readonly asReserveRepatriated: { + readonly from: AccountId32; + readonly to: AccountId32; + readonly amount: u128; + readonly destinationStatus: FrameSupportTokensMiscBalanceStatus; + } & Struct; + readonly isDeposit: boolean; + readonly asDeposit: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isWithdraw: boolean; + readonly asWithdraw: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isSlashed: boolean; + readonly asSlashed: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed'; +} + +/** @name PalletBalancesReasons */ +export interface PalletBalancesReasons extends Enum { + readonly isFee: boolean; + readonly isMisc: boolean; + readonly isAll: boolean; + readonly type: 'Fee' | 'Misc' | 'All'; +} + +/** @name PalletBalancesReleases */ +export interface PalletBalancesReleases extends Enum { + readonly isV100: boolean; + readonly isV200: boolean; + readonly type: 'V100' | 'V200'; +} + +/** @name PalletBalancesReserveData */ +export interface PalletBalancesReserveData extends Struct { + readonly id: U8aFixed; + readonly amount: u128; +} + +/** @name PalletCommonError */ +export interface PalletCommonError extends Enum { + readonly isCollectionNotFound: boolean; + readonly isMustBeTokenOwner: boolean; + readonly isNoPermission: boolean; + readonly isPublicMintingNotAllowed: boolean; + readonly isAddressNotInAllowlist: boolean; + readonly isCollectionNameLimitExceeded: boolean; + readonly isCollectionDescriptionLimitExceeded: boolean; + readonly isCollectionTokenPrefixLimitExceeded: boolean; + readonly isTotalCollectionsLimitExceeded: boolean; + readonly isCollectionAdminCountExceeded: boolean; + readonly isCollectionLimitBoundsExceeded: boolean; + readonly isOwnerPermissionsCantBeReverted: boolean; + readonly isTransferNotAllowed: boolean; + readonly isAccountTokenLimitExceeded: boolean; + readonly isCollectionTokenLimitExceeded: boolean; + readonly isMetadataFlagFrozen: boolean; + readonly isTokenNotFound: boolean; + readonly isTokenValueTooLow: boolean; + readonly isApprovedValueTooLow: boolean; + readonly isCantApproveMoreThanOwned: boolean; + readonly isAddressIsZero: boolean; + readonly isUnsupportedOperation: boolean; + readonly isNotSufficientFounds: boolean; + readonly isNestingIsDisabled: boolean; + readonly isOnlyOwnerAllowedToNest: boolean; + readonly isSourceCollectionIsNotAllowedToNest: boolean; + readonly isCollectionFieldSizeExceeded: boolean; + readonly isNoSpaceForProperty: boolean; + readonly isPropertyLimitReached: boolean; + readonly isPropertyKeyIsTooLong: boolean; + readonly isInvalidCharacterInPropertyKey: boolean; + readonly isEmptyPropertyKey: boolean; + readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey'; +} + +/** @name PalletCommonEvent */ +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, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isItemDestroyed: boolean; + readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isTransfer: boolean; + readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isApproved: boolean; + readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isCollectionPropertySet: boolean; + readonly asCollectionPropertySet: ITuple<[u32, Bytes]>; + readonly isCollectionPropertyDeleted: boolean; + readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>; + readonly isTokenPropertySet: boolean; + readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>; + readonly isTokenPropertyDeleted: boolean; + readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>; + readonly isPropertyPermissionSet: boolean; + readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>; + readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet'; +} + +/** @name PalletEthereumCall */ +export interface PalletEthereumCall extends Enum { + readonly isTransact: boolean; + readonly asTransact: { + readonly transaction: EthereumTransactionTransactionV2; + } & Struct; + readonly type: 'Transact'; +} + +/** @name PalletEthereumError */ +export interface PalletEthereumError extends Enum { + readonly isInvalidSignature: boolean; + readonly isPreLogExists: boolean; + readonly type: 'InvalidSignature' | 'PreLogExists'; +} + +/** @name PalletEthereumEvent */ +export interface PalletEthereumEvent extends Enum { + readonly isExecuted: boolean; + readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>; + readonly type: 'Executed'; +} + +/** @name PalletEthereumFakeTransactionFinalizer */ +export interface PalletEthereumFakeTransactionFinalizer extends Null {} + +/** @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; + readonly asWithdraw: { + readonly address: H160; + readonly value: u128; + } & Struct; + readonly isCall: boolean; + readonly asCall: { + readonly source: H160; + readonly target: H160; + readonly input: Bytes; + readonly value: U256; + readonly gasLimit: u64; + readonly maxFeePerGas: U256; + readonly maxPriorityFeePerGas: Option; + readonly nonce: Option; + readonly accessList: Vec]>>; + } & Struct; + readonly isCreate: boolean; + readonly asCreate: { + readonly source: H160; + readonly init: Bytes; + readonly value: U256; + readonly gasLimit: u64; + readonly maxFeePerGas: U256; + readonly maxPriorityFeePerGas: Option; + readonly nonce: Option; + readonly accessList: Vec]>>; + } & Struct; + readonly isCreate2: boolean; + readonly asCreate2: { + readonly source: H160; + readonly init: Bytes; + readonly salt: H256; + readonly value: U256; + readonly gasLimit: u64; + readonly maxFeePerGas: U256; + readonly maxPriorityFeePerGas: Option; + readonly nonce: Option; + readonly accessList: Vec]>>; + } & Struct; + readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2'; +} + +/** @name PalletEvmCoderSubstrateError */ +export interface PalletEvmCoderSubstrateError extends Enum { + readonly isOutOfGas: boolean; + readonly isOutOfFund: boolean; + readonly type: 'OutOfGas' | 'OutOfFund'; +} + +/** @name PalletEvmContractHelpersError */ +export interface PalletEvmContractHelpersError extends Enum { + readonly isNoPermission: boolean; + readonly type: 'NoPermission'; +} + +/** @name PalletEvmContractHelpersSponsoringModeT */ +export interface PalletEvmContractHelpersSponsoringModeT extends Enum { + readonly isDisabled: boolean; + readonly isAllowlisted: boolean; + readonly isGenerous: boolean; + readonly type: 'Disabled' | 'Allowlisted' | 'Generous'; +} + +/** @name PalletEvmError */ +export interface PalletEvmError extends Enum { + readonly isBalanceLow: boolean; + readonly isFeeOverflow: boolean; + readonly isPaymentOverflow: boolean; + readonly isWithdrawFailed: boolean; + readonly isGasPriceTooLow: boolean; + readonly isInvalidNonce: boolean; + readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce'; +} + +/** @name PalletEvmEvent */ +export interface PalletEvmEvent extends Enum { + readonly isLog: boolean; + readonly asLog: EthereumLog; + readonly isCreated: boolean; + readonly asCreated: H160; + readonly isCreatedFailed: boolean; + readonly asCreatedFailed: H160; + readonly isExecuted: boolean; + readonly asExecuted: H160; + readonly isExecutedFailed: boolean; + readonly asExecutedFailed: H160; + readonly isBalanceDeposit: boolean; + readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>; + readonly isBalanceWithdraw: boolean; + readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>; + readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw'; +} + +/** @name PalletEvmMigrationCall */ +export interface PalletEvmMigrationCall extends Enum { + readonly isBegin: boolean; + readonly asBegin: { + readonly address: H160; + } & Struct; + readonly isSetData: boolean; + readonly asSetData: { + readonly address: H160; + readonly data: Vec>; + } & Struct; + readonly isFinish: boolean; + readonly asFinish: { + readonly address: H160; + readonly code: Bytes; + } & Struct; + readonly type: 'Begin' | 'SetData' | 'Finish'; +} + +/** @name PalletEvmMigrationError */ +export interface PalletEvmMigrationError extends Enum { + readonly isAccountNotEmpty: boolean; + readonly isAccountIsNotMigrating: boolean; + readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating'; +} + +/** @name PalletFungibleError */ +export interface PalletFungibleError extends Enum { + readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean; + readonly isFungibleItemsHaveNoId: boolean; + readonly isFungibleItemsDontHaveData: boolean; + readonly isFungibleDisallowsNesting: boolean; + readonly isSettingPropertiesNotAllowed: boolean; + readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; +} + +/** @name PalletInflationCall */ +export interface PalletInflationCall extends Enum { + readonly isStartInflation: boolean; + readonly asStartInflation: { + readonly inflationStartRelayBlock: u32; + } & Struct; + readonly type: 'StartInflation'; +} + +/** @name PalletNonfungibleError */ +export interface PalletNonfungibleError extends Enum { + readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean; + readonly isNonfungibleItemsHaveNoAmount: boolean; + readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount'; +} + +/** @name PalletNonfungibleItemData */ +export interface PalletNonfungibleItemData extends Struct { + readonly constData: Bytes; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; +} + +/** @name PalletRefungibleError */ +export interface PalletRefungibleError extends Enum { + readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean; + readonly isWrongRefungiblePieces: boolean; + readonly isRefungibleDisallowsNesting: boolean; + readonly isSettingPropertiesNotAllowed: boolean; + readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; +} + +/** @name PalletRefungibleItemData */ +export interface PalletRefungibleItemData extends Struct { + readonly constData: Bytes; +} + +/** @name PalletStructureCall */ +export interface PalletStructureCall extends Null {} + +/** @name PalletStructureError */ +export interface PalletStructureError extends Enum { + readonly isOuroborosDetected: boolean; + readonly isDepthLimit: boolean; + readonly isTokenNotFound: boolean; + readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound'; +} + +/** @name PalletStructureEvent */ +export interface PalletStructureEvent extends Enum { + readonly isExecuted: boolean; + readonly asExecuted: Result; + readonly type: 'Executed'; +} + +/** @name PalletSudoCall */ +export interface PalletSudoCall extends Enum { + readonly isSudo: boolean; + readonly asSudo: { + readonly call: Call; + } & Struct; + readonly isSudoUncheckedWeight: boolean; + readonly asSudoUncheckedWeight: { + readonly call: Call; + readonly weight: u64; + } & Struct; + readonly isSetKey: boolean; + readonly asSetKey: { + readonly new_: MultiAddress; + } & Struct; + readonly isSudoAs: boolean; + readonly asSudoAs: { + readonly who: MultiAddress; + readonly call: Call; + } & Struct; + readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs'; +} + +/** @name PalletSudoError */ +export interface PalletSudoError extends Enum { + readonly isRequireSudo: boolean; + readonly type: 'RequireSudo'; +} + +/** @name PalletSudoEvent */ +export interface PalletSudoEvent extends Enum { + readonly isSudid: boolean; + readonly asSudid: { + readonly sudoResult: Result; + } & Struct; + readonly isKeyChanged: boolean; + readonly asKeyChanged: { + readonly oldSudoer: Option; + } & Struct; + readonly isSudoAsDone: boolean; + readonly asSudoAsDone: { + readonly sudoResult: Result; + } & Struct; + readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone'; +} + +/** @name PalletTemplateTransactionPaymentCall */ +export interface PalletTemplateTransactionPaymentCall extends Null {} + +/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */ +export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact {} + +/** @name PalletTimestampCall */ +export interface PalletTimestampCall extends Enum { + readonly isSet: boolean; + readonly asSet: { + readonly now: Compact; + } & Struct; + readonly type: 'Set'; +} + +/** @name PalletTransactionPaymentReleases */ +export interface PalletTransactionPaymentReleases extends Enum { + readonly isV1Ancient: boolean; + readonly isV2: boolean; + readonly type: 'V1Ancient' | 'V2'; +} + +/** @name PalletTreasuryCall */ +export interface PalletTreasuryCall extends Enum { + readonly isProposeSpend: boolean; + readonly asProposeSpend: { + readonly value: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRejectProposal: boolean; + readonly asRejectProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isApproveProposal: boolean; + readonly asApproveProposal: { + readonly proposalId: Compact; + } & Struct; + readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal'; +} + +/** @name PalletTreasuryError */ +export interface PalletTreasuryError extends Enum { + readonly isInsufficientProposersBalance: boolean; + readonly isInvalidIndex: boolean; + readonly isTooManyApprovals: boolean; + readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals'; +} + +/** @name PalletTreasuryEvent */ +export interface PalletTreasuryEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly proposalIndex: u32; + } & Struct; + readonly isSpending: boolean; + readonly asSpending: { + readonly budgetRemaining: u128; + } & Struct; + readonly isAwarded: boolean; + readonly asAwarded: { + readonly proposalIndex: u32; + readonly award: u128; + readonly account: AccountId32; + } & Struct; + readonly isRejected: boolean; + readonly asRejected: { + readonly proposalIndex: u32; + readonly slashed: u128; + } & Struct; + readonly isBurnt: boolean; + readonly asBurnt: { + readonly burntFunds: u128; + } & Struct; + readonly isRollover: boolean; + readonly asRollover: { + readonly rolloverBalance: u128; + } & Struct; + readonly isDeposit: boolean; + readonly asDeposit: { + readonly value: u128; + } & Struct; + readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit'; +} + +/** @name PalletTreasuryProposal */ +export interface PalletTreasuryProposal extends Struct { + readonly proposer: AccountId32; + readonly value: u128; + readonly beneficiary: AccountId32; + readonly bond: u128; +} + +/** @name PalletUniqueCall */ +export interface PalletUniqueCall extends Enum { + readonly isCreateCollection: boolean; + readonly asCreateCollection: { + readonly collectionName: Vec; + readonly collectionDescription: Vec; + readonly tokenPrefix: Bytes; + readonly mode: UpDataStructsCollectionMode; + } & Struct; + readonly isCreateCollectionEx: boolean; + readonly asCreateCollectionEx: { + readonly data: UpDataStructsCreateCollectionData; + } & Struct; + readonly isDestroyCollection: boolean; + readonly asDestroyCollection: { + readonly collectionId: u32; + } & Struct; + readonly isAddToAllowList: boolean; + readonly asAddToAllowList: { + readonly collectionId: u32; + readonly address: PalletEvmAccountBasicCrossAccountIdRepr; + } & Struct; + readonly isRemoveFromAllowList: boolean; + readonly asRemoveFromAllowList: { + readonly collectionId: u32; + readonly address: PalletEvmAccountBasicCrossAccountIdRepr; + } & Struct; + readonly isSetPublicAccessMode: boolean; + readonly asSetPublicAccessMode: { + readonly collectionId: u32; + readonly mode: UpDataStructsAccessMode; + } & Struct; + readonly isSetMintPermission: boolean; + readonly asSetMintPermission: { + readonly collectionId: u32; + readonly mintPermission: bool; + } & Struct; + readonly isChangeCollectionOwner: boolean; + readonly asChangeCollectionOwner: { + readonly collectionId: u32; + readonly newOwner: AccountId32; + } & Struct; + readonly isAddCollectionAdmin: boolean; + readonly asAddCollectionAdmin: { + readonly collectionId: u32; + readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr; + } & Struct; + readonly isRemoveCollectionAdmin: boolean; + readonly asRemoveCollectionAdmin: { + readonly collectionId: u32; + readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr; + } & Struct; + readonly isSetCollectionSponsor: boolean; + readonly asSetCollectionSponsor: { + readonly collectionId: u32; + readonly newSponsor: AccountId32; + } & Struct; + readonly isConfirmSponsorship: boolean; + readonly asConfirmSponsorship: { + readonly collectionId: u32; + } & Struct; + readonly isRemoveCollectionSponsor: boolean; + readonly asRemoveCollectionSponsor: { + readonly collectionId: u32; + } & Struct; + readonly isCreateItem: boolean; + readonly asCreateItem: { + readonly collectionId: u32; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; + readonly data: UpDataStructsCreateItemData; + } & Struct; + readonly isCreateMultipleItems: boolean; + readonly asCreateMultipleItems: { + readonly collectionId: u32; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; + readonly itemsData: Vec; + } & Struct; + readonly isSetCollectionProperties: boolean; + readonly asSetCollectionProperties: { + readonly collectionId: u32; + readonly properties: Vec; + } & Struct; + readonly isDeleteCollectionProperties: boolean; + readonly asDeleteCollectionProperties: { + readonly collectionId: u32; + readonly propertyKeys: Vec; + } & Struct; + readonly isSetTokenProperties: boolean; + readonly asSetTokenProperties: { + readonly collectionId: u32; + readonly tokenId: u32; + readonly properties: Vec; + } & Struct; + readonly isDeleteTokenProperties: boolean; + readonly asDeleteTokenProperties: { + readonly collectionId: u32; + readonly tokenId: u32; + readonly propertyKeys: Vec; + } & Struct; + readonly isSetPropertyPermissions: boolean; + readonly asSetPropertyPermissions: { + readonly collectionId: u32; + readonly propertyPermissions: Vec; + } & Struct; + readonly isCreateMultipleItemsEx: boolean; + readonly asCreateMultipleItemsEx: { + readonly collectionId: u32; + readonly data: UpDataStructsCreateItemExData; + } & Struct; + readonly isSetTransfersEnabledFlag: boolean; + readonly asSetTransfersEnabledFlag: { + readonly collectionId: u32; + readonly value: bool; + } & Struct; + readonly isBurnItem: boolean; + readonly asBurnItem: { + readonly collectionId: u32; + readonly itemId: u32; + readonly value: u128; + } & Struct; + readonly isBurnFrom: boolean; + readonly asBurnFrom: { + readonly collectionId: u32; + readonly from: PalletEvmAccountBasicCrossAccountIdRepr; + readonly itemId: u32; + readonly value: u128; + } & Struct; + readonly isTransfer: boolean; + readonly asTransfer: { + readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly value: u128; + } & Struct; + readonly isApprove: boolean; + readonly asApprove: { + readonly spender: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly amount: u128; + } & Struct; + readonly isTransferFrom: boolean; + readonly asTransferFrom: { + readonly from: PalletEvmAccountBasicCrossAccountIdRepr; + readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly value: u128; + } & Struct; + readonly isSetSchemaVersion: boolean; + readonly asSetSchemaVersion: { + readonly collectionId: u32; + readonly version: UpDataStructsSchemaVersion; + } & Struct; + readonly isSetOffchainSchema: boolean; + readonly asSetOffchainSchema: { + readonly collectionId: u32; + readonly schema: Bytes; + } & Struct; + readonly isSetConstOnChainSchema: boolean; + readonly asSetConstOnChainSchema: { + readonly collectionId: u32; + readonly schema: Bytes; + } & Struct; + readonly isSetCollectionLimits: boolean; + readonly asSetCollectionLimits: { + readonly collectionId: u32; + readonly newLimit: UpDataStructsCollectionLimits; + } & Struct; + readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetCollectionLimits'; +} + +/** @name PalletUniqueError */ +export interface PalletUniqueError extends Enum { + readonly isCollectionDecimalPointLimitExceeded: boolean; + readonly isConfirmUnsetSponsorFail: boolean; + readonly isEmptyArgument: boolean; + readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument'; +} + +/** @name PalletUniqueRawEvent */ +export interface PalletUniqueRawEvent extends Enum { + readonly isCollectionSponsorRemoved: boolean; + readonly asCollectionSponsorRemoved: u32; + readonly isCollectionAdminAdded: boolean; + readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isCollectionOwnedChanged: boolean; + readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>; + readonly isCollectionSponsorSet: boolean; + readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>; + readonly isConstOnChainSchemaSet: boolean; + readonly asConstOnChainSchemaSet: u32; + readonly isSponsorshipConfirmed: boolean; + readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>; + readonly isCollectionAdminRemoved: boolean; + readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isAllowListAddressRemoved: boolean; + readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isAllowListAddressAdded: boolean; + readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isCollectionLimitSet: boolean; + readonly asCollectionLimitSet: u32; + readonly isMintPermissionSet: boolean; + readonly asMintPermissionSet: u32; + readonly isOffchainSchemaSet: boolean; + readonly asOffchainSchemaSet: u32; + readonly isPublicAccessModeSet: boolean; + readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>; + readonly isSchemaVersionSet: boolean; + readonly asSchemaVersionSet: u32; + readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet'; +} + +/** @name PalletXcmCall */ +export interface PalletXcmCall extends Enum { + readonly isSend: boolean; + readonly asSend: { + readonly dest: XcmVersionedMultiLocation; + readonly message: XcmVersionedXcm; + } & Struct; + readonly isTeleportAssets: boolean; + readonly asTeleportAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + } & Struct; + readonly isReserveTransferAssets: boolean; + readonly asReserveTransferAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + } & Struct; + readonly isExecute: boolean; + readonly asExecute: { + readonly message: XcmVersionedXcm; + readonly maxWeight: u64; + } & Struct; + readonly isForceXcmVersion: boolean; + readonly asForceXcmVersion: { + readonly location: XcmV1MultiLocation; + readonly xcmVersion: u32; + } & Struct; + readonly isForceDefaultXcmVersion: boolean; + readonly asForceDefaultXcmVersion: { + readonly maybeXcmVersion: Option; + } & Struct; + readonly isForceSubscribeVersionNotify: boolean; + readonly asForceSubscribeVersionNotify: { + readonly location: XcmVersionedMultiLocation; + } & Struct; + readonly isForceUnsubscribeVersionNotify: boolean; + readonly asForceUnsubscribeVersionNotify: { + readonly location: XcmVersionedMultiLocation; + } & Struct; + readonly isLimitedReserveTransferAssets: boolean; + readonly asLimitedReserveTransferAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + readonly weightLimit: XcmV2WeightLimit; + } & Struct; + readonly isLimitedTeleportAssets: boolean; + readonly asLimitedTeleportAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + readonly weightLimit: XcmV2WeightLimit; + } & Struct; + readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets'; +} + +/** @name PalletXcmError */ +export interface PalletXcmError extends Enum { + readonly isUnreachable: boolean; + readonly isSendFailure: boolean; + readonly isFiltered: boolean; + readonly isUnweighableMessage: boolean; + readonly isDestinationNotInvertible: boolean; + readonly isEmpty: boolean; + readonly isCannotReanchor: boolean; + readonly isTooManyAssets: boolean; + readonly isInvalidOrigin: boolean; + readonly isBadVersion: boolean; + readonly isBadLocation: boolean; + readonly isNoSubscription: boolean; + readonly isAlreadySubscribed: boolean; + readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed'; +} + +/** @name PalletXcmEvent */ +export interface PalletXcmEvent extends Enum { + readonly isAttempted: boolean; + readonly asAttempted: XcmV2TraitsOutcome; + readonly isSent: boolean; + readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>; + readonly isUnexpectedResponse: boolean; + readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>; + readonly isResponseReady: boolean; + readonly asResponseReady: ITuple<[u64, XcmV2Response]>; + readonly isNotified: boolean; + readonly asNotified: ITuple<[u64, u8, u8]>; + readonly isNotifyOverweight: boolean; + readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>; + readonly isNotifyDispatchError: boolean; + readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>; + readonly isNotifyDecodeFailed: boolean; + readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>; + readonly isInvalidResponder: boolean; + readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option]>; + readonly isInvalidResponderVersion: boolean; + readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>; + readonly isResponseTaken: boolean; + readonly asResponseTaken: u64; + readonly isAssetsTrapped: boolean; + readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>; + readonly isVersionChangeNotified: boolean; + readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>; + readonly isSupportedVersionChanged: boolean; + readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>; + readonly isNotifyTargetSendFail: boolean; + readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>; + readonly isNotifyTargetMigrationFail: boolean; + readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>; + readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail'; +} + +/** @name PhantomTypeUpDataStructsBaseInfo */ +export interface PhantomTypeUpDataStructsBaseInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsCollectionInfo */ +export interface PhantomTypeUpDataStructsCollectionInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsNftChild */ +export interface PhantomTypeUpDataStructsNftChild extends Vec {} + +/** @name PhantomTypeUpDataStructsNftInfo */ +export interface PhantomTypeUpDataStructsNftInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsPartType */ +export interface PhantomTypeUpDataStructsPartType extends Vec {} + +/** @name PhantomTypeUpDataStructsPropertyInfo */ +export interface PhantomTypeUpDataStructsPropertyInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsResourceInfo */ +export interface PhantomTypeUpDataStructsResourceInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsRpcCollection */ +export interface PhantomTypeUpDataStructsRpcCollection extends Vec {} + +/** @name PhantomTypeUpDataStructsTheme */ +export interface PhantomTypeUpDataStructsTheme extends Vec {} + +/** @name PhantomTypeUpDataStructsTokenData */ +export interface PhantomTypeUpDataStructsTokenData extends Vec {} + +/** @name PolkadotCorePrimitivesInboundDownwardMessage */ +export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { + readonly sentAt: u32; + readonly msg: Bytes; +} + +/** @name PolkadotCorePrimitivesInboundHrmpMessage */ +export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { + readonly sentAt: u32; + readonly data: Bytes; +} + +/** @name PolkadotCorePrimitivesOutboundHrmpMessage */ +export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { + readonly recipient: u32; + readonly data: Bytes; +} + +/** @name PolkadotParachainPrimitivesXcmpMessageFormat */ +export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { + readonly isConcatenatedVersionedXcm: boolean; + readonly isConcatenatedEncodedBlob: boolean; + readonly isSignals: boolean; + readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; +} + +/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */ +export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct { + readonly maxCodeSize: u32; + readonly maxHeadDataSize: u32; + readonly maxUpwardQueueCount: u32; + readonly maxUpwardQueueSize: u32; + readonly maxUpwardMessageSize: u32; + readonly maxUpwardMessageNumPerCandidate: u32; + readonly hrmpMaxMessageNumPerCandidate: u32; + readonly validationUpgradeCooldown: u32; + readonly validationUpgradeDelay: u32; +} + +/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */ +export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct { + readonly maxCapacity: u32; + readonly maxTotalSize: u32; + readonly maxMessageSize: u32; + readonly msgCount: u32; + readonly totalSize: u32; + readonly mqcHead: Option; +} + +/** @name PolkadotPrimitivesV2PersistedValidationData */ +export interface PolkadotPrimitivesV2PersistedValidationData extends Struct { + readonly parentHead: Bytes; + readonly relayParentNumber: u32; + readonly relayParentStorageRoot: H256; + readonly maxPovSize: u32; +} + +/** @name PolkadotPrimitivesV2UpgradeRestriction */ +export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum { + readonly isPresent: boolean; + readonly type: 'Present'; +} + +/** @name RmrkTypesAccountIdOrCollectionNftTuple */ +export interface RmrkTypesAccountIdOrCollectionNftTuple extends Enum { + readonly isAccountId: boolean; + readonly asAccountId: AccountId32; + readonly isCollectionAndNftTuple: boolean; + readonly asCollectionAndNftTuple: ITuple<[u32, u32]>; + readonly type: 'AccountId' | 'CollectionAndNftTuple'; +} + +/** @name RmrkTypesBaseInfo */ +export interface RmrkTypesBaseInfo extends Struct { + readonly issuer: AccountId32; + readonly baseType: Bytes; + readonly symbol: Bytes; +} + +/** @name RmrkTypesCollectionInfo */ +export interface RmrkTypesCollectionInfo extends Struct { + readonly issuer: AccountId32; + readonly metadata: Bytes; + readonly max: Option; + readonly symbol: Bytes; + readonly nftsCount: u32; +} + +/** @name RmrkTypesEquippableList */ +export interface RmrkTypesEquippableList extends Enum { + readonly isAll: boolean; + readonly isEmpty: boolean; + readonly isCustom: boolean; + readonly asCustom: Vec; + readonly type: 'All' | 'Empty' | 'Custom'; +} + +/** @name RmrkTypesFixedPart */ +export interface RmrkTypesFixedPart extends Struct { + readonly id: u32; + readonly z: u32; + readonly src: Bytes; +} + +/** @name RmrkTypesNftChild */ +export interface RmrkTypesNftChild extends Struct { + readonly collectionId: u32; + readonly nftId: u32; +} + +/** @name RmrkTypesNftInfo */ +export interface RmrkTypesNftInfo extends Struct { + readonly owner: RmrkTypesAccountIdOrCollectionNftTuple; + readonly royalty: Option; + readonly metadata: Bytes; + readonly equipped: bool; + readonly pending: bool; +} + +/** @name RmrkTypesPartType */ +export interface RmrkTypesPartType extends Enum { + readonly isFixedPart: boolean; + readonly asFixedPart: RmrkTypesFixedPart; + readonly isSlotPart: boolean; + readonly asSlotPart: RmrkTypesSlotPart; + readonly type: 'FixedPart' | 'SlotPart'; +} + +/** @name RmrkTypesPropertyInfo */ +export interface RmrkTypesPropertyInfo extends Struct { + readonly key: Bytes; + readonly value: Bytes; +} + +/** @name RmrkTypesResourceInfo */ +export interface RmrkTypesResourceInfo extends Struct { + readonly id: Bytes; + readonly pending: bool; + readonly pendingRemoval: bool; + readonly parts: Option>; + readonly base: Option; + readonly src: Option; + readonly metadata: Option; + readonly slot: Option; + readonly license: Option; + readonly thumb: Option; +} + +/** @name RmrkTypesRoyaltyInfo */ +export interface RmrkTypesRoyaltyInfo extends Struct { + readonly recipient: AccountId32; + readonly amount: Permill; +} + +/** @name RmrkTypesSlotPart */ +export interface RmrkTypesSlotPart extends Struct { + readonly id: u32; + readonly equippable: RmrkTypesEquippableList; + readonly src: Bytes; + readonly z: u32; +} + +/** @name RmrkTypesTheme */ +export interface RmrkTypesTheme extends Struct { + readonly name: Bytes; + readonly properties: Vec; + readonly inherit: bool; +} + +/** @name RmrkTypesThemeProperty */ +export interface RmrkTypesThemeProperty extends Struct { + readonly key: Bytes; + readonly value: Bytes; +} + +/** @name SpCoreEcdsaSignature */ +export interface SpCoreEcdsaSignature extends U8aFixed {} + +/** @name SpCoreEd25519Signature */ +export interface SpCoreEd25519Signature extends U8aFixed {} + +/** @name SpCoreSr25519Signature */ +export interface SpCoreSr25519Signature extends U8aFixed {} + +/** @name SpRuntimeArithmeticError */ +export interface SpRuntimeArithmeticError extends Enum { + readonly isUnderflow: boolean; + readonly isOverflow: boolean; + readonly isDivisionByZero: boolean; + readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero'; +} + +/** @name SpRuntimeDigest */ +export interface SpRuntimeDigest extends Struct { + readonly logs: Vec; +} + +/** @name SpRuntimeDigestDigestItem */ +export interface SpRuntimeDigestDigestItem extends Enum { + readonly isOther: boolean; + readonly asOther: Bytes; + readonly isConsensus: boolean; + readonly asConsensus: ITuple<[U8aFixed, Bytes]>; + readonly isSeal: boolean; + readonly asSeal: ITuple<[U8aFixed, Bytes]>; + readonly isPreRuntime: boolean; + readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>; + readonly isRuntimeEnvironmentUpdated: boolean; + readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated'; +} + +/** @name SpRuntimeDispatchError */ +export interface SpRuntimeDispatchError extends Enum { + readonly isOther: boolean; + readonly isCannotLookup: boolean; + readonly isBadOrigin: boolean; + readonly isModule: boolean; + readonly asModule: SpRuntimeModuleError; + readonly isConsumerRemaining: boolean; + readonly isNoProviders: boolean; + readonly isTooManyConsumers: boolean; + readonly isToken: boolean; + readonly asToken: SpRuntimeTokenError; + readonly isArithmetic: boolean; + readonly asArithmetic: SpRuntimeArithmeticError; + readonly isTransactional: boolean; + readonly asTransactional: SpRuntimeTransactionalError; + readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional'; +} + +/** @name SpRuntimeModuleError */ +export interface SpRuntimeModuleError extends Struct { + readonly index: u8; + readonly error: U8aFixed; +} + +/** @name SpRuntimeMultiSignature */ +export interface SpRuntimeMultiSignature extends Enum { + readonly isEd25519: boolean; + readonly asEd25519: SpCoreEd25519Signature; + readonly isSr25519: boolean; + readonly asSr25519: SpCoreSr25519Signature; + readonly isEcdsa: boolean; + readonly asEcdsa: SpCoreEcdsaSignature; + readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; +} + +/** @name SpRuntimeTokenError */ +export interface SpRuntimeTokenError extends Enum { + readonly isNoFunds: boolean; + readonly isWouldDie: boolean; + readonly isBelowMinimum: boolean; + readonly isCannotCreate: boolean; + readonly isUnknownAsset: boolean; + readonly isFrozen: boolean; + readonly isUnsupported: boolean; + readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported'; +} + +/** @name SpRuntimeTransactionalError */ +export interface SpRuntimeTransactionalError extends Enum { + readonly isLimitReached: boolean; + readonly isNoLayer: boolean; + readonly type: 'LimitReached' | 'NoLayer'; +} + +/** @name SpTrieStorageProof */ +export interface SpTrieStorageProof extends Struct { + readonly trieNodes: BTreeSet; +} + +/** @name SpVersionRuntimeVersion */ +export interface SpVersionRuntimeVersion extends Struct { + readonly specName: Text; + readonly implName: Text; + readonly authoringVersion: u32; + readonly specVersion: u32; + readonly implVersion: u32; + readonly apis: Vec>; + readonly transactionVersion: u32; + readonly stateVersion: u8; +} + +/** @name UpDataStructsAccessMode */ +export interface UpDataStructsAccessMode extends Enum { + readonly isNormal: boolean; + readonly isAllowList: boolean; + readonly type: 'Normal' | 'AllowList'; +} + +/** @name UpDataStructsCollection */ +export interface UpDataStructsCollection extends Struct { + readonly owner: AccountId32; + readonly mode: UpDataStructsCollectionMode; + readonly access: UpDataStructsAccessMode; + readonly name: Vec; + readonly description: Vec; + readonly tokenPrefix: Bytes; + readonly mintMode: bool; + readonly schemaVersion: UpDataStructsSchemaVersion; + readonly sponsorship: UpDataStructsSponsorshipState; + readonly limits: UpDataStructsCollectionLimits; +} + +/** @name UpDataStructsCollectionField */ +export interface UpDataStructsCollectionField extends Enum { + readonly isConstOnChainSchema: boolean; + readonly isOffchainSchema: boolean; + readonly type: 'ConstOnChainSchema' | 'OffchainSchema'; +} + +/** @name UpDataStructsCollectionLimits */ +export interface UpDataStructsCollectionLimits extends Struct { + readonly accountTokenOwnershipLimit: Option; + readonly sponsoredDataSize: Option; + readonly sponsoredDataRateLimit: Option; + readonly tokenLimit: Option; + readonly sponsorTransferTimeout: Option; + readonly sponsorApproveTimeout: Option; + readonly ownerCanTransfer: Option; + readonly ownerCanDestroy: Option; + readonly transfersEnabled: Option; + readonly nestingRule: Option; +} + +/** @name UpDataStructsCollectionMode */ +export interface UpDataStructsCollectionMode extends Enum { + readonly isNft: boolean; + readonly isFungible: boolean; + readonly asFungible: u8; + readonly isReFungible: boolean; + readonly type: 'Nft' | 'Fungible' | 'ReFungible'; +} + +/** @name UpDataStructsCollectionStats */ +export interface UpDataStructsCollectionStats extends Struct { + readonly created: u32; + readonly destroyed: u32; + readonly alive: u32; +} + +/** @name UpDataStructsCreateCollectionData */ +export interface UpDataStructsCreateCollectionData extends Struct { + readonly mode: UpDataStructsCollectionMode; + readonly access: Option; + readonly name: Vec; + readonly description: Vec; + readonly tokenPrefix: Bytes; + readonly offchainSchema: Bytes; + readonly schemaVersion: Option; + readonly pendingSponsor: Option; + readonly limits: Option; + readonly constOnChainSchema: Bytes; + readonly tokenPropertyPermissions: Vec; + readonly properties: Vec; +} + +/** @name UpDataStructsCreateFungibleData */ +export interface UpDataStructsCreateFungibleData extends Struct { + readonly value: u128; +} + +/** @name UpDataStructsCreateItemData */ +export interface UpDataStructsCreateItemData extends Enum { + readonly isNft: boolean; + readonly asNft: UpDataStructsCreateNftData; + readonly isFungible: boolean; + readonly asFungible: UpDataStructsCreateFungibleData; + readonly isReFungible: boolean; + readonly asReFungible: UpDataStructsCreateReFungibleData; + readonly type: 'Nft' | 'Fungible' | 'ReFungible'; +} + +/** @name UpDataStructsCreateItemExData */ +export interface UpDataStructsCreateItemExData extends Enum { + readonly isNft: boolean; + readonly asNft: Vec; + readonly isFungible: boolean; + readonly asFungible: BTreeMap; + readonly isRefungibleMultipleItems: boolean; + readonly asRefungibleMultipleItems: Vec; + readonly isRefungibleMultipleOwners: boolean; + readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData; + readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners'; +} + +/** @name UpDataStructsCreateNftData */ +export interface UpDataStructsCreateNftData extends Struct { + readonly constData: Bytes; + readonly properties: Vec; +} + +/** @name UpDataStructsCreateNftExData */ +export interface UpDataStructsCreateNftExData extends Struct { + readonly constData: Bytes; + readonly properties: Vec; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; +} + +/** @name UpDataStructsCreateReFungibleData */ +export interface UpDataStructsCreateReFungibleData extends Struct { + readonly constData: Bytes; + readonly pieces: u128; +} + +/** @name UpDataStructsCreateRefungibleExData */ +export interface UpDataStructsCreateRefungibleExData extends Struct { + readonly constData: Bytes; + readonly users: BTreeMap; +} + +/** @name UpDataStructsNestingRule */ +export interface UpDataStructsNestingRule extends Enum { + readonly isDisabled: boolean; + readonly isOwner: boolean; + readonly isOwnerRestricted: boolean; + readonly asOwnerRestricted: BTreeSet; + readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted'; +} + +/** @name UpDataStructsProperties */ +export interface UpDataStructsProperties extends Struct { + readonly map: UpDataStructsPropertiesMapBoundedVec; + readonly consumedSpace: u32; + readonly spaceLimit: u32; +} + +/** @name UpDataStructsPropertiesMapBoundedVec */ +export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap {} + +/** @name UpDataStructsPropertiesMapPropertyPermission */ +export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap {} + +/** @name UpDataStructsProperty */ +export interface UpDataStructsProperty extends Struct { + readonly key: Bytes; + readonly value: Bytes; +} + +/** @name UpDataStructsPropertyKeyPermission */ +export interface UpDataStructsPropertyKeyPermission extends Struct { + readonly key: Bytes; + readonly permission: UpDataStructsPropertyPermission; +} + +/** @name UpDataStructsPropertyPermission */ +export interface UpDataStructsPropertyPermission extends Struct { + readonly mutable: bool; + readonly collectionAdmin: bool; + readonly tokenOwner: bool; +} + +/** @name UpDataStructsRpcCollection */ +export interface UpDataStructsRpcCollection extends Struct { + readonly owner: AccountId32; + readonly mode: UpDataStructsCollectionMode; + readonly access: UpDataStructsAccessMode; + readonly name: Vec; + readonly description: Vec; + readonly tokenPrefix: Bytes; + readonly mintMode: bool; + readonly offchainSchema: Bytes; + readonly schemaVersion: UpDataStructsSchemaVersion; + readonly sponsorship: UpDataStructsSponsorshipState; + readonly limits: UpDataStructsCollectionLimits; + readonly constOnChainSchema: Bytes; + readonly tokenPropertyPermissions: Vec; + readonly properties: Vec; +} + +/** @name UpDataStructsSchemaVersion */ +export interface UpDataStructsSchemaVersion extends Enum { + readonly isImageURL: boolean; + readonly isUnique: boolean; + readonly type: 'ImageURL' | 'Unique'; +} + +/** @name UpDataStructsSponsoringRateLimit */ +export interface UpDataStructsSponsoringRateLimit extends Enum { + readonly isSponsoringDisabled: boolean; + readonly isBlocks: boolean; + readonly asBlocks: u32; + readonly type: 'SponsoringDisabled' | 'Blocks'; +} + +/** @name UpDataStructsSponsorshipState */ +export interface UpDataStructsSponsorshipState extends Enum { + readonly isDisabled: boolean; + readonly isUnconfirmed: boolean; + readonly asUnconfirmed: AccountId32; + readonly isConfirmed: boolean; + readonly asConfirmed: AccountId32; + readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed'; +} + +/** @name UpDataStructsTokenData */ +export interface UpDataStructsTokenData extends Struct { + readonly constData: Bytes; + readonly properties: Vec; + readonly owner: Option; +} + +/** @name XcmDoubleEncoded */ +export interface XcmDoubleEncoded extends Struct { + readonly encoded: Bytes; +} + +/** @name XcmV0Junction */ +export interface XcmV0Junction extends Enum { + readonly isParent: boolean; + readonly isParachain: boolean; + readonly asParachain: Compact; + readonly isAccountId32: boolean; + readonly asAccountId32: { + readonly network: XcmV0JunctionNetworkId; + readonly id: U8aFixed; + } & Struct; + readonly isAccountIndex64: boolean; + readonly asAccountIndex64: { + readonly network: XcmV0JunctionNetworkId; + readonly index: Compact; + } & Struct; + readonly isAccountKey20: boolean; + readonly asAccountKey20: { + readonly network: XcmV0JunctionNetworkId; + readonly key: U8aFixed; + } & Struct; + readonly isPalletInstance: boolean; + readonly asPalletInstance: u8; + readonly isGeneralIndex: boolean; + readonly asGeneralIndex: Compact; + readonly isGeneralKey: boolean; + readonly asGeneralKey: Bytes; + readonly isOnlyChild: boolean; + readonly isPlurality: boolean; + readonly asPlurality: { + readonly id: XcmV0JunctionBodyId; + readonly part: XcmV0JunctionBodyPart; + } & Struct; + readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; +} + +/** @name XcmV0JunctionBodyId */ +export interface XcmV0JunctionBodyId extends Enum { + readonly isUnit: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isIndex: boolean; + readonly asIndex: Compact; + readonly isExecutive: boolean; + readonly isTechnical: boolean; + readonly isLegislative: boolean; + readonly isJudicial: boolean; + readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial'; +} + +/** @name XcmV0JunctionBodyPart */ +export interface XcmV0JunctionBodyPart extends Enum { + readonly isVoice: boolean; + readonly isMembers: boolean; + readonly asMembers: { + readonly count: Compact; + } & Struct; + readonly isFraction: boolean; + readonly asFraction: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly isAtLeastProportion: boolean; + readonly asAtLeastProportion: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly isMoreThanProportion: boolean; + readonly asMoreThanProportion: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; +} + +/** @name XcmV0JunctionNetworkId */ +export interface XcmV0JunctionNetworkId extends Enum { + readonly isAny: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isPolkadot: boolean; + readonly isKusama: boolean; + readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; +} + +/** @name XcmV0MultiAsset */ +export interface XcmV0MultiAsset extends Enum { + readonly isNone: boolean; + readonly isAll: boolean; + readonly isAllFungible: boolean; + readonly isAllNonFungible: boolean; + readonly isAllAbstractFungible: boolean; + readonly asAllAbstractFungible: { + readonly id: Bytes; + } & Struct; + readonly isAllAbstractNonFungible: boolean; + readonly asAllAbstractNonFungible: { + readonly class: Bytes; + } & Struct; + readonly isAllConcreteFungible: boolean; + readonly asAllConcreteFungible: { + readonly id: XcmV0MultiLocation; + } & Struct; + readonly isAllConcreteNonFungible: boolean; + readonly asAllConcreteNonFungible: { + readonly class: XcmV0MultiLocation; + } & Struct; + readonly isAbstractFungible: boolean; + readonly asAbstractFungible: { + readonly id: Bytes; + readonly amount: Compact; + } & Struct; + readonly isAbstractNonFungible: boolean; + readonly asAbstractNonFungible: { + readonly class: Bytes; + readonly instance: XcmV1MultiassetAssetInstance; + } & Struct; + readonly isConcreteFungible: boolean; + readonly asConcreteFungible: { + readonly id: XcmV0MultiLocation; + readonly amount: Compact; + } & Struct; + readonly isConcreteNonFungible: boolean; + readonly asConcreteNonFungible: { + readonly class: XcmV0MultiLocation; + readonly instance: XcmV1MultiassetAssetInstance; + } & Struct; + readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible'; +} + +/** @name XcmV0MultiLocation */ +export interface XcmV0MultiLocation extends Enum { + readonly isNull: boolean; + readonly isX1: boolean; + readonly asX1: XcmV0Junction; + readonly isX2: boolean; + readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>; + readonly isX3: boolean; + readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly isX4: boolean; + readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly isX5: boolean; + readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly isX6: boolean; + readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly isX7: boolean; + readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly isX8: boolean; + readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; +} + +/** @name XcmV0Order */ +export interface XcmV0Order extends Enum { + readonly isNull: boolean; + readonly isDepositAsset: boolean; + readonly asDepositAsset: { + readonly assets: Vec; + readonly dest: XcmV0MultiLocation; + } & Struct; + readonly isDepositReserveAsset: boolean; + readonly asDepositReserveAsset: { + readonly assets: Vec; + readonly dest: XcmV0MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isExchangeAsset: boolean; + readonly asExchangeAsset: { + readonly give: Vec; + readonly receive: Vec; + } & Struct; + readonly isInitiateReserveWithdraw: boolean; + readonly asInitiateReserveWithdraw: { + readonly assets: Vec; + readonly reserve: XcmV0MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isInitiateTeleport: boolean; + readonly asInitiateTeleport: { + readonly assets: Vec; + readonly dest: XcmV0MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isQueryHolding: boolean; + readonly asQueryHolding: { + readonly queryId: Compact; + readonly dest: XcmV0MultiLocation; + readonly assets: Vec; + } & Struct; + readonly isBuyExecution: boolean; + readonly asBuyExecution: { + readonly fees: XcmV0MultiAsset; + readonly weight: u64; + readonly debt: u64; + readonly haltOnError: bool; + readonly xcm: Vec; + } & Struct; + readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution'; +} + +/** @name XcmV0OriginKind */ +export interface XcmV0OriginKind extends Enum { + readonly isNative: boolean; + readonly isSovereignAccount: boolean; + readonly isSuperuser: boolean; + readonly isXcm: boolean; + readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; +} + +/** @name XcmV0Response */ +export interface XcmV0Response extends Enum { + readonly isAssets: boolean; + readonly asAssets: Vec; + readonly type: 'Assets'; +} + +/** @name XcmV0Xcm */ +export interface XcmV0Xcm extends Enum { + readonly isWithdrawAsset: boolean; + readonly asWithdrawAsset: { + readonly assets: Vec; + readonly effects: Vec; + } & Struct; + readonly isReserveAssetDeposit: boolean; + readonly asReserveAssetDeposit: { + readonly assets: Vec; + readonly effects: Vec; + } & Struct; + readonly isTeleportAsset: boolean; + readonly asTeleportAsset: { + readonly assets: Vec; + readonly effects: Vec; + } & Struct; + readonly isQueryResponse: boolean; + readonly asQueryResponse: { + readonly queryId: Compact; + readonly response: XcmV0Response; + } & Struct; + readonly isTransferAsset: boolean; + readonly asTransferAsset: { + readonly assets: Vec; + readonly dest: XcmV0MultiLocation; + } & Struct; + readonly isTransferReserveAsset: boolean; + readonly asTransferReserveAsset: { + readonly assets: Vec; + readonly dest: XcmV0MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isTransact: boolean; + readonly asTransact: { + readonly originType: XcmV0OriginKind; + readonly requireWeightAtMost: u64; + readonly call: XcmDoubleEncoded; + } & Struct; + readonly isHrmpNewChannelOpenRequest: boolean; + readonly asHrmpNewChannelOpenRequest: { + readonly sender: Compact; + readonly maxMessageSize: Compact; + readonly maxCapacity: Compact; + } & Struct; + readonly isHrmpChannelAccepted: boolean; + readonly asHrmpChannelAccepted: { + readonly recipient: Compact; + } & Struct; + readonly isHrmpChannelClosing: boolean; + readonly asHrmpChannelClosing: { + readonly initiator: Compact; + readonly sender: Compact; + readonly recipient: Compact; + } & Struct; + readonly isRelayedFrom: boolean; + readonly asRelayedFrom: { + readonly who: XcmV0MultiLocation; + readonly message: XcmV0Xcm; + } & Struct; + readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom'; +} + +/** @name XcmV1Junction */ +export interface XcmV1Junction extends Enum { + readonly isParachain: boolean; + readonly asParachain: Compact; + readonly isAccountId32: boolean; + readonly asAccountId32: { + readonly network: XcmV0JunctionNetworkId; + readonly id: U8aFixed; + } & Struct; + readonly isAccountIndex64: boolean; + readonly asAccountIndex64: { + readonly network: XcmV0JunctionNetworkId; + readonly index: Compact; + } & Struct; + readonly isAccountKey20: boolean; + readonly asAccountKey20: { + readonly network: XcmV0JunctionNetworkId; + readonly key: U8aFixed; + } & Struct; + readonly isPalletInstance: boolean; + readonly asPalletInstance: u8; + readonly isGeneralIndex: boolean; + readonly asGeneralIndex: Compact; + readonly isGeneralKey: boolean; + readonly asGeneralKey: Bytes; + readonly isOnlyChild: boolean; + readonly isPlurality: boolean; + readonly asPlurality: { + readonly id: XcmV0JunctionBodyId; + readonly part: XcmV0JunctionBodyPart; + } & Struct; + readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; +} + +/** @name XcmV1MultiAsset */ +export interface XcmV1MultiAsset extends Struct { + readonly id: XcmV1MultiassetAssetId; + readonly fun: XcmV1MultiassetFungibility; +} + +/** @name XcmV1MultiassetAssetId */ +export interface XcmV1MultiassetAssetId extends Enum { + readonly isConcrete: boolean; + readonly asConcrete: XcmV1MultiLocation; + readonly isAbstract: boolean; + readonly asAbstract: Bytes; + readonly type: 'Concrete' | 'Abstract'; +} + +/** @name XcmV1MultiassetAssetInstance */ +export interface XcmV1MultiassetAssetInstance extends Enum { + readonly isUndefined: boolean; + readonly isIndex: boolean; + readonly asIndex: Compact; + readonly isArray4: boolean; + readonly asArray4: U8aFixed; + readonly isArray8: boolean; + readonly asArray8: U8aFixed; + readonly isArray16: boolean; + readonly asArray16: U8aFixed; + readonly isArray32: boolean; + readonly asArray32: U8aFixed; + readonly isBlob: boolean; + readonly asBlob: Bytes; + readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; +} + +/** @name XcmV1MultiassetFungibility */ +export interface XcmV1MultiassetFungibility extends Enum { + readonly isFungible: boolean; + readonly asFungible: Compact; + readonly isNonFungible: boolean; + readonly asNonFungible: XcmV1MultiassetAssetInstance; + readonly type: 'Fungible' | 'NonFungible'; +} + +/** @name XcmV1MultiassetMultiAssetFilter */ +export interface XcmV1MultiassetMultiAssetFilter extends Enum { + readonly isDefinite: boolean; + readonly asDefinite: XcmV1MultiassetMultiAssets; + readonly isWild: boolean; + readonly asWild: XcmV1MultiassetWildMultiAsset; + readonly type: 'Definite' | 'Wild'; +} + +/** @name XcmV1MultiassetMultiAssets */ +export interface XcmV1MultiassetMultiAssets extends Vec {} + +/** @name XcmV1MultiassetWildFungibility */ +export interface XcmV1MultiassetWildFungibility extends Enum { + readonly isFungible: boolean; + readonly isNonFungible: boolean; + readonly type: 'Fungible' | 'NonFungible'; +} + +/** @name XcmV1MultiassetWildMultiAsset */ +export interface XcmV1MultiassetWildMultiAsset extends Enum { + readonly isAll: boolean; + readonly isAllOf: boolean; + readonly asAllOf: { + readonly id: XcmV1MultiassetAssetId; + readonly fun: XcmV1MultiassetWildFungibility; + } & Struct; + readonly type: 'All' | 'AllOf'; +} + +/** @name XcmV1MultiLocation */ +export interface XcmV1MultiLocation extends Struct { + readonly parents: u8; + readonly interior: XcmV1MultilocationJunctions; +} + +/** @name XcmV1MultilocationJunctions */ +export interface XcmV1MultilocationJunctions extends Enum { + readonly isHere: boolean; + readonly isX1: boolean; + readonly asX1: XcmV1Junction; + readonly isX2: boolean; + readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>; + readonly isX3: boolean; + readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly isX4: boolean; + readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly isX5: boolean; + readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly isX6: boolean; + readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly isX7: boolean; + readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly isX8: boolean; + readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; +} + +/** @name XcmV1Order */ +export interface XcmV1Order extends Enum { + readonly isNoop: boolean; + readonly isDepositAsset: boolean; + readonly asDepositAsset: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly maxAssets: u32; + readonly beneficiary: XcmV1MultiLocation; + } & Struct; + readonly isDepositReserveAsset: boolean; + readonly asDepositReserveAsset: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly maxAssets: u32; + readonly dest: XcmV1MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isExchangeAsset: boolean; + readonly asExchangeAsset: { + readonly give: XcmV1MultiassetMultiAssetFilter; + readonly receive: XcmV1MultiassetMultiAssets; + } & Struct; + readonly isInitiateReserveWithdraw: boolean; + readonly asInitiateReserveWithdraw: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly reserve: XcmV1MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isInitiateTeleport: boolean; + readonly asInitiateTeleport: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly dest: XcmV1MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isQueryHolding: boolean; + readonly asQueryHolding: { + readonly queryId: Compact; + readonly dest: XcmV1MultiLocation; + readonly assets: XcmV1MultiassetMultiAssetFilter; + } & Struct; + readonly isBuyExecution: boolean; + readonly asBuyExecution: { + readonly fees: XcmV1MultiAsset; + readonly weight: u64; + readonly debt: u64; + readonly haltOnError: bool; + readonly instructions: Vec; + } & Struct; + readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution'; +} + +/** @name XcmV1Response */ +export interface XcmV1Response extends Enum { + readonly isAssets: boolean; + readonly asAssets: XcmV1MultiassetMultiAssets; + readonly isVersion: boolean; + readonly asVersion: u32; + readonly type: 'Assets' | 'Version'; +} + +/** @name XcmV1Xcm */ +export interface XcmV1Xcm extends Enum { + readonly isWithdrawAsset: boolean; + readonly asWithdrawAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly effects: Vec; + } & Struct; + readonly isReserveAssetDeposited: boolean; + readonly asReserveAssetDeposited: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly effects: Vec; + } & Struct; + readonly isReceiveTeleportedAsset: boolean; + readonly asReceiveTeleportedAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly effects: Vec; + } & Struct; + readonly isQueryResponse: boolean; + readonly asQueryResponse: { + readonly queryId: Compact; + readonly response: XcmV1Response; + } & Struct; + readonly isTransferAsset: boolean; + readonly asTransferAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly beneficiary: XcmV1MultiLocation; + } & Struct; + readonly isTransferReserveAsset: boolean; + readonly asTransferReserveAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly dest: XcmV1MultiLocation; + readonly effects: Vec; + } & Struct; + readonly isTransact: boolean; + readonly asTransact: { + readonly originType: XcmV0OriginKind; + readonly requireWeightAtMost: u64; + readonly call: XcmDoubleEncoded; + } & Struct; + readonly isHrmpNewChannelOpenRequest: boolean; + readonly asHrmpNewChannelOpenRequest: { + readonly sender: Compact; + readonly maxMessageSize: Compact; + readonly maxCapacity: Compact; + } & Struct; + readonly isHrmpChannelAccepted: boolean; + readonly asHrmpChannelAccepted: { + readonly recipient: Compact; + } & Struct; + readonly isHrmpChannelClosing: boolean; + readonly asHrmpChannelClosing: { + readonly initiator: Compact; + readonly sender: Compact; + readonly recipient: Compact; + } & Struct; + readonly isRelayedFrom: boolean; + readonly asRelayedFrom: { + readonly who: XcmV1MultilocationJunctions; + readonly message: XcmV1Xcm; + } & Struct; + readonly isSubscribeVersion: boolean; + readonly asSubscribeVersion: { + readonly queryId: Compact; + readonly maxResponseWeight: Compact; + } & Struct; + readonly isUnsubscribeVersion: boolean; + readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion'; +} + +/** @name XcmV2Instruction */ +export interface XcmV2Instruction extends Enum { + readonly isWithdrawAsset: boolean; + readonly asWithdrawAsset: XcmV1MultiassetMultiAssets; + readonly isReserveAssetDeposited: boolean; + readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets; + readonly isReceiveTeleportedAsset: boolean; + readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets; + readonly isQueryResponse: boolean; + readonly asQueryResponse: { + readonly queryId: Compact; + readonly response: XcmV2Response; + readonly maxWeight: Compact; + } & Struct; + readonly isTransferAsset: boolean; + readonly asTransferAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly beneficiary: XcmV1MultiLocation; + } & Struct; + readonly isTransferReserveAsset: boolean; + readonly asTransferReserveAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly dest: XcmV1MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isTransact: boolean; + readonly asTransact: { + readonly originType: XcmV0OriginKind; + readonly requireWeightAtMost: Compact; + readonly call: XcmDoubleEncoded; + } & Struct; + readonly isHrmpNewChannelOpenRequest: boolean; + readonly asHrmpNewChannelOpenRequest: { + readonly sender: Compact; + readonly maxMessageSize: Compact; + readonly maxCapacity: Compact; + } & Struct; + readonly isHrmpChannelAccepted: boolean; + readonly asHrmpChannelAccepted: { + readonly recipient: Compact; + } & Struct; + readonly isHrmpChannelClosing: boolean; + readonly asHrmpChannelClosing: { + readonly initiator: Compact; + readonly sender: Compact; + readonly recipient: Compact; + } & Struct; + readonly isClearOrigin: boolean; + readonly isDescendOrigin: boolean; + readonly asDescendOrigin: XcmV1MultilocationJunctions; + readonly isReportError: boolean; + readonly asReportError: { + readonly queryId: Compact; + readonly dest: XcmV1MultiLocation; + readonly maxResponseWeight: Compact; + } & Struct; + readonly isDepositAsset: boolean; + readonly asDepositAsset: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly maxAssets: Compact; + readonly beneficiary: XcmV1MultiLocation; + } & Struct; + readonly isDepositReserveAsset: boolean; + readonly asDepositReserveAsset: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly maxAssets: Compact; + readonly dest: XcmV1MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isExchangeAsset: boolean; + readonly asExchangeAsset: { + readonly give: XcmV1MultiassetMultiAssetFilter; + readonly receive: XcmV1MultiassetMultiAssets; + } & Struct; + readonly isInitiateReserveWithdraw: boolean; + readonly asInitiateReserveWithdraw: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly reserve: XcmV1MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isInitiateTeleport: boolean; + readonly asInitiateTeleport: { + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly dest: XcmV1MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isQueryHolding: boolean; + readonly asQueryHolding: { + readonly queryId: Compact; + readonly dest: XcmV1MultiLocation; + readonly assets: XcmV1MultiassetMultiAssetFilter; + readonly maxResponseWeight: Compact; + } & Struct; + readonly isBuyExecution: boolean; + readonly asBuyExecution: { + readonly fees: XcmV1MultiAsset; + readonly weightLimit: XcmV2WeightLimit; + } & Struct; + readonly isRefundSurplus: boolean; + readonly isSetErrorHandler: boolean; + readonly asSetErrorHandler: XcmV2Xcm; + readonly isSetAppendix: boolean; + readonly asSetAppendix: XcmV2Xcm; + readonly isClearError: boolean; + readonly isClaimAsset: boolean; + readonly asClaimAsset: { + readonly assets: XcmV1MultiassetMultiAssets; + readonly ticket: XcmV1MultiLocation; + } & Struct; + readonly isTrap: boolean; + readonly asTrap: Compact; + readonly isSubscribeVersion: boolean; + readonly asSubscribeVersion: { + readonly queryId: Compact; + readonly maxResponseWeight: Compact; + } & Struct; + readonly isUnsubscribeVersion: boolean; + 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 */ +export interface XcmV2Response extends Enum { + readonly isNull: boolean; + readonly isAssets: boolean; + readonly asAssets: XcmV1MultiassetMultiAssets; + readonly isExecutionResult: boolean; + readonly asExecutionResult: Option>; + readonly isVersion: boolean; + readonly asVersion: u32; + readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; +} + +/** @name XcmV2TraitsError */ +export interface XcmV2TraitsError extends Enum { + readonly isOverflow: boolean; + readonly isUnimplemented: boolean; + readonly isUntrustedReserveLocation: boolean; + readonly isUntrustedTeleportLocation: boolean; + readonly isMultiLocationFull: boolean; + readonly isMultiLocationNotInvertible: boolean; + readonly isBadOrigin: boolean; + readonly isInvalidLocation: boolean; + readonly isAssetNotFound: boolean; + readonly isFailedToTransactAsset: boolean; + readonly isNotWithdrawable: boolean; + readonly isLocationCannotHold: boolean; + readonly isExceedsMaxMessageSize: boolean; + readonly isDestinationUnsupported: boolean; + readonly isTransport: boolean; + readonly isUnroutable: boolean; + readonly isUnknownClaim: boolean; + readonly isFailedToDecode: boolean; + readonly isMaxWeightInvalid: boolean; + readonly isNotHoldingFees: boolean; + readonly isTooExpensive: boolean; + readonly isTrap: boolean; + readonly asTrap: u64; + readonly isUnhandledXcmVersion: boolean; + readonly isWeightLimitReached: boolean; + readonly asWeightLimitReached: u64; + readonly isBarrier: boolean; + readonly isWeightNotComputable: boolean; + 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 XcmV2TraitsOutcome */ +export interface XcmV2TraitsOutcome extends Enum { + readonly isComplete: boolean; + readonly asComplete: u64; + readonly isIncomplete: boolean; + readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>; + readonly isError: boolean; + readonly asError: XcmV2TraitsError; + readonly type: 'Complete' | 'Incomplete' | 'Error'; +} + +/** @name XcmV2WeightLimit */ +export interface XcmV2WeightLimit extends Enum { + readonly isUnlimited: boolean; + readonly isLimited: boolean; + readonly asLimited: Compact; + readonly type: 'Unlimited' | 'Limited'; +} + +/** @name XcmV2Xcm */ +export interface XcmV2Xcm extends Vec {} + +/** @name XcmVersionedMultiAssets */ +export interface XcmVersionedMultiAssets extends Enum { + readonly isV0: boolean; + readonly asV0: Vec; + readonly isV1: boolean; + readonly asV1: XcmV1MultiassetMultiAssets; + readonly type: 'V0' | 'V1'; +} + +/** @name XcmVersionedMultiLocation */ +export interface XcmVersionedMultiLocation extends Enum { + readonly isV0: boolean; + readonly asV0: XcmV0MultiLocation; + readonly isV1: boolean; + readonly asV1: XcmV1MultiLocation; + readonly type: 'V0' | 'V1'; +} + +/** @name XcmVersionedXcm */ +export interface XcmVersionedXcm extends Enum { + readonly isV0: boolean; + readonly asV0: XcmV0Xcm; + readonly isV1: boolean; + readonly asV1: XcmV1Xcm; + readonly isV2: boolean; + readonly asV2: XcmV2Xcm; + readonly type: 'V0' | 'V1' | 'V2'; +} + +export type PHANTOM_RMRK = 'rmrk'; --- a/tests/src/interfaces/types-lookup.ts +++ b/tests/src/interfaces/types-lookup.ts @@ -4,7 +4,7 @@ declare module '@polkadot/types/lookup' { 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 { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime'; import type { Event } from '@polkadot/types/interfaces/system'; /** @name PolkadotPrimitivesV2PersistedValidationData (2) */ @@ -1582,12 +1582,9 @@ readonly isDisabled: boolean; readonly isOwner: boolean; readonly isOwnerRestricted: boolean; - readonly asOwnerRestricted: FrameSupportStorageBoundedBTreeSet; + readonly asOwnerRestricted: BTreeSet; readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted'; } - - /** @name FrameSupportStorageBoundedBTreeSet (171) */ - export interface FrameSupportStorageBoundedBTreeSet extends BTreeSet {} /** @name UpDataStructsPropertyKeyPermission (177) */ export interface UpDataStructsPropertyKeyPermission extends Struct { @@ -2544,7 +2541,143 @@ readonly properties: Vec; } - /** @name PalletCommonError (333) */ + /** @name PhantomTypeUpDataStructsCollectionInfo (333) */ + export interface PhantomTypeUpDataStructsCollectionInfo extends Vec {} + + /** @name RmrkTypesCollectionInfo (334) */ + export interface RmrkTypesCollectionInfo extends Struct { + readonly issuer: AccountId32; + readonly metadata: Bytes; + readonly max: Option; + readonly symbol: Bytes; + readonly nftsCount: u32; + } + + /** @name PhantomTypeUpDataStructsNftInfo (338) */ + export interface PhantomTypeUpDataStructsNftInfo extends Vec {} + + /** @name RmrkTypesNftInfo (339) */ + export interface RmrkTypesNftInfo extends Struct { + readonly owner: RmrkTypesAccountIdOrCollectionNftTuple; + readonly royalty: Option; + readonly metadata: Bytes; + readonly equipped: bool; + readonly pending: bool; + } + + /** @name RmrkTypesAccountIdOrCollectionNftTuple (340) */ + export interface RmrkTypesAccountIdOrCollectionNftTuple extends Enum { + readonly isAccountId: boolean; + readonly asAccountId: AccountId32; + readonly isCollectionAndNftTuple: boolean; + readonly asCollectionAndNftTuple: ITuple<[u32, u32]>; + readonly type: 'AccountId' | 'CollectionAndNftTuple'; + } + + /** @name RmrkTypesRoyaltyInfo (342) */ + export interface RmrkTypesRoyaltyInfo extends Struct { + readonly recipient: AccountId32; + readonly amount: Permill; + } + + /** @name PhantomTypeUpDataStructsResourceInfo (344) */ + export interface PhantomTypeUpDataStructsResourceInfo extends Vec {} + + /** @name RmrkTypesResourceInfo (345) */ + export interface RmrkTypesResourceInfo extends Struct { + readonly id: Bytes; + readonly pending: bool; + readonly pendingRemoval: bool; + readonly parts: Option>; + readonly base: Option; + readonly src: Option; + readonly metadata: Option; + readonly slot: Option; + readonly license: Option; + readonly thumb: Option; + } + + /** @name PhantomTypeUpDataStructsPropertyInfo (351) */ + export interface PhantomTypeUpDataStructsPropertyInfo extends Vec {} + + /** @name RmrkTypesPropertyInfo (352) */ + export interface RmrkTypesPropertyInfo extends Struct { + readonly key: Bytes; + readonly value: Bytes; + } + + /** @name PhantomTypeUpDataStructsBaseInfo (356) */ + export interface PhantomTypeUpDataStructsBaseInfo extends Vec {} + + /** @name RmrkTypesBaseInfo (357) */ + export interface RmrkTypesBaseInfo extends Struct { + readonly issuer: AccountId32; + readonly baseType: Bytes; + readonly symbol: Bytes; + } + + /** @name PhantomTypeUpDataStructsPartType (359) */ + export interface PhantomTypeUpDataStructsPartType extends Vec {} + + /** @name RmrkTypesPartType (360) */ + export interface RmrkTypesPartType extends Enum { + readonly isFixedPart: boolean; + readonly asFixedPart: RmrkTypesFixedPart; + readonly isSlotPart: boolean; + readonly asSlotPart: RmrkTypesSlotPart; + readonly type: 'FixedPart' | 'SlotPart'; + } + + /** @name RmrkTypesFixedPart (362) */ + export interface RmrkTypesFixedPart extends Struct { + readonly id: u32; + readonly z: u32; + readonly src: Bytes; + } + + /** @name RmrkTypesSlotPart (363) */ + export interface RmrkTypesSlotPart extends Struct { + readonly id: u32; + readonly equippable: RmrkTypesEquippableList; + readonly src: Bytes; + readonly z: u32; + } + + /** @name RmrkTypesEquippableList (364) */ + export interface RmrkTypesEquippableList extends Enum { + readonly isAll: boolean; + readonly isEmpty: boolean; + readonly isCustom: boolean; + readonly asCustom: Vec; + readonly type: 'All' | 'Empty' | 'Custom'; + } + + /** @name PhantomTypeUpDataStructsTheme (366) */ + export interface PhantomTypeUpDataStructsTheme extends Vec {} + + /** @name RmrkTypesTheme (367) */ + export interface RmrkTypesTheme extends Struct { + readonly name: Bytes; + readonly properties: Vec; + readonly inherit: bool; + } + + /** @name RmrkTypesThemeProperty (369) */ + export interface RmrkTypesThemeProperty extends Struct { + readonly key: Bytes; + readonly value: Bytes; + } + + /** @name PhantomTypeUpDataStructsNftChild (371) */ + export interface PhantomTypeUpDataStructsNftChild extends Vec {} + + /** @name RmrkTypesNftChild (372) */ + export interface RmrkTypesNftChild extends Struct { + readonly collectionId: u32; + readonly nftId: u32; + } + + /** @name PalletCommonError (374) */ export interface PalletCommonError extends Enum { readonly isCollectionNotFound: boolean; readonly isMustBeTokenOwner: boolean; @@ -2581,7 +2714,7 @@ readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey'; } - /** @name PalletFungibleError (335) */ + /** @name PalletFungibleError (376) */ export interface PalletFungibleError extends Enum { readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isFungibleItemsHaveNoId: boolean; @@ -2591,12 +2724,12 @@ readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; } - /** @name PalletRefungibleItemData (336) */ + /** @name PalletRefungibleItemData (377) */ export interface PalletRefungibleItemData extends Struct { readonly constData: Bytes; } - /** @name PalletRefungibleError (340) */ + /** @name PalletRefungibleError (381) */ export interface PalletRefungibleError extends Enum { readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isWrongRefungiblePieces: boolean; @@ -2605,20 +2738,20 @@ readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; } - /** @name PalletNonfungibleItemData (341) */ + /** @name PalletNonfungibleItemData (382) */ export interface PalletNonfungibleItemData extends Struct { readonly constData: Bytes; readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; } - /** @name PalletNonfungibleError (342) */ + /** @name PalletNonfungibleError (383) */ export interface PalletNonfungibleError extends Enum { readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isNonfungibleItemsHaveNoAmount: boolean; readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount'; } - /** @name PalletStructureError (343) */ + /** @name PalletStructureError (384) */ export interface PalletStructureError extends Enum { readonly isOuroborosDetected: boolean; readonly isDepthLimit: boolean; @@ -2626,7 +2759,7 @@ readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound'; } - /** @name PalletEvmError (346) */ + /** @name PalletEvmError (387) */ export interface PalletEvmError extends Enum { readonly isBalanceLow: boolean; readonly isFeeOverflow: boolean; @@ -2637,7 +2770,7 @@ readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce'; } - /** @name FpRpcTransactionStatus (349) */ + /** @name FpRpcTransactionStatus (390) */ export interface FpRpcTransactionStatus extends Struct { readonly transactionHash: H256; readonly transactionIndex: u32; @@ -2648,10 +2781,10 @@ readonly logsBloom: EthbloomBloom; } - /** @name EthbloomBloom (351) */ + /** @name EthbloomBloom (392) */ export interface EthbloomBloom extends U8aFixed {} - /** @name EthereumReceiptReceiptV3 (353) */ + /** @name EthereumReceiptReceiptV3 (394) */ export interface EthereumReceiptReceiptV3 extends Enum { readonly isLegacy: boolean; readonly asLegacy: EthereumReceiptEip658ReceiptData; @@ -2662,7 +2795,7 @@ readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name EthereumReceiptEip658ReceiptData (354) */ + /** @name EthereumReceiptEip658ReceiptData (395) */ export interface EthereumReceiptEip658ReceiptData extends Struct { readonly statusCode: u8; readonly usedGas: U256; @@ -2670,14 +2803,14 @@ readonly logs: Vec; } - /** @name EthereumBlock (355) */ + /** @name EthereumBlock (396) */ export interface EthereumBlock extends Struct { readonly header: EthereumHeader; readonly transactions: Vec; readonly ommers: Vec; } - /** @name EthereumHeader (356) */ + /** @name EthereumHeader (397) */ export interface EthereumHeader extends Struct { readonly parentHash: H256; readonly ommersHash: H256; @@ -2696,24 +2829,24 @@ readonly nonce: EthereumTypesHashH64; } - /** @name EthereumTypesHashH64 (357) */ + /** @name EthereumTypesHashH64 (398) */ export interface EthereumTypesHashH64 extends U8aFixed {} - /** @name PalletEthereumError (362) */ + /** @name PalletEthereumError (403) */ export interface PalletEthereumError extends Enum { readonly isInvalidSignature: boolean; readonly isPreLogExists: boolean; readonly type: 'InvalidSignature' | 'PreLogExists'; } - /** @name PalletEvmCoderSubstrateError (363) */ + /** @name PalletEvmCoderSubstrateError (404) */ export interface PalletEvmCoderSubstrateError extends Enum { readonly isOutOfGas: boolean; readonly isOutOfFund: boolean; readonly type: 'OutOfGas' | 'OutOfFund'; } - /** @name PalletEvmContractHelpersSponsoringModeT (364) */ + /** @name PalletEvmContractHelpersSponsoringModeT (405) */ export interface PalletEvmContractHelpersSponsoringModeT extends Enum { readonly isDisabled: boolean; readonly isAllowlisted: boolean; @@ -2721,20 +2854,20 @@ readonly type: 'Disabled' | 'Allowlisted' | 'Generous'; } - /** @name PalletEvmContractHelpersError (366) */ + /** @name PalletEvmContractHelpersError (407) */ export interface PalletEvmContractHelpersError extends Enum { readonly isNoPermission: boolean; readonly type: 'NoPermission'; } - /** @name PalletEvmMigrationError (367) */ + /** @name PalletEvmMigrationError (408) */ export interface PalletEvmMigrationError extends Enum { readonly isAccountNotEmpty: boolean; readonly isAccountIsNotMigrating: boolean; readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating'; } - /** @name SpRuntimeMultiSignature (369) */ + /** @name SpRuntimeMultiSignature (410) */ export interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2745,34 +2878,34 @@ readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (370) */ + /** @name SpCoreEd25519Signature (411) */ export interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (372) */ + /** @name SpCoreSr25519Signature (413) */ export interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (373) */ + /** @name SpCoreEcdsaSignature (414) */ export interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name FrameSystemExtensionsCheckSpecVersion (376) */ + /** @name FrameSystemExtensionsCheckSpecVersion (417) */ export type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (377) */ + /** @name FrameSystemExtensionsCheckGenesis (418) */ export type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (380) */ + /** @name FrameSystemExtensionsCheckNonce (421) */ export interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (381) */ + /** @name FrameSystemExtensionsCheckWeight (422) */ export type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (382) */ + /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (423) */ export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name OpalRuntimeRuntime (383) */ + /** @name OpalRuntimeRuntime (424) */ export type OpalRuntimeRuntime = Null; - /** @name PalletEthereumFakeTransactionFinalizer (384) */ + /** @name PalletEthereumFakeTransactionFinalizer (425) */ export type PalletEthereumFakeTransactionFinalizer = Null; } // declare module --- a/tests/src/interfaces/types.ts +++ b/tests/src/interfaces/types.ts @@ -2,3 +2,4 @@ /* eslint-disable */ export * from './unique/types'; +export * from './rmrk/types'; --- a/tests/src/interfaces/unique/types.ts +++ b/tests/src/interfaces/unique/types.ts @@ -3,7 +3,7 @@ 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 { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime'; import type { Event } from '@polkadot/types/interfaces/system'; /** @name CumulusPalletDmpQueueCall */ @@ -445,9 +445,6 @@ /** @name FrameSupportPalletId */ export interface FrameSupportPalletId extends U8aFixed {} - -/** @name FrameSupportStorageBoundedBTreeSet */ -export interface FrameSupportStorageBoundedBTreeSet extends BTreeSet {} /** @name FrameSupportTokensMiscBalanceStatus */ export interface FrameSupportTokensMiscBalanceStatus extends Enum { @@ -1617,9 +1614,33 @@ readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail'; } +/** @name PhantomTypeUpDataStructsBaseInfo */ +export interface PhantomTypeUpDataStructsBaseInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsCollectionInfo */ +export interface PhantomTypeUpDataStructsCollectionInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsNftChild */ +export interface PhantomTypeUpDataStructsNftChild extends Vec {} + +/** @name PhantomTypeUpDataStructsNftInfo */ +export interface PhantomTypeUpDataStructsNftInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsPartType */ +export interface PhantomTypeUpDataStructsPartType extends Vec {} + +/** @name PhantomTypeUpDataStructsPropertyInfo */ +export interface PhantomTypeUpDataStructsPropertyInfo extends Vec {} + +/** @name PhantomTypeUpDataStructsResourceInfo */ +export interface PhantomTypeUpDataStructsResourceInfo extends Vec {} + /** @name PhantomTypeUpDataStructsRpcCollection */ export interface PhantomTypeUpDataStructsRpcCollection extends Vec {} +/** @name PhantomTypeUpDataStructsTheme */ +export interface PhantomTypeUpDataStructsTheme extends Vec {} + /** @name PhantomTypeUpDataStructsTokenData */ export interface PhantomTypeUpDataStructsTokenData extends Vec {} @@ -1686,6 +1707,118 @@ readonly type: 'Present'; } +/** @name RmrkTypesAccountIdOrCollectionNftTuple */ +export interface RmrkTypesAccountIdOrCollectionNftTuple extends Enum { + readonly isAccountId: boolean; + readonly asAccountId: AccountId32; + readonly isCollectionAndNftTuple: boolean; + readonly asCollectionAndNftTuple: ITuple<[u32, u32]>; + readonly type: 'AccountId' | 'CollectionAndNftTuple'; +} + +/** @name RmrkTypesBaseInfo */ +export interface RmrkTypesBaseInfo extends Struct { + readonly issuer: AccountId32; + readonly baseType: Bytes; + readonly symbol: Bytes; +} + +/** @name RmrkTypesCollectionInfo */ +export interface RmrkTypesCollectionInfo extends Struct { + readonly issuer: AccountId32; + readonly metadata: Bytes; + readonly max: Option; + readonly symbol: Bytes; + readonly nftsCount: u32; +} + +/** @name RmrkTypesEquippableList */ +export interface RmrkTypesEquippableList extends Enum { + readonly isAll: boolean; + readonly isEmpty: boolean; + readonly isCustom: boolean; + readonly asCustom: Vec; + readonly type: 'All' | 'Empty' | 'Custom'; +} + +/** @name RmrkTypesFixedPart */ +export interface RmrkTypesFixedPart extends Struct { + readonly id: u32; + readonly z: u32; + readonly src: Bytes; +} + +/** @name RmrkTypesNftChild */ +export interface RmrkTypesNftChild extends Struct { + readonly collectionId: u32; + readonly nftId: u32; +} + +/** @name RmrkTypesNftInfo */ +export interface RmrkTypesNftInfo extends Struct { + readonly owner: RmrkTypesAccountIdOrCollectionNftTuple; + readonly royalty: Option; + readonly metadata: Bytes; + readonly equipped: bool; + readonly pending: bool; +} + +/** @name RmrkTypesPartType */ +export interface RmrkTypesPartType extends Enum { + readonly isFixedPart: boolean; + readonly asFixedPart: RmrkTypesFixedPart; + readonly isSlotPart: boolean; + readonly asSlotPart: RmrkTypesSlotPart; + readonly type: 'FixedPart' | 'SlotPart'; +} + +/** @name RmrkTypesPropertyInfo */ +export interface RmrkTypesPropertyInfo extends Struct { + readonly key: Bytes; + readonly value: Bytes; +} + +/** @name RmrkTypesResourceInfo */ +export interface RmrkTypesResourceInfo extends Struct { + readonly id: Bytes; + readonly pending: bool; + readonly pendingRemoval: bool; + readonly parts: Option>; + readonly base: Option; + readonly src: Option; + readonly metadata: Option; + readonly slot: Option; + readonly license: Option; + readonly thumb: Option; +} + +/** @name RmrkTypesRoyaltyInfo */ +export interface RmrkTypesRoyaltyInfo extends Struct { + readonly recipient: AccountId32; + readonly amount: Permill; +} + +/** @name RmrkTypesSlotPart */ +export interface RmrkTypesSlotPart extends Struct { + readonly id: u32; + readonly equippable: RmrkTypesEquippableList; + readonly src: Bytes; + readonly z: u32; +} + +/** @name RmrkTypesTheme */ +export interface RmrkTypesTheme extends Struct { + readonly name: Bytes; + readonly properties: Vec; + readonly inherit: bool; +} + +/** @name RmrkTypesThemeProperty */ +export interface RmrkTypesThemeProperty extends Struct { + readonly key: Bytes; + readonly value: Bytes; +} + /** @name SpCoreEcdsaSignature */ export interface SpCoreEcdsaSignature extends U8aFixed {} @@ -1927,7 +2060,7 @@ readonly isDisabled: boolean; readonly isOwner: boolean; readonly isOwnerRestricted: boolean; - readonly asOwnerRestricted: FrameSupportStorageBoundedBTreeSet; + readonly asOwnerRestricted: BTreeSet; readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted'; } --- a/tests/src/substrate/substrate-api.ts +++ b/tests/src/substrate/substrate-api.ts @@ -41,6 +41,7 @@ }, rpc: { unique: defs.unique.rpc, + rmrk: defs.rmrk.rpc, eth: { feeHistory: { description: 'Dummy', -- gitstuff