difftreelog
build update polkadot to v0.9.43
in: master
40 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -14,20 +14,20 @@
[[package]]
name = "addr2line"
-version = "0.17.0"
+version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
+checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
dependencies = [
- "gimli 0.26.2",
+ "gimli",
]
[[package]]
name = "addr2line"
-version = "0.19.0"
+version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
dependencies = [
- "gimli 0.27.2",
+ "gimli",
]
[[package]]
@@ -90,9 +90,9 @@
[[package]]
name = "aes"
-version = "0.8.2"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241"
+checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
dependencies = [
"cfg-if",
"cipher 0.4.4",
@@ -120,7 +120,7 @@
checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237"
dependencies = [
"aead 0.5.2",
- "aes 0.8.2",
+ "aes 0.8.3",
"cipher 0.4.4",
"ctr 0.9.2",
"ghash 0.5.0",
@@ -153,7 +153,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"once_cell",
"version_check",
]
@@ -165,22 +165,13 @@
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
dependencies = [
"cfg-if",
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"once_cell",
"version_check",
]
[[package]]
name = "aho-corasick"
-version = "0.7.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "aho-corasick"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
@@ -235,15 +226,15 @@
[[package]]
name = "anstyle"
-version = "1.0.0"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
[[package]]
name = "anstyle-parse"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
dependencies = [
"utf8parse",
]
@@ -269,9 +260,9 @@
[[package]]
name = "anyhow"
-version = "1.0.71"
+version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
[[package]]
name = "app-promotion-rpc"
@@ -325,9 +316,9 @@
[[package]]
name = "arrayvec"
-version = "0.7.2"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]]
name = "asn1-rs"
@@ -342,7 +333,7 @@
"num-traits",
"rusticata-macros",
"thiserror",
- "time 0.3.21",
+ "time 0.3.23",
]
[[package]]
@@ -358,7 +349,7 @@
"num-traits",
"rusticata-macros",
"thiserror",
- "time 0.3.21",
+ "time 0.3.23",
]
[[package]]
@@ -395,12 +386,6 @@
"quote",
"syn 1.0.109",
]
-
-[[package]]
-name = "asn1_der"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247"
[[package]]
name = "assert_matches"
@@ -410,9 +395,9 @@
[[package]]
name = "async-channel"
-version = "1.8.0"
+version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
+checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
dependencies = [
"concurrent-queue",
"event-listener",
@@ -433,9 +418,9 @@
"log",
"parking",
"polling",
- "rustix 0.37.19",
+ "rustix 0.37.23",
"slab",
- "socket2",
+ "socket2 0.4.9",
"waker-fn",
]
@@ -456,18 +441,18 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "async-trait"
-version = "0.1.68"
+version = "0.1.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -480,7 +465,7 @@
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
]
[[package]]
@@ -520,16 +505,16 @@
[[package]]
name = "backtrace"
-version = "0.3.67"
+version = "0.3.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
dependencies = [
- "addr2line 0.19.0",
+ "addr2line 0.20.0",
"cc",
"cfg-if",
"libc",
- "miniz_oxide 0.6.2",
- "object 0.30.3",
+ "miniz_oxide",
+ "object 0.31.1",
"rustc-demangle",
]
@@ -581,7 +566,7 @@
[[package]]
name = "binary-merkle-tree"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"hash-db 0.16.0",
"log",
@@ -598,22 +583,23 @@
[[package]]
name = "bindgen"
-version = "0.64.0"
+version = "0.65.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4"
+checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cexpr",
"clang-sys",
"lazy_static",
"lazycell",
"peeking_take_while",
+ "prettyplease 0.2.10",
"proc-macro2",
"quote",
"regex",
"rustc-hash",
"shlex",
- "syn 1.0.109",
+ "syn 2.0.26",
]
[[package]]
@@ -623,6 +609,12 @@
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
+name = "bitflags"
+version = "2.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+
+[[package]]
name = "bitvec"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -650,8 +642,8 @@
checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc"
dependencies = [
"arrayref",
- "arrayvec 0.7.2",
- "constant_time_eq",
+ "arrayvec 0.7.4",
+ "constant_time_eq 0.2.6",
]
[[package]]
@@ -661,21 +653,21 @@
checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f"
dependencies = [
"arrayref",
- "arrayvec 0.7.2",
- "constant_time_eq",
+ "arrayvec 0.7.4",
+ "constant_time_eq 0.2.6",
]
[[package]]
name = "blake3"
-version = "1.3.3"
+version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef"
+checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5"
dependencies = [
"arrayref",
- "arrayvec 0.7.2",
+ "arrayvec 0.7.4",
"cc",
"cfg-if",
- "constant_time_eq",
+ "constant_time_eq 0.3.0",
"digest 0.10.7",
]
@@ -756,9 +748,9 @@
[[package]]
name = "bounded-collections"
-version = "0.1.7"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07fbd1d11282a1eb134d3c3b7cf8ce213b5161c6e5f73fb1b98618482c606b64"
+checksum = "eb5b05133427c07c4776906f673ccf36c21b102c9829c641a5b56bd151d44fd6"
dependencies = [
"log",
"parity-scale-codec",
@@ -783,9 +775,9 @@
[[package]]
name = "bstr"
-version = "1.5.0"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
+checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
dependencies = [
"memchr",
"serde",
@@ -849,18 +841,18 @@
[[package]]
name = "camino"
-version = "1.1.4"
+version = "1.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2"
+checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"
dependencies = [
"serde",
]
[[package]]
name = "cargo-platform"
-version = "0.1.2"
+version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
+checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
dependencies = [
"serde",
]
@@ -873,7 +865,7 @@
dependencies = [
"camino",
"cargo-platform",
- "semver 1.0.17",
+ "semver 1.0.18",
"serde",
"serde_json",
"thiserror",
@@ -910,9 +902,9 @@
[[package]]
name = "cfg-expr"
-version = "0.10.3"
+version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db"
+checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c"
dependencies = [
"smallvec",
]
@@ -1032,9 +1024,9 @@
[[package]]
name = "clap"
-version = "4.3.1"
+version = "4.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4ed2379f8603fa2b7509891660e802b88c70a79a6427a70abb5968054de2c28"
+checksum = "3eab9e8ceb9afdade1ab3f0fd8dbce5b1b2f468ad653baf10e771781b2b67b73"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1043,27 +1035,26 @@
[[package]]
name = "clap_builder"
-version = "4.3.1"
+version = "4.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72394f3339a76daf211e57d4bcb374410f3965dcc606dd0e03738c7888766980"
+checksum = "9f2763db829349bf00cfc06251268865ed4363b93a943174f638daf3ecdba2cd"
dependencies = [
"anstream",
"anstyle",
- "bitflags",
"clap_lex",
"strsim",
]
[[package]]
name = "clap_derive"
-version = "4.3.1"
+version = "4.3.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59e9ef9a08ee1c0e1f2e162121665ac45ac3783b0f897db7244ae75ad9a8f65b"
+checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -1121,16 +1112,35 @@
]
[[package]]
+name = "console"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8"
+dependencies = [
+ "encode_unicode",
+ "lazy_static",
+ "libc",
+ "unicode-width",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
name = "const-oid"
-version = "0.9.2"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747"
+
+[[package]]
+name = "constant_time_eq"
+version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913"
+checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6"
[[package]]
name = "constant_time_eq"
-version = "0.2.5"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b"
+checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
[[package]]
name = "convert_case"
@@ -1184,37 +1194,36 @@
[[package]]
name = "cpufeatures"
-version = "0.2.7"
+version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
dependencies = [
"libc",
]
[[package]]
name = "cranelift-bforest"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bc42ba2e232e5b20ff7dc299a812d53337dadce9a7e39a238e6a5cb82d2e57b"
+checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70"
dependencies = [
"cranelift-entity",
]
[[package]]
name = "cranelift-codegen"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "253531aca9b6f56103c9420369db3263e784df39aa1c90685a1f69cfbba0623e"
+checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220"
dependencies = [
- "arrayvec 0.7.2",
"bumpalo",
"cranelift-bforest",
"cranelift-codegen-meta",
"cranelift-codegen-shared",
"cranelift-entity",
"cranelift-isle",
- "gimli 0.26.2",
- "hashbrown 0.12.3",
+ "gimli",
+ "hashbrown 0.13.2",
"log",
"regalloc2",
"smallvec",
@@ -1223,33 +1232,33 @@
[[package]]
name = "cranelift-codegen-meta"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72f2154365e2bff1b1b8537a7181591fdff50d8e27fa6e40d5c69c3bad0ca7c8"
+checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da"
dependencies = [
"cranelift-codegen-shared",
]
[[package]]
name = "cranelift-codegen-shared"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "687e14e3f5775248930e0d5a84195abef8b829958e9794bf8d525104993612b4"
+checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8"
[[package]]
name = "cranelift-entity"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f42ea692c7b450ad18b8c9889661505d51c09ec4380cf1c2d278dbb2da22cae1"
+checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0"
dependencies = [
"serde",
]
[[package]]
name = "cranelift-frontend"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8483c2db6f45fe9ace984e5adc5d058102227e4c62e5aa2054e16b0275fd3a6e"
+checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d"
dependencies = [
"cranelift-codegen",
"log",
@@ -1259,15 +1268,15 @@
[[package]]
name = "cranelift-isle"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9793158837678902446c411741d87b43f57dadfb944f2440db4287cda8cbd59"
+checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba"
[[package]]
name = "cranelift-native"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72668c7755f2b880665cb422c8ad2d56db58a88b9bebfef0b73edc2277c13c49"
+checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00"
dependencies = [
"cranelift-codegen",
"libc",
@@ -1276,9 +1285,9 @@
[[package]]
name = "cranelift-wasm"
-version = "0.93.2"
+version = "0.95.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3852ce4b088b44ac4e29459573943009a70d1b192c8d77ef949b4e814f656fc1"
+checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac"
dependencies = [
"cranelift-codegen",
"cranelift-entity",
@@ -1337,14 +1346,14 @@
[[package]]
name = "crossbeam-epoch"
-version = "0.9.14"
+version = "0.9.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
dependencies = [
"autocfg",
"cfg-if",
"crossbeam-utils",
- "memoffset 0.8.0",
+ "memoffset 0.9.0",
"scopeguard",
]
@@ -1360,9 +1369,9 @@
[[package]]
name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
"cfg-if",
]
@@ -1449,7 +1458,7 @@
[[package]]
name = "cumulus-client-cli"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"clap",
"parity-scale-codec",
@@ -1464,7 +1473,7 @@
[[package]]
name = "cumulus-client-collator"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-client-consensus-common",
"cumulus-client-network",
@@ -1487,13 +1496,20 @@
[[package]]
name = "cumulus-client-consensus-aura"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
+ "cumulus-client-collator",
"cumulus-client-consensus-common",
+ "cumulus-client-consensus-proposer",
"cumulus-primitives-core",
+ "cumulus-primitives-parachain-inherent",
+ "cumulus-relay-chain-interface",
"futures",
"parity-scale-codec",
+ "polkadot-node-primitives",
+ "polkadot-overseer",
+ "polkadot-primitives",
"sc-client-api",
"sc-consensus",
"sc-consensus-aura",
@@ -1509,6 +1525,8 @@
"sp-inherents",
"sp-keystore",
"sp-runtime",
+ "sp-state-machine",
+ "sp-timestamp",
"substrate-prometheus-endpoint",
"tracing",
]
@@ -1516,7 +1534,7 @@
[[package]]
name = "cumulus-client-consensus-common"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-client-pov-recovery",
@@ -1532,15 +1550,32 @@
"schnellru",
"sp-blockchain",
"sp-consensus",
+ "sp-core",
"sp-runtime",
"sp-trie",
+ "substrate-prometheus-endpoint",
"tracing",
]
[[package]]
+name = "cumulus-client-consensus-proposer"
+version = "0.1.0"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
+dependencies = [
+ "anyhow",
+ "async-trait",
+ "cumulus-primitives-parachain-inherent",
+ "sp-consensus",
+ "sp-inherents",
+ "sp-runtime",
+ "sp-state-machine",
+ "thiserror",
+]
+
+[[package]]
name = "cumulus-client-network"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-relay-chain-interface",
@@ -1563,7 +1598,7 @@
[[package]]
name = "cumulus-client-pov-recovery"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1587,7 +1622,7 @@
[[package]]
name = "cumulus-client-service"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-client-cli",
"cumulus-client-collator",
@@ -1622,7 +1657,7 @@
[[package]]
name = "cumulus-pallet-aura-ext"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"frame-support",
"frame-system",
@@ -1638,7 +1673,7 @@
[[package]]
name = "cumulus-pallet-dmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1655,7 +1690,7 @@
[[package]]
name = "cumulus-pallet-parachain-system"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"bytes",
"cumulus-pallet-parachain-system-proc-macro",
@@ -1684,18 +1719,18 @@
[[package]]
name = "cumulus-pallet-parachain-system-proc-macro"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "cumulus-pallet-xcm"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1711,7 +1746,7 @@
[[package]]
name = "cumulus-pallet-xcmp-queue"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1731,7 +1766,7 @@
[[package]]
name = "cumulus-primitives-core"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"parity-scale-codec",
"polkadot-core-primitives",
@@ -1748,7 +1783,7 @@
[[package]]
name = "cumulus-primitives-parachain-inherent"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1771,7 +1806,7 @@
[[package]]
name = "cumulus-primitives-timestamp"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"futures",
@@ -1784,7 +1819,7 @@
[[package]]
name = "cumulus-primitives-utility"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -1802,7 +1837,7 @@
[[package]]
name = "cumulus-relay-chain-inprocess-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1827,7 +1862,7 @@
[[package]]
name = "cumulus-relay-chain-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1845,7 +1880,7 @@
[[package]]
name = "cumulus-relay-chain-minimal-node"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"array-bytes 6.1.0",
"async-trait",
@@ -1883,7 +1918,7 @@
[[package]]
name = "cumulus-relay-chain-rpc-interface"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"async-trait",
"cumulus-primitives-core",
@@ -1913,7 +1948,7 @@
[[package]]
name = "cumulus-test-relay-sproof-builder"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"parity-scale-codec",
@@ -1965,9 +2000,9 @@
[[package]]
name = "cxx"
-version = "1.0.95"
+version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "109308c20e8445959c2792e81871054c6a17e6976489a93d2769641a2ba5839c"
+checksum = "e928d50d5858b744d1ea920b790641129c347a770d1530c3a85b77705a5ee031"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -1977,9 +2012,9 @@
[[package]]
name = "cxx-build"
-version = "1.0.95"
+version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "daf4c6755cdf10798b97510e0e2b3edb9573032bd9379de8fffa59d68165494f"
+checksum = "8332ba63f8a8040ca479de693150129067304a3496674477fff6d0c372cc34ae"
dependencies = [
"cc",
"codespan-reporting",
@@ -1987,24 +2022,24 @@
"proc-macro2",
"quote",
"scratch",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "cxxbridge-flags"
-version = "1.0.95"
+version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "882074421238e84fe3b4c65d0081de34e5b323bf64555d3e61991f76eb64a7bb"
+checksum = "5966a5a87b6e9bb342f5fab7170a93c77096efe199872afffc4b477cfeb86957"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.95"
+version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a076022ece33e7686fb76513518e219cca4fce5750a8ae6d1ce6c0f48fd1af9"
+checksum = "81b2dab6991c7ab1572fea8cb049db819b1aeea1e2dac74c0869f244d9f21a7c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -2081,9 +2116,9 @@
[[package]]
name = "der"
-version = "0.7.6"
+version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56acb310e15652100da43d130af8d97b509e95af61aab1c5a7939ef24337ee17"
+checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946"
dependencies = [
"const-oid",
"zeroize",
@@ -2268,7 +2303,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -2285,9 +2320,9 @@
[[package]]
name = "dtoa"
-version = "1.0.6"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65d09067bfacaa79114679b279d7f5885b53295b1e2cfb4e79c8e4bd3d633169"
+checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
[[package]]
name = "dyn-clonable"
@@ -2312,9 +2347,9 @@
[[package]]
name = "dyn-clone"
-version = "1.0.11"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30"
+checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272"
[[package]]
name = "ecdsa"
@@ -2334,7 +2369,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428"
dependencies = [
- "der 0.7.6",
+ "der 0.7.7",
"digest 0.10.7",
"elliptic-curve 0.13.5",
"rfc6979 0.4.0",
@@ -2427,6 +2462,12 @@
]
[[package]]
+name = "encode_unicode"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+[[package]]
name = "enum-as-inner"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2455,18 +2496,18 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "enumn"
-version = "0.1.8"
+version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48016319042fb7c87b78d2993084a831793a897a5cd1a2a67cab9d1eeb4b7d76"
+checksum = "c9838a970f5de399d3070ae1739e131986b2f5dcc223c7423ca0927e3a878522"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -2502,6 +2543,12 @@
checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b"
[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
name = "errno"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2579,9 +2626,8 @@
[[package]]
name = "evm"
-version = "0.37.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4448c65b71e8e2b9718232d84d09045eeaaccb2320494e6bd6dbf7e58fec8ff"
+version = "0.39.1"
+source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65"
dependencies = [
"auto_impl",
"environmental",
@@ -2634,9 +2680,8 @@
[[package]]
name = "evm-core"
-version = "0.37.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64c51bec0eb68a891c2575c758eaaa1d61373fc51f7caaf216b1fb5c3fea3b5d"
+version = "0.39.0"
+source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65"
dependencies = [
"parity-scale-codec",
"primitive-types",
@@ -2646,9 +2691,8 @@
[[package]]
name = "evm-gasometer"
-version = "0.37.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8b93c59c54fc26522d842f0e0d3f8e8be331c776df18ff3e540b53c2f64d509"
+version = "0.39.0"
+source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65"
dependencies = [
"environmental",
"evm-core",
@@ -2658,9 +2702,8 @@
[[package]]
name = "evm-runtime"
-version = "0.37.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c79b9459ce64f1a28688397c4013764ce53cd57bb84efc16b5187fa9b05b13ad"
+version = "0.39.0"
+source = "git+https://github.com/rust-blockchain/evm?rev=b7b82c7e1fc57b7449d6dfa6826600de37cc1e65#b7b82c7e1fc57b7449d6dfa6826600de37cc1e65"
dependencies = [
"auto_impl",
"environmental",
@@ -2725,7 +2768,7 @@
"fs-err",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -2766,7 +2809,7 @@
checksum = "f5aa1e3ae159e592ad222dc90c5acbad632b527779ba88486abe92782ab268bd"
dependencies = [
"expander 0.0.4",
- "indexmap",
+ "indexmap 1.9.3",
"proc-macro-crate",
"proc-macro2",
"quote",
@@ -2777,10 +2820,9 @@
[[package]]
name = "fc-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"async-trait",
- "fc-db",
"fp-consensus",
"fp-rpc",
"sc-consensus",
@@ -2794,8 +2836,9 @@
[[package]]
name = "fc-db"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
+ "async-trait",
"fp-storage",
"kvdb-rocksdb",
"log",
@@ -2813,7 +2856,7 @@
[[package]]
name = "fc-mapping-sync"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"fc-db",
"fc-storage",
@@ -2834,7 +2877,7 @@
[[package]]
name = "fc-rpc"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2867,6 +2910,7 @@
"sc-transaction-pool",
"sc-transaction-pool-api",
"sc-utils",
+ "serde",
"sp-api",
"sp-block-builder",
"sp-blockchain",
@@ -2883,7 +2927,7 @@
[[package]]
name = "fc-rpc-core"
version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"ethereum-types",
@@ -2896,7 +2940,7 @@
[[package]]
name = "fc-storage"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"ethereum-types",
@@ -3010,7 +3054,7 @@
dependencies = [
"crc32fast",
"libz-sys",
- "miniz_oxide 0.7.1",
+ "miniz_oxide",
]
[[package]]
@@ -3031,7 +3075,7 @@
[[package]]
name = "fork-tree"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
]
@@ -3048,7 +3092,7 @@
[[package]]
name = "fp-account"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"hex",
"impl-serde",
@@ -3060,13 +3104,14 @@
"sp-core",
"sp-io",
"sp-runtime",
+ "sp-runtime-interface",
"sp-std",
]
[[package]]
name = "fp-consensus"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"parity-scale-codec",
@@ -3078,13 +3123,13 @@
[[package]]
name = "fp-ethereum"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"ethereum-types",
"fp-evm",
"frame-support",
- "num_enum",
+ "num_enum 0.6.1",
"parity-scale-codec",
"sp-std",
]
@@ -3092,7 +3137,7 @@
[[package]]
name = "fp-evm"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"evm",
"frame-support",
@@ -3108,7 +3153,7 @@
[[package]]
name = "fp-rpc"
version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"ethereum-types",
@@ -3125,7 +3170,7 @@
[[package]]
name = "fp-self-contained"
version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -3137,7 +3182,7 @@
[[package]]
name = "fp-storage"
version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"parity-scale-codec",
"serde",
@@ -3152,7 +3197,7 @@
[[package]]
name = "frame-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-support-procedural",
@@ -3177,7 +3222,7 @@
[[package]]
name = "frame-benchmarking-cli"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"Inflector",
"array-bytes 4.2.0",
@@ -3224,18 +3269,18 @@
[[package]]
name = "frame-election-provider-solution-type"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "frame-election-provider-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-election-provider-solution-type",
"frame-support",
@@ -3252,7 +3297,7 @@
[[package]]
name = "frame-executive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -3281,10 +3326,11 @@
[[package]]
name = "frame-remote-externalities"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-recursion",
"futures",
+ "indicatif",
"jsonrpsee",
"log",
"parity-scale-codec",
@@ -3292,16 +3338,18 @@
"sp-core",
"sp-io",
"sp-runtime",
+ "spinners",
"substrate-rpc-client",
"tokio",
+ "tokio-retry",
]
[[package]]
name = "frame-support"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"environmental",
"frame-metadata",
"frame-support-procedural",
@@ -3318,6 +3366,7 @@
"sp-arithmetic",
"sp-core",
"sp-core-hashing-proc-macro",
+ "sp-debug-derive",
"sp-inherents",
"sp-io",
"sp-runtime",
@@ -3332,7 +3381,7 @@
[[package]]
name = "frame-support-procedural"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"Inflector",
"cfg-expr",
@@ -3342,36 +3391,37 @@
"proc-macro-warning",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "frame-support-procedural-tools"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support-procedural-tools-derive",
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "frame-support-procedural-tools-derive"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "frame-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
+ "cfg-if",
"frame-support",
"log",
"parity-scale-codec",
@@ -3388,7 +3438,7 @@
[[package]]
name = "frame-system-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -3403,7 +3453,7 @@
[[package]]
name = "frame-system-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -3412,7 +3462,7 @@
[[package]]
name = "frame-try-runtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -3439,11 +3489,11 @@
[[package]]
name = "fs4"
-version = "0.6.5"
+version = "0.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7672706608ecb74ab2e055c68327ffc25ae4cac1e12349204fd5fb0f3487cce2"
+checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47"
dependencies = [
- "rustix 0.37.19",
+ "rustix 0.38.4",
"windows-sys 0.48.0",
]
@@ -3513,7 +3563,7 @@
"futures-io",
"memchr",
"parking",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"waker-fn",
]
@@ -3525,7 +3575,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -3570,7 +3620,7 @@
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"pin-utils",
"slab",
]
@@ -3627,9 +3677,9 @@
[[package]]
name = "getrandom"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
"cfg-if",
"libc",
@@ -3653,25 +3703,19 @@
checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40"
dependencies = [
"opaque-debug 0.3.0",
- "polyval 0.6.0",
+ "polyval 0.6.1",
]
[[package]]
name = "gimli"
-version = "0.26.2"
+version = "0.27.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
dependencies = [
"fallible-iterator",
- "indexmap",
+ "indexmap 1.9.3",
"stable_deref_trait",
]
-
-[[package]]
-name = "gimli"
-version = "0.27.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
[[package]]
name = "glob"
@@ -3681,11 +3725,11 @@
[[package]]
name = "globset"
-version = "0.4.10"
+version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc"
+checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df"
dependencies = [
- "aho-corasick 0.7.20",
+ "aho-corasick",
"bstr",
"fnv",
"log",
@@ -3716,9 +3760,9 @@
[[package]]
name = "h2"
-version = "0.3.19"
+version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782"
+checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
dependencies = [
"bytes",
"fnv",
@@ -3726,7 +3770,7 @@
"futures-sink",
"futures-util",
"http",
- "indexmap",
+ "indexmap 1.9.3",
"slab",
"tokio",
"tokio-util",
@@ -3787,6 +3831,12 @@
]
[[package]]
+name = "hashbrown"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+
+[[package]]
name = "heck"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3803,18 +3853,9 @@
[[package]]
name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
[[package]]
name = "hex"
@@ -3907,7 +3948,7 @@
dependencies = [
"bytes",
"http",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
]
[[package]]
@@ -3936,9 +3977,9 @@
[[package]]
name = "hyper"
-version = "0.14.26"
+version = "0.14.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
dependencies = [
"bytes",
"futures-channel",
@@ -3950,8 +3991,8 @@
"httparse",
"httpdate",
"itoa",
- "pin-project-lite 0.2.9",
- "socket2",
+ "pin-project-lite 0.2.10",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -3976,9 +4017,9 @@
[[package]]
name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
dependencies = [
"android_system_properties",
"core-foundation-sys",
@@ -4103,6 +4144,29 @@
]
[[package]]
+name = "indexmap"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.14.0",
+]
+
+[[package]]
+name = "indicatif"
+version = "0.17.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057"
+dependencies = [
+ "console",
+ "instant",
+ "number_prefix",
+ "portable-atomic",
+ "unicode-width",
+]
+
+[[package]]
name = "inout"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4160,7 +4224,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
- "hermit-abi 0.3.1",
+ "hermit-abi 0.3.2",
"libc",
"windows-sys 0.48.0",
]
@@ -4173,31 +4237,30 @@
[[package]]
name = "ipconfig"
-version = "0.3.1"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be"
+checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
- "socket2",
+ "socket2 0.5.3",
"widestring",
- "winapi",
+ "windows-sys 0.48.0",
"winreg",
]
[[package]]
name = "ipnet"
-version = "2.7.2"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
+checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
[[package]]
name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
- "rustix 0.37.19",
+ "hermit-abi 0.3.2",
+ "rustix 0.38.4",
"windows-sys 0.48.0",
]
@@ -4212,9 +4275,9 @@
[[package]]
name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "jobserver"
@@ -4227,9 +4290,9 @@
[[package]]
name = "js-sys"
-version = "0.3.63"
+version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
dependencies = [
"wasm-bindgen",
]
@@ -4277,7 +4340,7 @@
checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b"
dependencies = [
"anyhow",
- "arrayvec 0.7.2",
+ "arrayvec 0.7.4",
"async-lock",
"async-trait",
"beef",
@@ -4388,7 +4451,7 @@
"ecdsa 0.16.7",
"elliptic-curve 0.13.5",
"once_cell",
- "sha2 0.10.6",
+ "sha2 0.10.7",
]
[[package]]
@@ -4402,8 +4465,8 @@
[[package]]
name = "kusama-runtime"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -4432,10 +4495,11 @@
"pallet-elections-phragmen",
"pallet-fast-unstake",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
+ "pallet-message-queue",
"pallet-multisig",
"pallet-nis",
"pallet-nomination-pools",
@@ -4500,8 +4564,8 @@
[[package]]
name = "kusama-runtime-constants"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -4533,9 +4597,9 @@
[[package]]
name = "kvdb-rocksdb"
-version = "0.18.0"
+version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe7a749456510c45f795e8b04a6a3e0976d0139213ecbf465843830ad55e2217"
+checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6"
dependencies = [
"kvdb",
"num_cpus",
@@ -4559,9 +4623,9 @@
[[package]]
name = "libc"
-version = "0.2.145"
+version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc86cde3ff845662b8f4ef6cb50ea0e20c524eb3d29ae048287e06a1b3fa6a81"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "libloading"
@@ -4587,22 +4651,24 @@
[[package]]
name = "libp2p"
-version = "0.50.1"
+version = "0.51.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7b0104790be871edcf97db9bd2356604984e623a08d825c3f27852290266b8"
+checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097"
dependencies = [
"bytes",
"futures",
"futures-timer",
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"instant",
- "libp2p-core 0.38.0",
+ "libp2p-allow-block-list",
+ "libp2p-connection-limits",
+ "libp2p-core",
"libp2p-dns",
"libp2p-identify",
+ "libp2p-identity",
"libp2p-kad",
"libp2p-mdns",
"libp2p-metrics",
- "libp2p-mplex",
"libp2p-noise",
"libp2p-ping",
"libp2p-quic",
@@ -4613,47 +4679,35 @@
"libp2p-webrtc",
"libp2p-websocket",
"libp2p-yamux",
- "multiaddr 0.16.0",
- "parking_lot 0.12.1",
+ "multiaddr",
"pin-project",
- "smallvec",
]
[[package]]
-name = "libp2p-core"
-version = "0.38.0"
+name = "libp2p-allow-block-list"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f"
+checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50"
dependencies = [
- "asn1_der",
- "bs58",
- "ed25519-dalek",
- "either",
- "fnv",
- "futures",
- "futures-timer",
- "instant",
- "log",
- "multiaddr 0.16.0",
- "multihash 0.16.3",
- "multistream-select",
- "once_cell",
- "parking_lot 0.12.1",
- "pin-project",
- "prost",
- "prost-build",
- "rand 0.8.5",
- "rw-stream-sink",
- "sec1 0.3.0",
- "sha2 0.10.6",
- "smallvec",
- "thiserror",
- "unsigned-varint",
+ "libp2p-core",
+ "libp2p-identity",
+ "libp2p-swarm",
"void",
- "zeroize",
]
[[package]]
+name = "libp2p-connection-limits"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0"
+dependencies = [
+ "libp2p-core",
+ "libp2p-identity",
+ "libp2p-swarm",
+ "void",
+]
+
+[[package]]
name = "libp2p-core"
version = "0.39.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4666,7 +4720,7 @@
"instant",
"libp2p-identity",
"log",
- "multiaddr 0.17.1",
+ "multiaddr",
"multihash 0.17.0",
"multistream-select",
"once_cell",
@@ -4683,12 +4737,12 @@
[[package]]
name = "libp2p-dns"
-version = "0.38.0"
+version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5"
+checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554"
dependencies = [
"futures",
- "libp2p-core 0.38.0",
+ "libp2p-core",
"log",
"parking_lot 0.12.1",
"smallvec",
@@ -4697,20 +4751,21 @@
[[package]]
name = "libp2p-identify"
-version = "0.41.1"
+version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf"
+checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c"
dependencies = [
"asynchronous-codec",
+ "either",
"futures",
"futures-timer",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-swarm",
"log",
- "lru 0.8.1",
- "prost",
- "prost-build",
- "prost-codec",
+ "lru 0.10.1",
+ "quick-protobuf",
+ "quick-protobuf-codec",
"smallvec",
"thiserror",
"void",
@@ -4725,22 +4780,22 @@
"bs58",
"ed25519-dalek",
"log",
- "multiaddr 0.17.1",
+ "multiaddr",
"multihash 0.17.0",
"quick-protobuf",
"rand 0.8.5",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"thiserror",
"zeroize",
]
[[package]]
name = "libp2p-kad"
-version = "0.42.1"
+version = "0.43.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2"
+checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff"
dependencies = [
- "arrayvec 0.7.2",
+ "arrayvec 0.7.4",
"asynchronous-codec",
"bytes",
"either",
@@ -4748,13 +4803,13 @@
"futures",
"futures-timer",
"instant",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-swarm",
"log",
- "prost",
- "prost-build",
+ "quick-protobuf",
"rand 0.8.5",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"smallvec",
"thiserror",
"uint",
@@ -4764,19 +4819,20 @@
[[package]]
name = "libp2p-mdns"
-version = "0.42.0"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b"
+checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b"
dependencies = [
"data-encoding",
"futures",
"if-watch",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-swarm",
"log",
"rand 0.8.5",
"smallvec",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"trust-dns-proto",
"void",
@@ -4784,11 +4840,11 @@
[[package]]
name = "libp2p-metrics"
-version = "0.11.0"
+version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55"
+checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46"
dependencies = [
- "libp2p-core 0.38.0",
+ "libp2p-core",
"libp2p-identify",
"libp2p-kad",
"libp2p-ping",
@@ -4797,39 +4853,21 @@
]
[[package]]
-name = "libp2p-mplex"
-version = "0.38.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace"
-dependencies = [
- "asynchronous-codec",
- "bytes",
- "futures",
- "libp2p-core 0.38.0",
- "log",
- "nohash-hasher",
- "parking_lot 0.12.1",
- "rand 0.8.5",
- "smallvec",
- "unsigned-varint",
-]
-
-[[package]]
name = "libp2p-noise"
-version = "0.41.0"
+version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e"
+checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e"
dependencies = [
"bytes",
"curve25519-dalek 3.2.0",
"futures",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"log",
"once_cell",
- "prost",
- "prost-build",
+ "quick-protobuf",
"rand 0.8.5",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"snow",
"static_assertions",
"thiserror",
@@ -4839,14 +4877,15 @@
[[package]]
name = "libp2p-ping"
-version = "0.41.0"
+version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f"
+checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202"
dependencies = [
+ "either",
"futures",
"futures-timer",
"instant",
- "libp2p-core 0.38.0",
+ "libp2p-core",
"libp2p-swarm",
"log",
"rand 0.8.5",
@@ -4855,15 +4894,16 @@
[[package]]
name = "libp2p-quic"
-version = "0.7.0-alpha"
+version = "0.7.0-alpha.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59"
+checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735"
dependencies = [
"bytes",
"futures",
"futures-timer",
"if-watch",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-tls",
"log",
"parking_lot 0.12.1",
@@ -4876,49 +4916,46 @@
[[package]]
name = "libp2p-request-response"
-version = "0.23.0"
+version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884"
+checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5"
dependencies = [
"async-trait",
- "bytes",
"futures",
"instant",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-swarm",
- "log",
"rand 0.8.5",
"smallvec",
- "unsigned-varint",
]
[[package]]
name = "libp2p-swarm"
-version = "0.41.1"
+version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0"
+checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296"
dependencies = [
"either",
"fnv",
"futures",
"futures-timer",
"instant",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-swarm-derive",
"log",
- "pin-project",
"rand 0.8.5",
"smallvec",
- "thiserror",
"tokio",
"void",
]
[[package]]
name = "libp2p-swarm-derive"
-version = "0.31.0"
+version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400"
+checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f"
dependencies = [
"heck",
"quote",
@@ -4927,17 +4964,17 @@
[[package]]
name = "libp2p-tcp"
-version = "0.38.0"
+version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d"
+checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf"
dependencies = [
"futures",
"futures-timer",
"if-watch",
"libc",
- "libp2p-core 0.38.0",
+ "libp2p-core",
"log",
- "socket2",
+ "socket2 0.4.9",
"tokio",
]
@@ -4949,7 +4986,7 @@
dependencies = [
"futures",
"futures-rustls",
- "libp2p-core 0.39.2",
+ "libp2p-core",
"libp2p-identity",
"rcgen 0.10.0",
"ring",
@@ -4962,13 +4999,13 @@
[[package]]
name = "libp2p-wasm-ext"
-version = "0.38.0"
+version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069"
+checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43"
dependencies = [
"futures",
"js-sys",
- "libp2p-core 0.38.0",
+ "libp2p-core",
"parity-send-wrapper",
"wasm-bindgen",
"wasm-bindgen-futures",
@@ -4976,9 +5013,9 @@
[[package]]
name = "libp2p-webrtc"
-version = "0.4.0-alpha"
+version = "0.4.0-alpha.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a"
+checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8"
dependencies = [
"async-trait",
"asynchronous-codec",
@@ -4987,13 +5024,13 @@
"futures-timer",
"hex",
"if-watch",
- "libp2p-core 0.38.0",
+ "libp2p-core",
+ "libp2p-identity",
"libp2p-noise",
"log",
- "multihash 0.16.3",
- "prost",
- "prost-build",
- "prost-codec",
+ "multihash 0.17.0",
+ "quick-protobuf",
+ "quick-protobuf-codec",
"rand 0.8.5",
"rcgen 0.9.3",
"serde",
@@ -5007,14 +5044,14 @@
[[package]]
name = "libp2p-websocket"
-version = "0.40.0"
+version = "0.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54"
+checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f"
dependencies = [
"either",
"futures",
"futures-rustls",
- "libp2p-core 0.38.0",
+ "libp2p-core",
"log",
"parking_lot 0.12.1",
"quicksink",
@@ -5026,23 +5063,22 @@
[[package]]
name = "libp2p-yamux"
-version = "0.42.0"
+version = "0.43.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29"
+checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda"
dependencies = [
"futures",
- "libp2p-core 0.38.0",
+ "libp2p-core",
"log",
- "parking_lot 0.12.1",
"thiserror",
"yamux",
]
[[package]]
name = "librocksdb-sys"
-version = "0.10.0+7.9.2"
+version = "0.11.0+8.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fe4d5874f5ff2bc616e55e8c6086d478fcda13faf9495768a4aa1c22042d30b"
+checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e"
dependencies = [
"bindgen",
"bzip2-sys",
@@ -5114,9 +5150,9 @@
[[package]]
name = "link-cplusplus"
-version = "1.0.8"
+version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5"
+checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9"
dependencies = [
"cc",
]
@@ -5138,9 +5174,9 @@
[[package]]
name = "linregress"
-version = "0.5.1"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "475015a7f8f017edb28d2e69813be23500ad4b32cfe3421c4148efc97324ee52"
+checksum = "4de0b5f52a9f84544d268f5fabb71b38962d6aa3c6600b8bcd27d44ccf9c9c45"
dependencies = [
"nalgebra",
]
@@ -5158,10 +5194,16 @@
checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
[[package]]
+name = "linux-raw-sys"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
+
+[[package]]
name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
dependencies = [
"autocfg",
"scopeguard",
@@ -5169,9 +5211,9 @@
[[package]]
name = "log"
-version = "0.4.18"
+version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de"
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
[[package]]
name = "lru"
@@ -5192,6 +5234,15 @@
]
[[package]]
+name = "lru"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670"
+dependencies = [
+ "hashbrown 0.13.2",
+]
+
+[[package]]
name = "lru-cache"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5230,6 +5281,12 @@
]
[[package]]
+name = "maplit"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
+
+[[package]]
name = "match_cfg"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5241,7 +5298,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1"
dependencies = [
- "regex-automata",
+ "regex-automata 0.1.10",
]
[[package]]
@@ -5281,7 +5338,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e"
dependencies = [
- "rustix 0.37.19",
+ "rustix 0.37.23",
]
[[package]]
@@ -5312,6 +5369,15 @@
]
[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
name = "memory-db"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5354,15 +5420,6 @@
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
[[package]]
name = "miniz_oxide"
@@ -5387,7 +5444,7 @@
[[package]]
name = "mmr-gadget"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"log",
@@ -5406,7 +5463,7 @@
[[package]]
name = "mmr-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"anyhow",
"jsonrpsee",
@@ -5444,24 +5501,6 @@
"proc-macro2",
"quote",
"syn 1.0.109",
-]
-
-[[package]]
-name = "multiaddr"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e"
-dependencies = [
- "arrayref",
- "byteorder",
- "data-encoding",
- "multibase",
- "multihash 0.16.3",
- "percent-encoding",
- "serde",
- "static_assertions",
- "unsigned-varint",
- "url",
]
[[package]]
@@ -5506,7 +5545,7 @@
"core2",
"digest 0.10.7",
"multihash-derive",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"sha3 0.10.8",
"unsigned-varint",
]
@@ -5518,7 +5557,9 @@
checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40"
dependencies = [
"core2",
+ "digest 0.10.7",
"multihash-derive",
+ "sha2 0.10.7",
"unsigned-varint",
]
@@ -5558,9 +5599,9 @@
[[package]]
name = "nalgebra"
-version = "0.32.2"
+version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d68d47bba83f9e2006d117a9a33af1524e655516b8919caac694427a6fb1e511"
+checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa"
dependencies = [
"approx",
"matrixmultiply",
@@ -5574,9 +5615,9 @@
[[package]]
name = "nalgebra-macros"
-version = "0.2.0"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d232c68884c0c99810a5a4d333ef7e47689cfd0edc85efc9e54e1e6bf5212766"
+checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998"
dependencies = [
"proc-macro2",
"quote",
@@ -5617,7 +5658,7 @@
checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab"
dependencies = [
"anyhow",
- "bitflags",
+ "bitflags 1.3.2",
"byteorder",
"libc",
"netlink-packet-core",
@@ -5670,7 +5711,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cfg-if",
"libc",
"memoffset 0.6.5",
@@ -5724,7 +5765,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
dependencies = [
- "arrayvec 0.7.2",
+ "arrayvec 0.7.4",
"itoa",
]
@@ -5761,11 +5802,11 @@
[[package]]
name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi 0.3.2",
"libc",
]
@@ -5775,7 +5816,16 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
dependencies = [
- "num_enum_derive",
+ "num_enum_derive 0.5.11",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1"
+dependencies = [
+ "num_enum_derive 0.6.1",
]
[[package]]
@@ -5784,29 +5834,46 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
dependencies = [
- "proc-macro-crate",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
+name = "num_enum_derive"
+version = "0.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.26",
+]
+
+[[package]]
+name = "number_prefix"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+
+[[package]]
name = "object"
-version = "0.29.0"
+version = "0.30.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
+checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
dependencies = [
"crc32fast",
- "hashbrown 0.12.3",
- "indexmap",
+ "hashbrown 0.13.2",
+ "indexmap 1.9.3",
"memchr",
]
[[package]]
name = "object"
-version = "0.30.3"
+version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
dependencies = [
"memchr",
]
@@ -5837,7 +5904,7 @@
[[package]]
name = "opal-runtime"
-version = "0.9.42"
+version = "0.9.43"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -5863,7 +5930,7 @@
"hex-literal",
"impl-trait-for-tuples",
"log",
- "num_enum",
+ "num_enum 0.5.11",
"orml-tokens",
"orml-traits",
"orml-vesting",
@@ -5999,7 +6066,7 @@
[[package]]
name = "orml-tokens"
version = "0.4.1-dev"
-source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.42#4890cd1a55486394a7c70471c98d8b02dd2b22bf"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.43#28a2e6f0df9540d91db4018c7ecebb8bfc217a2a"
dependencies = [
"frame-support",
"frame-system",
@@ -6015,7 +6082,7 @@
[[package]]
name = "orml-traits"
version = "0.4.1-dev"
-source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.42#4890cd1a55486394a7c70471c98d8b02dd2b22bf"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.43#28a2e6f0df9540d91db4018c7ecebb8bfc217a2a"
dependencies = [
"frame-support",
"impl-trait-for-tuples",
@@ -6034,7 +6101,7 @@
[[package]]
name = "orml-utilities"
version = "0.4.1-dev"
-source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.42#4890cd1a55486394a7c70471c98d8b02dd2b22bf"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.43#28a2e6f0df9540d91db4018c7ecebb8bfc217a2a"
dependencies = [
"frame-support",
"parity-scale-codec",
@@ -6048,7 +6115,7 @@
[[package]]
name = "orml-vesting"
version = "0.4.1-dev"
-source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.42#4890cd1a55486394a7c70471c98d8b02dd2b22bf"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.43#28a2e6f0df9540d91db4018c7ecebb8bfc217a2a"
dependencies = [
"frame-support",
"frame-system",
@@ -6063,7 +6130,7 @@
[[package]]
name = "orml-xcm-support"
version = "0.4.1-dev"
-source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.42#4890cd1a55486394a7c70471c98d8b02dd2b22bf"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.43#28a2e6f0df9540d91db4018c7ecebb8bfc217a2a"
dependencies = [
"frame-support",
"orml-traits",
@@ -6077,7 +6144,7 @@
[[package]]
name = "orml-xtokens"
version = "0.4.1-dev"
-source = "git+https://github.com/uniquenetwork/open-runtime-module-library?branch=polkadot-v0.9.42#4890cd1a55486394a7c70471c98d8b02dd2b22bf"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.43#28a2e6f0df9540d91db4018c7ecebb8bfc217a2a"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -6103,7 +6170,7 @@
dependencies = [
"ecdsa 0.14.8",
"elliptic-curve 0.12.3",
- "sha2 0.10.6",
+ "sha2 0.10.7",
]
[[package]]
@@ -6114,7 +6181,7 @@
dependencies = [
"ecdsa 0.14.8",
"elliptic-curve 0.12.3",
- "sha2 0.10.6",
+ "sha2 0.10.7",
]
[[package]]
@@ -6152,7 +6219,7 @@
[[package]]
name = "pallet-aura"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -6168,7 +6235,7 @@
[[package]]
name = "pallet-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -6184,7 +6251,7 @@
[[package]]
name = "pallet-authorship"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -6198,7 +6265,7 @@
[[package]]
name = "pallet-babe"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6222,7 +6289,7 @@
[[package]]
name = "pallet-bags-list"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6242,7 +6309,7 @@
[[package]]
name = "pallet-balances"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6278,7 +6345,7 @@
[[package]]
name = "pallet-base-fee"
version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"fp-evm",
"frame-support",
@@ -6292,7 +6359,7 @@
[[package]]
name = "pallet-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -6311,7 +6378,7 @@
[[package]]
name = "pallet-beefy-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"binary-merkle-tree",
@@ -6335,7 +6402,7 @@
[[package]]
name = "pallet-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6353,7 +6420,7 @@
[[package]]
name = "pallet-child-bounties"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6398,7 +6465,7 @@
[[package]]
name = "pallet-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6452,7 +6519,7 @@
[[package]]
name = "pallet-conviction-voting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"assert_matches",
"frame-benchmarking",
@@ -6469,7 +6536,7 @@
[[package]]
name = "pallet-democracy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6487,7 +6554,7 @@
[[package]]
name = "pallet-election-provider-multi-phase"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6510,7 +6577,7 @@
[[package]]
name = "pallet-election-provider-support-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6523,7 +6590,7 @@
[[package]]
name = "pallet-elections-phragmen"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6541,7 +6608,7 @@
[[package]]
name = "pallet-ethereum"
version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"ethereum",
"ethereum-types",
@@ -6564,7 +6631,7 @@
[[package]]
name = "pallet-evm"
version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"environmental",
"evm",
@@ -6574,6 +6641,7 @@
"frame-support",
"frame-system",
"hex",
+ "hex-literal",
"impl-trait-for-tuples",
"log",
"parity-scale-codec",
@@ -6643,7 +6711,7 @@
[[package]]
name = "pallet-evm-precompile-simple"
version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.42-1#cf3f4f309c7b053c29a619b78fd27b744cbe020a"
+source = "git+https://github.com/uniquenetwork/unique-frontier?branch=unique-polkadot-v0.9.43#00906ecb5f250cd0965a038ed4b802c9850df080"
dependencies = [
"fp-evm",
"ripemd",
@@ -6669,7 +6737,7 @@
[[package]]
name = "pallet-fast-unstake"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6729,7 +6797,7 @@
[[package]]
name = "pallet-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6769,7 +6837,7 @@
[[package]]
name = "pallet-identity"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"enumflags2",
"frame-benchmarking",
@@ -6785,7 +6853,7 @@
[[package]]
name = "pallet-im-online"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6805,7 +6873,7 @@
[[package]]
name = "pallet-indices"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6851,7 +6919,24 @@
[[package]]
name = "pallet-membership"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
+name = "pallet-message-queue"
+version = "7.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6859,16 +6944,18 @@
"log",
"parity-scale-codec",
"scale-info",
+ "sp-arithmetic",
"sp-core",
"sp-io",
"sp-runtime",
"sp-std",
+ "sp-weights",
]
[[package]]
name = "pallet-mmr"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6885,7 +6972,7 @@
[[package]]
name = "pallet-multisig"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6901,7 +6988,7 @@
[[package]]
name = "pallet-nis"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -6917,7 +7004,7 @@
[[package]]
name = "pallet-nomination-pools"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -6934,7 +7021,7 @@
[[package]]
name = "pallet-nomination-pools-benchmarking"
version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -6954,7 +7041,7 @@
[[package]]
name = "pallet-nomination-pools-runtime-api"
version = "1.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"pallet-nomination-pools",
"parity-scale-codec",
@@ -6986,7 +7073,7 @@
[[package]]
name = "pallet-offences"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -7003,7 +7090,7 @@
[[package]]
name = "pallet-offences-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -7027,7 +7114,7 @@
[[package]]
name = "pallet-preimage"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7044,7 +7131,7 @@
[[package]]
name = "pallet-proxy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7059,7 +7146,7 @@
[[package]]
name = "pallet-ranked-collective"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7077,7 +7164,7 @@
[[package]]
name = "pallet-recovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7092,7 +7179,7 @@
[[package]]
name = "pallet-referenda"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"assert_matches",
"frame-benchmarking",
@@ -7131,7 +7218,7 @@
[[package]]
name = "pallet-scheduler"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7148,7 +7235,7 @@
[[package]]
name = "pallet-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -7169,7 +7256,7 @@
[[package]]
name = "pallet-session-benchmarking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7185,7 +7272,7 @@
[[package]]
name = "pallet-society"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -7199,7 +7286,7 @@
[[package]]
name = "pallet-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-election-provider-support",
@@ -7222,18 +7309,18 @@
[[package]]
name = "pallet-staking-reward-curve"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "pallet-staking-reward-fn"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"log",
"sp-arithmetic",
@@ -7242,7 +7329,7 @@
[[package]]
name = "pallet-staking-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -7251,7 +7338,7 @@
[[package]]
name = "pallet-state-trie-migration"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7284,8 +7371,9 @@
[[package]]
name = "pallet-sudo"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
+ "frame-benchmarking",
"frame-support",
"frame-system",
"parity-scale-codec",
@@ -7298,7 +7386,7 @@
[[package]]
name = "pallet-template-transaction-payment"
version = "3.0.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.42#be3a4a92920866f234c66eff18df9c624bb7dfc4"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.43#bd6e4a2a97b1415c22f96512b857d9615cbe2f81"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7330,7 +7418,7 @@
[[package]]
name = "pallet-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7348,7 +7436,7 @@
[[package]]
name = "pallet-tips"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7367,7 +7455,7 @@
[[package]]
name = "pallet-transaction-payment"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-support",
"frame-system",
@@ -7383,7 +7471,7 @@
[[package]]
name = "pallet-transaction-payment-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"jsonrpsee",
"pallet-transaction-payment-rpc-runtime-api",
@@ -7399,7 +7487,7 @@
[[package]]
name = "pallet-transaction-payment-rpc-runtime-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"pallet-transaction-payment",
"parity-scale-codec",
@@ -7411,7 +7499,7 @@
[[package]]
name = "pallet-treasury"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7470,7 +7558,7 @@
[[package]]
name = "pallet-utility"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7486,7 +7574,7 @@
[[package]]
name = "pallet-vesting"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7501,7 +7589,7 @@
[[package]]
name = "pallet-whitelist"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7515,8 +7603,8 @@
[[package]]
name = "pallet-xcm"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bounded-collections",
"frame-benchmarking",
@@ -7536,8 +7624,8 @@
[[package]]
name = "pallet-xcm-benchmarks"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"frame-benchmarking",
"frame-support",
@@ -7556,7 +7644,7 @@
[[package]]
name = "parachain-info"
version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.42#f603a61ff370fc33740c9373833c3c6ba1486846"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.43#b8999fce0f61fb757f9e57e326cda48e70137019"
dependencies = [
"cumulus-primitives-core",
"frame-support",
@@ -7567,9 +7655,9 @@
[[package]]
name = "parity-db"
-version = "0.4.8"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4890dcb9556136a4ec2b0c51fa4a08c8b733b829506af8fff2e853f3a065985b"
+checksum = "0dab3ac198341b2f0fec6e7f8a6eeed07a41201d98a124260611598c142e76df"
dependencies = [
"blake2",
"crc32fast",
@@ -7587,11 +7675,11 @@
[[package]]
name = "parity-scale-codec"
-version = "3.5.0"
+version = "3.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ddb756ca205bd108aee3c62c6d3c994e1df84a59b9d6d4a5ea42ee1fd5a9a28"
+checksum = "756d439303e94fae44f288ba881ad29670c65b0c4b0e05674ca81061bb65f2c5"
dependencies = [
- "arrayvec 0.7.2",
+ "arrayvec 0.7.4",
"bitvec",
"byte-slice-cast",
"bytes",
@@ -7602,9 +7690,9 @@
[[package]]
name = "parity-scale-codec-derive"
-version = "3.1.4"
+version = "3.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b"
+checksum = "9d884d78fcf214d70b1e239fcd1c6e5e95aa3be1881918da2e488cc946c7a476"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -7648,7 +7736,7 @@
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.7",
+ "parking_lot_core 0.9.8",
]
[[package]]
@@ -7667,22 +7755,28 @@
[[package]]
name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall 0.2.16",
+ "redox_syscall 0.3.5",
"smallvec",
- "windows-sys 0.45.0",
+ "windows-targets 0.48.1",
]
[[package]]
+name = "partial_sort"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156"
+
+[[package]]
name = "paste"
-version = "1.0.12"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pbkdf2"
@@ -7734,9 +7828,9 @@
[[package]]
name = "pest"
-version = "2.6.0"
+version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70"
+checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9"
dependencies = [
"thiserror",
"ucd-trie",
@@ -7744,9 +7838,9 @@
[[package]]
name = "pest_derive"
-version = "2.6.0"
+version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b79d4c71c865a25a4322296122e3924d30bc8ee0834c8bfc8b95f7f054afbfb"
+checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b"
dependencies = [
"pest",
"pest_generator",
@@ -7754,26 +7848,26 @@
[[package]]
name = "pest_generator"
-version = "2.6.0"
+version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e"
+checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "pest_meta"
-version = "2.6.0"
+version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411"
+checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0"
dependencies = [
"once_cell",
"pest",
- "sha2 0.10.6",
+ "sha2 0.10.7",
]
[[package]]
@@ -7783,27 +7877,27 @@
checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
dependencies = [
"fixedbitset",
- "indexmap",
+ "indexmap 1.9.3",
]
[[package]]
name = "pin-project"
-version = "1.1.0"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.0"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -7814,9 +7908,9 @@
[[package]]
name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
[[package]]
name = "pin-utils"
@@ -7840,7 +7934,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
- "der 0.7.6",
+ "der 0.7.7",
"spki 0.7.2",
]
@@ -7864,8 +7958,8 @@
[[package]]
name = "polkadot-approval-distribution"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"polkadot-node-jaeger",
@@ -7880,8 +7974,8 @@
[[package]]
name = "polkadot-availability-bitfield-distribution"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"polkadot-node-network-protocol",
@@ -7894,8 +7988,8 @@
[[package]]
name = "polkadot-availability-distribution"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"derive_more",
"fatality",
@@ -7917,8 +8011,8 @@
[[package]]
name = "polkadot-availability-recovery"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"fatality",
"futures",
@@ -7938,8 +8032,8 @@
[[package]]
name = "polkadot-cli"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"clap",
"frame-benchmarking-cli",
@@ -7967,8 +8061,8 @@
[[package]]
name = "polkadot-client"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"frame-benchmarking",
@@ -8009,8 +8103,8 @@
[[package]]
name = "polkadot-collator-protocol"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"always-assert",
"bitvec",
@@ -8031,8 +8125,8 @@
[[package]]
name = "polkadot-core-primitives"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -8043,14 +8137,14 @@
[[package]]
name = "polkadot-dispute-distribution"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"derive_more",
"fatality",
"futures",
"futures-timer",
- "indexmap",
+ "indexmap 1.9.3",
"lru 0.9.0",
"parity-scale-codec",
"polkadot-erasure-coding",
@@ -8068,8 +8162,8 @@
[[package]]
name = "polkadot-erasure-coding"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"parity-scale-codec",
"polkadot-node-primitives",
@@ -8082,8 +8176,8 @@
[[package]]
name = "polkadot-gossip-support"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"futures-timer",
@@ -8102,8 +8196,8 @@
[[package]]
name = "polkadot-network-bridge"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"always-assert",
"async-trait",
@@ -8125,8 +8219,8 @@
[[package]]
name = "polkadot-node-collation-generation"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"parity-scale-codec",
@@ -8143,8 +8237,8 @@
[[package]]
name = "polkadot-node-core-approval-voting"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"derive_more",
@@ -8172,8 +8266,8 @@
[[package]]
name = "polkadot-node-core-av-store"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"futures",
@@ -8193,8 +8287,8 @@
[[package]]
name = "polkadot-node-core-backing"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"fatality",
@@ -8212,8 +8306,8 @@
[[package]]
name = "polkadot-node-core-bitfield-signing"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"polkadot-node-subsystem",
@@ -8227,8 +8321,8 @@
[[package]]
name = "polkadot-node-core-candidate-validation"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"futures",
@@ -8247,8 +8341,8 @@
[[package]]
name = "polkadot-node-core-chain-api"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"polkadot-node-metrics",
@@ -8262,8 +8356,8 @@
[[package]]
name = "polkadot-node-core-chain-selection"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"futures-timer",
@@ -8279,8 +8373,8 @@
[[package]]
name = "polkadot-node-core-dispute-coordinator"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"fatality",
"futures",
@@ -8298,8 +8392,8 @@
[[package]]
name = "polkadot-node-core-parachains-inherent"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"futures",
@@ -8315,8 +8409,8 @@
[[package]]
name = "polkadot-node-core-provisioner"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"fatality",
@@ -8333,8 +8427,8 @@
[[package]]
name = "polkadot-node-core-pvf"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"always-assert",
"futures",
@@ -8360,8 +8454,8 @@
[[package]]
name = "polkadot-node-core-pvf-checker"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"polkadot-node-primitives",
@@ -8376,8 +8470,8 @@
[[package]]
name = "polkadot-node-core-pvf-worker"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"assert_matches",
"cpu-time",
@@ -8405,8 +8499,8 @@
[[package]]
name = "polkadot-node-core-runtime-api"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"futures",
"lru 0.9.0",
@@ -8420,8 +8514,8 @@
[[package]]
name = "polkadot-node-jaeger"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"lazy_static",
"log",
@@ -8438,8 +8532,8 @@
[[package]]
name = "polkadot-node-metrics"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bs58",
"futures",
@@ -8457,9 +8551,10 @@
[[package]]
name = "polkadot-node-network-protocol"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
+ "async-channel",
"async-trait",
"derive_more",
"fatality",
@@ -8479,8 +8574,8 @@
[[package]]
name = "polkadot-node-primitives"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bounded-vec",
"futures",
@@ -8501,8 +8596,8 @@
[[package]]
name = "polkadot-node-subsystem"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"polkadot-node-jaeger",
"polkadot-node-subsystem-types",
@@ -8511,8 +8606,8 @@
[[package]]
name = "polkadot-node-subsystem-types"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"derive_more",
@@ -8534,8 +8629,8 @@
[[package]]
name = "polkadot-node-subsystem-util"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"derive_more",
@@ -8567,8 +8662,8 @@
[[package]]
name = "polkadot-overseer"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"futures",
@@ -8590,8 +8685,8 @@
[[package]]
name = "polkadot-parachain"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bounded-collections",
"derive_more",
@@ -8607,8 +8702,8 @@
[[package]]
name = "polkadot-performance-test"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"env_logger 0.9.3",
"kusama-runtime",
@@ -8625,8 +8720,8 @@
[[package]]
name = "polkadot-primitives"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"hex-literal",
@@ -8651,8 +8746,8 @@
[[package]]
name = "polkadot-rpc"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"jsonrpsee",
"mmr-rpc",
@@ -8683,8 +8778,8 @@
[[package]]
name = "polkadot-runtime"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -8712,10 +8807,11 @@
"pallet-elections-phragmen",
"pallet-fast-unstake",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
+ "pallet-message-queue",
"pallet-multisig",
"pallet-nomination-pools",
"pallet-nomination-pools-benchmarking",
@@ -8777,8 +8873,8 @@
[[package]]
name = "polkadot-runtime-common"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -8823,8 +8919,8 @@
[[package]]
name = "polkadot-runtime-constants"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -8837,8 +8933,8 @@
[[package]]
name = "polkadot-runtime-metrics"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bs58",
"parity-scale-codec",
@@ -8849,10 +8945,10 @@
[[package]]
name = "polkadot-runtime-parachains"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"bitvec",
"derive_more",
"frame-benchmarking",
@@ -8863,6 +8959,7 @@
"pallet-authorship",
"pallet-babe",
"pallet-balances",
+ "pallet-message-queue",
"pallet-session",
"pallet-staking",
"pallet-timestamp",
@@ -8893,8 +8990,8 @@
[[package]]
name = "polkadot-service"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"async-trait",
"frame-benchmarking-cli",
@@ -9002,13 +9099,13 @@
[[package]]
name = "polkadot-statement-distribution"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"arrayvec 0.5.2",
"fatality",
"futures",
- "indexmap",
+ "indexmap 1.9.3",
"parity-scale-codec",
"polkadot-node-network-protocol",
"polkadot-node-primitives",
@@ -9023,8 +9120,8 @@
[[package]]
name = "polkadot-statement-table"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"parity-scale-codec",
"polkadot-primitives",
@@ -9038,12 +9135,12 @@
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
dependencies = [
"autocfg",
- "bitflags",
+ "bitflags 1.3.2",
"cfg-if",
"concurrent-queue",
"libc",
"log",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"windows-sys 0.48.0",
]
@@ -9072,9 +9169,9 @@
[[package]]
name = "polyval"
-version = "0.6.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6"
+checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -9083,6 +9180,12 @@
]
[[package]]
+name = "portable-atomic"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "edc55135a600d700580e406b4de0d59cb9ad25e344a3a091a97ded2622ec4ec6"
+
+[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9092,7 +9195,7 @@
name = "precompile-utils-macro"
version = "0.1.0"
dependencies = [
- "num_enum",
+ "num_enum 0.5.11",
"proc-macro2",
"quote",
"sha3 0.8.2",
@@ -9140,6 +9243,16 @@
]
[[package]]
+name = "prettyplease"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92139198957b410250d43fad93e630d956499a625c527eda65175c8680f83387"
+dependencies = [
+ "proc-macro2",
+ "syn 2.0.26",
+]
+
+[[package]]
name = "primitive-types"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9211,14 +9324,14 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "proc-macro2"
-version = "1.0.63"
+version = "1.0.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+checksum = "92de25114670a878b1261c79c9f8f729fb97e95bac93f6312f583c60dd6a1dfe"
dependencies = [
"unicode-ident",
]
@@ -9239,21 +9352,21 @@
[[package]]
name = "prometheus-client"
-version = "0.18.1"
+version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c"
+checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e"
dependencies = [
"dtoa",
"itoa",
"parking_lot 0.12.1",
- "prometheus-client-derive-text-encode",
+ "prometheus-client-derive-encode",
]
[[package]]
-name = "prometheus-client-derive-text-encode"
-version = "0.3.0"
+name = "prometheus-client-derive-encode"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd"
+checksum = "72b6a5217beb0ad503ee7fa752d451c905113d70721b937126158f3106a48cc1"
dependencies = [
"proc-macro2",
"quote",
@@ -9283,7 +9396,7 @@
"log",
"multimap",
"petgraph",
- "prettyplease",
+ "prettyplease 0.1.25",
"prost",
"prost-types",
"regex",
@@ -9293,19 +9406,6 @@
]
[[package]]
-name = "prost-codec"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0"
-dependencies = [
- "asynchronous-codec",
- "bytes",
- "prost",
- "thiserror",
- "unsigned-varint",
-]
-
-[[package]]
name = "prost-derive"
version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9338,7 +9438,7 @@
[[package]]
name = "quartz-runtime"
-version = "0.9.42"
+version = "0.9.43"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -9364,7 +9464,7 @@
"hex-literal",
"impl-trait-for-tuples",
"log",
- "num_enum",
+ "num_enum 0.5.11",
"orml-tokens",
"orml-traits",
"orml-vesting",
@@ -9453,6 +9553,19 @@
]
[[package]]
+name = "quick-protobuf-codec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b"
+dependencies = [
+ "asynchronous-codec",
+ "bytes",
+ "quick-protobuf",
+ "thiserror",
+ "unsigned-varint",
+]
+
+[[package]]
name = "quicksink"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9483,9 +9596,9 @@
[[package]]
name = "quote"
-version = "1.0.28"
+version = "1.0.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+checksum = "5907a1b7c277254a8b15170f6e7c97cfa60ee7872a3217663bb81151e48184bb"
dependencies = [
"proc-macro2",
]
@@ -9555,7 +9668,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
]
[[package]]
@@ -9612,7 +9725,7 @@
dependencies = [
"pem",
"ring",
- "time 0.3.21",
+ "time 0.3.23",
"x509-parser 0.13.2",
"yasna",
]
@@ -9625,7 +9738,7 @@
dependencies = [
"pem",
"ring",
- "time 0.3.21",
+ "time 0.3.23",
"yasna",
]
@@ -9635,7 +9748,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
@@ -9644,7 +9757,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
@@ -9653,7 +9766,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
"redox_syscall 0.2.16",
"thiserror",
]
@@ -9673,29 +9786,29 @@
[[package]]
name = "ref-cast"
-version = "1.0.16"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43faa91b1c8b36841ee70e97188a869d37ae21759da6846d4be66de5bf7b12c"
+checksum = "1641819477c319ef452a075ac34a4be92eb9ba09f6841f62d594d50fdcf0bf6b"
dependencies = [
"ref-cast-impl",
]
[[package]]
name = "ref-cast-impl"
-version = "1.0.16"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d2275aab483050ab2a7364c1a46604865ee7d6906684e08db0f090acf74f9e7"
+checksum = "68bf53dad9b6086826722cdc99140793afd9f62faa14a1ad07eb4f955e7a7216"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "regalloc2"
-version = "0.5.1"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "300d4fbfb40c1c66a78ba3ddd41c1110247cf52f97b87d0f2fc9209bd49b030c"
+checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621"
dependencies = [
"fxhash",
"log",
@@ -9705,13 +9818,14 @@
[[package]]
name = "regex"
-version = "1.8.4"
+version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
dependencies = [
- "aho-corasick 1.0.2",
+ "aho-corasick",
"memchr",
- "regex-syntax 0.7.2",
+ "regex-automata 0.3.3",
+ "regex-syntax 0.7.4",
]
[[package]]
@@ -9724,6 +9838,17 @@
]
[[package]]
+name = "regex-automata"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.7.4",
+]
+
+[[package]]
name = "regex-syntax"
version = "0.6.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9731,21 +9856,9 @@
[[package]]
name = "regex-syntax"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
-
-[[package]]
-name = "region"
-version = "3.0.0"
+version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76e189c2369884dce920945e2ddf79b3dff49e071a167dd1817fa9c4c00d512e"
-dependencies = [
- "bitflags",
- "libc",
- "mach",
- "winapi",
-]
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
[[package]]
name = "resolv-conf"
@@ -9826,9 +9939,9 @@
[[package]]
name = "rocksdb"
-version = "0.20.1"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "015439787fce1e75d55f279078d33ff14b4af5d93d995e8838ee4631301c8a99"
+checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe"
dependencies = [
"libc",
"librocksdb-sys",
@@ -9836,8 +9949,8 @@
[[package]]
name = "rococo-runtime"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"binary-merkle-tree",
"frame-benchmarking",
@@ -9861,10 +9974,11 @@
"pallet-democracy",
"pallet-elections-phragmen",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
+ "pallet-message-queue",
"pallet-mmr",
"pallet-multisig",
"pallet-nis",
@@ -9922,8 +10036,8 @@
[[package]]
name = "rococo-runtime-constants"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -10019,7 +10133,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
- "semver 1.0.17",
+ "semver 1.0.18",
]
[[package]]
@@ -10033,11 +10147,11 @@
[[package]]
name = "rustix"
-version = "0.36.14"
+version = "0.36.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14e4d67015953998ad0eb82887a0eb0129e18a7e2f3b7b0f6c422fddcd503d62"
+checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
@@ -10047,11 +10161,11 @@
[[package]]
name = "rustix"
-version = "0.37.19"
+version = "0.37.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"errno",
"io-lifetimes",
"libc",
@@ -10060,6 +10174,19 @@
]
[[package]]
+name = "rustix"
+version = "0.38.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
+dependencies = [
+ "bitflags 2.3.3",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.4.3",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
name = "rustls"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -10086,9 +10213,9 @@
[[package]]
name = "rustls-native-certs"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50"
+checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
dependencies = [
"openssl-probe",
"rustls-pemfile",
@@ -10098,18 +10225,18 @@
[[package]]
name = "rustls-pemfile"
-version = "1.0.2"
+version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
dependencies = [
"base64 0.21.2",
]
[[package]]
name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
[[package]]
name = "rw-stream-sink"
@@ -10124,15 +10251,15 @@
[[package]]
name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
[[package]]
name = "safe_arch"
-version = "0.6.0"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "794821e4ccb0d9f979512f9c1973480123f9bd62a90d74ab0f9426fcf8f4a529"
+checksum = "62a7484307bd40f8f7ccbacccac730108f2cae119a3b11c74485b48aa9ea650f"
dependencies = [
"bytemuck",
]
@@ -10149,7 +10276,7 @@
[[package]]
name = "sc-allocator"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"log",
"sp-core",
@@ -10160,7 +10287,7 @@
[[package]]
name = "sc-authority-discovery"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
@@ -10168,6 +10295,7 @@
"ip_network",
"libp2p",
"log",
+ "multihash 0.17.0",
"parity-scale-codec",
"prost",
"prost-build",
@@ -10188,7 +10316,7 @@
[[package]]
name = "sc-basic-authorship"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"futures-timer",
@@ -10211,7 +10339,7 @@
[[package]]
name = "sc-block-builder"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"sc-client-api",
@@ -10226,7 +10354,7 @@
[[package]]
name = "sc-chain-spec"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"memmap2",
"sc-chain-spec-derive",
@@ -10245,25 +10373,25 @@
[[package]]
name = "sc-chain-spec-derive"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sc-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"chrono",
"clap",
"fdlimit",
"futures",
- "libp2p",
+ "libp2p-identity",
"log",
"names",
"parity-scale-codec",
@@ -10296,7 +10424,7 @@
[[package]]
name = "sc-client-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"fnv",
"futures",
@@ -10315,6 +10443,7 @@
"sp-keystore",
"sp-runtime",
"sp-state-machine",
+ "sp-statement-store",
"sp-storage",
"substrate-prometheus-endpoint",
]
@@ -10322,7 +10451,7 @@
[[package]]
name = "sc-client-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"hash-db 0.16.0",
"kvdb",
@@ -10348,12 +10477,12 @@
[[package]]
name = "sc-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
"futures-timer",
- "libp2p",
+ "libp2p-identity",
"log",
"mockall",
"parking_lot 0.12.1",
@@ -10373,7 +10502,7 @@
[[package]]
name = "sc-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
@@ -10402,7 +10531,7 @@
[[package]]
name = "sc-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"fork-tree",
@@ -10438,7 +10567,7 @@
[[package]]
name = "sc-consensus-babe-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"jsonrpsee",
@@ -10460,9 +10589,10 @@
[[package]]
name = "sc-consensus-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
+ "async-channel",
"async-trait",
"fnv",
"futures",
@@ -10495,7 +10625,7 @@
[[package]]
name = "sc-consensus-beefy-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"jsonrpsee",
@@ -10514,7 +10644,7 @@
[[package]]
name = "sc-consensus-epochs"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"fork-tree",
"parity-scale-codec",
@@ -10527,7 +10657,7 @@
[[package]]
name = "sc-consensus-grandpa"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ahash 0.8.3",
"array-bytes 4.2.0",
@@ -10567,7 +10697,7 @@
[[package]]
name = "sc-consensus-grandpa-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"finality-grandpa",
"futures",
@@ -10587,11 +10717,12 @@
[[package]]
name = "sc-consensus-manual-seal"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"assert_matches",
"async-trait",
"futures",
+ "futures-timer",
"jsonrpsee",
"log",
"parity-scale-codec",
@@ -10621,7 +10752,7 @@
[[package]]
name = "sc-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
@@ -10644,13 +10775,12 @@
[[package]]
name = "sc-executor"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"lru 0.8.1",
"parity-scale-codec",
"parking_lot 0.12.1",
"sc-executor-common",
- "sc-executor-wasmi",
"sc-executor-wasmtime",
"sp-api",
"sp-core",
@@ -10662,46 +10792,31 @@
"sp-version",
"sp-wasm-interface",
"tracing",
- "wasmi",
]
[[package]]
name = "sc-executor-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"sc-allocator",
"sp-maybe-compressed-blob",
"sp-wasm-interface",
"thiserror",
"wasm-instrument",
- "wasmi",
-]
-
-[[package]]
-name = "sc-executor-wasmi"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
-dependencies = [
- "log",
- "sc-allocator",
- "sc-executor-common",
- "sp-runtime-interface",
- "sp-wasm-interface",
- "wasmi",
]
[[package]]
name = "sc-executor-wasmtime"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"anyhow",
"cfg-if",
"libc",
"log",
"once_cell",
- "rustix 0.36.14",
+ "rustix 0.36.15",
"sc-allocator",
"sc-executor-common",
"sp-runtime-interface",
@@ -10712,7 +10827,7 @@
[[package]]
name = "sc-informant"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ansi_term",
"futures",
@@ -10728,10 +10843,9 @@
[[package]]
name = "sc-keystore"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
- "async-trait",
"parking_lot 0.12.1",
"serde_json",
"sp-application-crypto",
@@ -10743,7 +10857,7 @@
[[package]]
name = "sc-network"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"async-channel",
@@ -10788,11 +10902,12 @@
[[package]]
name = "sc-network-bitswap"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
+ "async-channel",
"cid",
"futures",
- "libp2p",
+ "libp2p-identity",
"log",
"prost",
"prost-build",
@@ -10808,15 +10923,15 @@
[[package]]
name = "sc-network-common"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"async-trait",
- "bitflags",
+ "bitflags 1.3.2",
"bytes",
"futures",
"futures-timer",
- "libp2p",
+ "libp2p-identity",
"parity-scale-codec",
"prost-build",
"sc-consensus",
@@ -10836,7 +10951,7 @@
[[package]]
name = "sc-network-gossip"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ahash 0.8.3",
"futures",
@@ -10855,11 +10970,12 @@
[[package]]
name = "sc-network-light"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
+ "async-channel",
"futures",
- "libp2p",
+ "libp2p-identity",
"log",
"parity-scale-codec",
"prost",
@@ -10877,9 +10993,10 @@
[[package]]
name = "sc-network-sync"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
+ "async-channel",
"async-trait",
"fork-tree",
"futures",
@@ -10911,7 +11028,7 @@
[[package]]
name = "sc-network-transactions"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -10931,7 +11048,7 @@
[[package]]
name = "sc-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"bytes",
@@ -10962,20 +11079,23 @@
[[package]]
name = "sc-peerset"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
- "libp2p",
+ "libp2p-identity",
"log",
+ "parking_lot 0.12.1",
+ "partial_sort",
"sc-utils",
"serde_json",
+ "sp-arithmetic",
"wasm-timer",
]
[[package]]
name = "sc-proposer-metrics"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"log",
"substrate-prometheus-endpoint",
@@ -10984,7 +11104,7 @@
[[package]]
name = "sc-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"jsonrpsee",
@@ -11007,6 +11127,7 @@
"sp-rpc",
"sp-runtime",
"sp-session",
+ "sp-statement-store",
"sp-version",
"tokio",
]
@@ -11014,7 +11135,7 @@
[[package]]
name = "sc-rpc-api"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -11033,7 +11154,7 @@
[[package]]
name = "sc-rpc-server"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"http",
"jsonrpsee",
@@ -11048,7 +11169,7 @@
[[package]]
name = "sc-rpc-spec-v2"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
"futures",
@@ -11074,7 +11195,7 @@
[[package]]
name = "sc-service"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"directories",
@@ -11140,7 +11261,7 @@
[[package]]
name = "sc-state-db"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"log",
"parity-scale-codec",
@@ -11151,7 +11272,7 @@
[[package]]
name = "sc-storage-monitor"
version = "0.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"clap",
"fs4",
@@ -11167,7 +11288,7 @@
[[package]]
name = "sc-sync-state-rpc"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"jsonrpsee",
"parity-scale-codec",
@@ -11186,7 +11307,7 @@
[[package]]
name = "sc-sysinfo"
version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"libc",
@@ -11205,7 +11326,7 @@
[[package]]
name = "sc-telemetry"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"chrono",
"futures",
@@ -11224,7 +11345,7 @@
[[package]]
name = "sc-tracing"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ansi_term",
"atty",
@@ -11255,18 +11376,18 @@
[[package]]
name = "sc-tracing-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sc-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
@@ -11293,7 +11414,7 @@
[[package]]
name = "sc-transaction-pool-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
@@ -11307,7 +11428,7 @@
[[package]]
name = "sc-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-channel",
"futures",
@@ -11321,9 +11442,9 @@
[[package]]
name = "scale-info"
-version = "2.7.0"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b569c32c806ec3abdf3b5869fb8bf1e0d275a7c1c9b0b05603d9464632649edf"
+checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782"
dependencies = [
"bitvec",
"cfg-if",
@@ -11335,9 +11456,9 @@
[[package]]
name = "scale-info-derive"
-version = "2.6.0"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53012eae69e5aa5c14671942a5dd47de59d4cdcff8532a6dd0e081faf1119482"
+checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -11347,11 +11468,11 @@
[[package]]
name = "schannel"
-version = "0.1.21"
+version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
dependencies = [
- "windows-sys 0.42.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -11391,9 +11512,9 @@
[[package]]
name = "scratch"
-version = "1.0.5"
+version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1"
+checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152"
[[package]]
name = "sct"
@@ -11448,7 +11569,7 @@
checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e"
dependencies = [
"base16ct 0.2.0",
- "der 0.7.6",
+ "der 0.7.7",
"generic-array 0.14.7",
"pkcs8 0.10.2",
"subtle",
@@ -11488,7 +11609,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"core-foundation",
"core-foundation-sys",
"libc",
@@ -11516,9 +11637,9 @@
[[package]]
name = "semver"
-version = "1.0.17"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
dependencies = [
"serde",
]
@@ -11531,29 +11652,29 @@
[[package]]
name = "serde"
-version = "1.0.163"
+version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.163"
+version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "serde_json"
-version = "1.0.96"
+version = "1.0.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
dependencies = [
"itoa",
"ryu",
@@ -11562,9 +11683,9 @@
[[package]]
name = "serde_spanned"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93107647184f6027e3b7dcb2e11034cf95ffa1e3a682c67951963ac69c1c007d"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
dependencies = [
"serde",
]
@@ -11620,9 +11741,9 @@
[[package]]
name = "sha2"
-version = "0.10.6"
+version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
+checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -11738,8 +11859,8 @@
[[package]]
name = "slot-range-helper"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"enumn",
"parity-scale-codec",
@@ -11759,9 +11880,9 @@
[[package]]
name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
[[package]]
name = "snap"
@@ -11782,7 +11903,7 @@
"rand_core 0.6.4",
"ring",
"rustc_version",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"subtle",
]
@@ -11797,6 +11918,16 @@
]
[[package]]
+name = "socket2"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
name = "soketto"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -11816,7 +11947,7 @@
[[package]]
name = "sp-api"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"hash-db 0.16.0",
"log",
@@ -11836,7 +11967,7 @@
[[package]]
name = "sp-api-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"Inflector",
"blake2",
@@ -11844,13 +11975,13 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sp-application-crypto"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11863,7 +11994,7 @@
[[package]]
name = "sp-arithmetic"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"integer-sqrt",
"num-traits",
@@ -11877,7 +12008,7 @@
[[package]]
name = "sp-authority-discovery"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -11890,7 +12021,7 @@
[[package]]
name = "sp-block-builder"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"sp-api",
@@ -11902,7 +12033,7 @@
[[package]]
name = "sp-blockchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"log",
@@ -11920,7 +12051,7 @@
[[package]]
name = "sp-consensus"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures",
@@ -11935,7 +12066,7 @@
[[package]]
name = "sp-consensus-aura"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -11953,7 +12084,7 @@
[[package]]
name = "sp-consensus-babe"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"parity-scale-codec",
@@ -11974,7 +12105,7 @@
[[package]]
name = "sp-consensus-beefy"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"lazy_static",
"parity-scale-codec",
@@ -11993,7 +12124,7 @@
[[package]]
name = "sp-consensus-grandpa"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"finality-grandpa",
"log",
@@ -12011,7 +12142,7 @@
[[package]]
name = "sp-consensus-slots"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12023,10 +12154,10 @@
[[package]]
name = "sp-core"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"array-bytes 4.2.0",
- "bitflags",
+ "bitflags 1.3.2",
"blake2",
"bounded-collections",
"bs58",
@@ -12067,12 +12198,12 @@
[[package]]
name = "sp-core-hashing"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"blake2b_simd",
"byteorder",
"digest 0.10.7",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"sha3 0.10.8",
"sp-std",
"twox-hash",
@@ -12081,18 +12212,18 @@
[[package]]
name = "sp-core-hashing-proc-macro"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro2",
"quote",
"sp-core-hashing",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sp-database"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"kvdb",
"parking_lot 0.12.1",
@@ -12101,17 +12232,17 @@
[[package]]
name = "sp-debug-derive"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sp-externalities"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"environmental",
"parity-scale-codec",
@@ -12122,7 +12253,7 @@
[[package]]
name = "sp-inherents"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"impl-trait-for-tuples",
@@ -12137,7 +12268,7 @@
[[package]]
name = "sp-io"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"bytes",
"ed25519",
@@ -12163,7 +12294,7 @@
[[package]]
name = "sp-keyring"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"lazy_static",
"sp-core",
@@ -12174,7 +12305,7 @@
[[package]]
name = "sp-keystore"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"parity-scale-codec",
@@ -12188,7 +12319,7 @@
[[package]]
name = "sp-maybe-compressed-blob"
version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"thiserror",
"zstd 0.12.3+zstd.1.5.2",
@@ -12197,7 +12328,7 @@
[[package]]
name = "sp-metadata-ir"
version = "0.1.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-metadata",
"parity-scale-codec",
@@ -12208,7 +12339,7 @@
[[package]]
name = "sp-mmr-primitives"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ckb-merkle-mountain-range",
"log",
@@ -12226,7 +12357,7 @@
[[package]]
name = "sp-npos-elections"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12240,7 +12371,7 @@
[[package]]
name = "sp-offchain"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"sp-api",
"sp-core",
@@ -12250,7 +12381,7 @@
[[package]]
name = "sp-panic-handler"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"backtrace",
"lazy_static",
@@ -12260,7 +12391,7 @@
[[package]]
name = "sp-rpc"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"rustc-hash",
"serde",
@@ -12270,7 +12401,7 @@
[[package]]
name = "sp-runtime"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"either",
"hash256-std-hasher",
@@ -12292,7 +12423,7 @@
[[package]]
name = "sp-runtime-interface"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"bytes",
"impl-trait-for-tuples",
@@ -12310,19 +12441,19 @@
[[package]]
name = "sp-runtime-interface-proc-macro"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"Inflector",
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sp-session"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12336,7 +12467,7 @@
[[package]]
name = "sp-staking"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12349,7 +12480,7 @@
[[package]]
name = "sp-state-machine"
version = "0.13.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"hash-db 0.16.0",
"log",
@@ -12367,14 +12498,32 @@
]
[[package]]
+name = "sp-statement-store"
+version = "4.0.0-dev"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
+dependencies = [
+ "log",
+ "parity-scale-codec",
+ "scale-info",
+ "sp-api",
+ "sp-application-crypto",
+ "sp-core",
+ "sp-externalities",
+ "sp-runtime",
+ "sp-runtime-interface",
+ "sp-std",
+ "thiserror",
+]
+
+[[package]]
name = "sp-std"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
[[package]]
name = "sp-storage"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -12387,7 +12536,7 @@
[[package]]
name = "sp-timestamp"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"futures-timer",
@@ -12402,7 +12551,7 @@
[[package]]
name = "sp-tracing"
version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"sp-std",
@@ -12414,7 +12563,7 @@
[[package]]
name = "sp-transaction-pool"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"sp-api",
"sp-runtime",
@@ -12423,7 +12572,7 @@
[[package]]
name = "sp-transaction-storage-proof"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"log",
@@ -12439,7 +12588,7 @@
[[package]]
name = "sp-trie"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ahash 0.8.3",
"hash-db 0.16.0",
@@ -12462,7 +12611,7 @@
[[package]]
name = "sp-version"
version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"impl-serde",
"parity-scale-codec",
@@ -12479,18 +12628,18 @@
[[package]]
name = "sp-version-proc-macro"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "sp-wasm-interface"
version = "7.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"anyhow",
"impl-trait-for-tuples",
@@ -12504,7 +12653,7 @@
[[package]]
name = "sp-weights"
version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"parity-scale-codec",
"scale-info",
@@ -12524,7 +12673,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -12534,6 +12683,17 @@
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
+name = "spinners"
+version = "4.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab"
+dependencies = [
+ "lazy_static",
+ "maplit",
+ "strum",
+]
+
+[[package]]
name = "spki"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12550,14 +12710,14 @@
checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
dependencies = [
"base64ct",
- "der 0.7.6",
+ "der 0.7.7",
]
[[package]]
name = "ss58-registry"
-version = "1.40.0"
+version = "1.41.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb47a8ad42e5fc72d5b1eb104a5546937eaf39843499948bb666d6e93c62423b"
+checksum = "bfc443bad666016e012538782d9e3006213a7db43e9fb1dda91657dc06a6fa08"
dependencies = [
"Inflector",
"num-format",
@@ -12598,7 +12758,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cfg_aliases",
"libc",
"parking_lot 0.11.2",
@@ -12704,7 +12864,7 @@
[[package]]
name = "substrate-build-script-utils"
version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"platforms 2.0.0",
]
@@ -12712,7 +12872,7 @@
[[package]]
name = "substrate-frame-rpc-system"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"frame-system-rpc-runtime-api",
"futures",
@@ -12731,7 +12891,7 @@
[[package]]
name = "substrate-prometheus-endpoint"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"hyper",
"log",
@@ -12743,7 +12903,7 @@
[[package]]
name = "substrate-rpc-client"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"jsonrpsee",
@@ -12756,7 +12916,7 @@
[[package]]
name = "substrate-state-trie-migration-rpc"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"jsonrpsee",
"log",
@@ -12775,7 +12935,7 @@
[[package]]
name = "substrate-test-utils"
version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"futures",
"substrate-test-utils-derive",
@@ -12785,18 +12945,18 @@
[[package]]
name = "substrate-test-utils-derive"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
name = "substrate-wasm-builder"
version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"ansi_term",
"build-helper",
@@ -12805,7 +12965,7 @@
"sp-maybe-compressed-blob",
"strum",
"tempfile",
- "toml 0.7.4",
+ "toml 0.7.6",
"walkdir",
"wasm-opt",
]
@@ -12838,9 +12998,9 @@
[[package]]
name = "syn"
-version = "2.0.18"
+version = "2.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+checksum = "45c3457aacde3c65315de5031ec191ce46604304d2446e803d71ade03308d970"
dependencies = [
"proc-macro2",
"quote",
@@ -12865,7 +13025,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"core-foundation",
"system-configuration-sys",
]
@@ -12888,21 +13048,22 @@
[[package]]
name = "target-lexicon"
-version = "0.12.7"
+version = "0.12.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
+checksum = "df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0"
[[package]]
name = "tempfile"
-version = "3.5.0"
+version = "3.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6"
dependencies = [
+ "autocfg",
"cfg-if",
"fastrand",
"redox_syscall 0.3.5",
- "rustix 0.37.19",
- "windows-sys 0.45.0",
+ "rustix 0.37.23",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -12954,22 +13115,22 @@
[[package]]
name = "thiserror"
-version = "1.0.40"
+version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -13044,9 +13205,9 @@
[[package]]
name = "time"
-version = "0.3.21"
+version = "0.3.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc"
+checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446"
dependencies = [
"itoa",
"serde",
@@ -13062,9 +13223,9 @@
[[package]]
name = "time-macros"
-version = "0.2.9"
+version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
+checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4"
dependencies = [
"time-core",
]
@@ -13081,7 +13242,7 @@
"pbkdf2 0.11.0",
"rand 0.8.5",
"rustc-hash",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"thiserror",
"unicode-normalization",
"wasm-bindgen",
@@ -13124,19 +13285,20 @@
[[package]]
name = "tokio"
-version = "1.28.2"
+version = "1.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
+checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
dependencies = [
"autocfg",
+ "backtrace",
"bytes",
"libc",
"mio",
"num_cpus",
"parking_lot 0.12.1",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"signal-hook-registry",
- "socket2",
+ "socket2 0.4.9",
"tokio-macros",
"windows-sys 0.48.0",
]
@@ -13149,10 +13311,21 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
+name = "tokio-retry"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f"
+dependencies = [
+ "pin-project",
+ "rand 0.8.5",
+ "tokio",
+]
+
+[[package]]
name = "tokio-rustls"
version = "0.23.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -13170,7 +13343,7 @@
checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
dependencies = [
"futures-core",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"tokio",
"tokio-util",
]
@@ -13185,7 +13358,7 @@
"futures-core",
"futures-io",
"futures-sink",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"tokio",
"tracing",
]
@@ -13201,9 +13374,9 @@
[[package]]
name = "toml"
-version = "0.7.4"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6135d499e69981f9ff0ef2167955a5333c35e36f6937d382974566b3d5b94ec"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
dependencies = [
"serde",
"serde_spanned",
@@ -13213,20 +13386,20 @@
[[package]]
name = "toml_datetime"
-version = "0.6.2"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.19.10"
+version = "0.19.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
dependencies = [
- "indexmap",
+ "indexmap 2.0.0",
"serde",
"serde_spanned",
"toml_datetime",
@@ -13246,18 +13419,18 @@
[[package]]
name = "tower-http"
-version = "0.3.5"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
+checksum = "a8bd22a874a2d0b70452d5597b12c537331d49060824a95f49f108994f94aa4c"
dependencies = [
- "bitflags",
+ "bitflags 2.3.3",
"bytes",
"futures-core",
"futures-util",
"http",
"http-body",
"http-range-header",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"tower-layer",
"tower-service",
]
@@ -13282,20 +13455,20 @@
dependencies = [
"cfg-if",
"log",
- "pin-project-lite 0.2.9",
+ "pin-project-lite 0.2.10",
"tracing-attributes",
"tracing-core",
]
[[package]]
name = "tracing-attributes"
-version = "0.1.24"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -13320,8 +13493,8 @@
[[package]]
name = "tracing-gum"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"polkadot-node-jaeger",
"polkadot-primitives",
@@ -13331,14 +13504,14 @@
[[package]]
name = "tracing-gum-proc-macro"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"expander 2.0.0",
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -13447,7 +13620,7 @@
"lazy_static",
"rand 0.8.5",
"smallvec",
- "socket2",
+ "socket2 0.4.9",
"thiserror",
"tinyvec",
"tokio",
@@ -13484,7 +13657,7 @@
[[package]]
name = "try-runtime-cli"
version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42#569aae5341ea0c1d10426fa1ec13a36c0b64393b"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
dependencies = [
"async-trait",
"clap",
@@ -13597,9 +13770,9 @@
[[package]]
name = "ucd-trie"
-version = "0.1.5"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
+checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"
[[package]]
name = "uint"
@@ -13621,9 +13794,9 @@
[[package]]
name = "unicode-ident"
-version = "1.0.9"
+version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
[[package]]
name = "unicode-normalization"
@@ -13648,7 +13821,7 @@
[[package]]
name = "unique-node"
-version = "0.9.42"
+version = "0.9.43"
dependencies = [
"app-promotion-rpc",
"clap",
@@ -13757,7 +13930,7 @@
[[package]]
name = "unique-runtime"
-version = "0.9.42"
+version = "0.9.43"
dependencies = [
"app-promotion-rpc",
"cumulus-pallet-aura-ext",
@@ -13783,7 +13956,7 @@
"hex-literal",
"impl-trait-for-tuples",
"log",
- "num_enum",
+ "num_enum 0.5.11",
"orml-tokens",
"orml-traits",
"orml-vesting",
@@ -13896,7 +14069,7 @@
[[package]]
name = "up-common"
-version = "0.9.42"
+version = "0.9.43"
dependencies = [
"cumulus-primitives-core",
"fp-rpc",
@@ -13955,7 +14128,7 @@
[[package]]
name = "up-sponsorship"
version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.42#be3a4a92920866f234c66eff18df9c624bb7dfc4"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.43#bd6e4a2a97b1415c22f96512b857d9615cbe2f81"
dependencies = [
"impl-trait-for-tuples",
]
@@ -13979,11 +14152,11 @@
[[package]]
name = "uuid"
-version = "1.3.3"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2"
+checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be"
dependencies = [
- "getrandom 0.2.9",
+ "getrandom 0.2.10",
]
[[package]]
@@ -14037,11 +14210,10 @@
[[package]]
name = "want"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
dependencies = [
- "log",
"try-lock",
]
@@ -14065,9 +14237,9 @@
[[package]]
name = "wasm-bindgen"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -14075,24 +14247,24 @@
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.36"
+version = "0.4.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
+checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
dependencies = [
"cfg-if",
"js-sys",
@@ -14102,9 +14274,9 @@
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -14112,22 +14284,22 @@
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.86"
+version = "0.2.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
[[package]]
name = "wasm-instrument"
@@ -14140,9 +14312,9 @@
[[package]]
name = "wasm-opt"
-version = "0.111.0"
+version = "0.112.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84a303793cbc01fb96551badfc7367db6007396bba6bac97936b3c8b6f7fdb41"
+checksum = "87fef6d0d508f08334e0ab0e6877feb4c0ecb3956bcf2cb950699b22fedf3e9c"
dependencies = [
"anyhow",
"libc",
@@ -14156,9 +14328,9 @@
[[package]]
name = "wasm-opt-cxx-sys"
-version = "0.111.0"
+version = "0.112.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9c9deb56f8a9f2ec177b3bd642a8205621835944ed5da55f2388ef216aca5a4"
+checksum = "bc816bbc1596c8f2e8127e137a760c798023ef3d378f2ae51f0f1840e2dfa445"
dependencies = [
"anyhow",
"cxx",
@@ -14168,15 +14340,14 @@
[[package]]
name = "wasm-opt-sys"
-version = "0.111.0"
+version = "0.112.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4432e28b542738a9776cedf92e8a99d8991c7b4667ee2c7ccddfb479dd2856a7"
+checksum = "40199e4f68ef1071b3c6d0bd8026a12b481865d4b9e49c156932ea9a6234dd14"
dependencies = [
"anyhow",
"cc",
"cxx",
"cxx-build",
- "regex",
]
[[package]]
@@ -14225,32 +14396,31 @@
"memory_units",
"num-rational",
"num-traits",
- "region",
]
[[package]]
name = "wasmparser"
-version = "0.100.0"
+version = "0.102.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64b20236ab624147dfbb62cf12a19aaf66af0e41b8398838b66e997d07d269d4"
+checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b"
dependencies = [
- "indexmap",
+ "indexmap 1.9.3",
"url",
]
[[package]]
name = "wasmtime"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76a222f5fa1e14b2cefc286f1b68494d7a965f4bf57ec04c59bb62673d639af6"
+checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9"
dependencies = [
"anyhow",
"bincode",
"cfg-if",
- "indexmap",
+ "indexmap 1.9.3",
"libc",
"log",
- "object 0.29.0",
+ "object 0.30.4",
"once_cell",
"paste",
"psm",
@@ -14263,43 +14433,43 @@
"wasmtime-environ",
"wasmtime-jit",
"wasmtime-runtime",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
name = "wasmtime-asm-macros"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4407a7246e7d2f3d8fb1cf0c72fda8dbafdb6dd34d555ae8bea0e5ae031089cc"
+checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d"
dependencies = [
"cfg-if",
]
[[package]]
name = "wasmtime-cache"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ceb3adf61d654be0be67fffdce42447b0880481348785be5fe40b5dd7663a4c"
+checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213"
dependencies = [
"anyhow",
- "base64 0.13.1",
+ "base64 0.21.2",
"bincode",
"directories-next",
"file-per-thread-logger",
"log",
- "rustix 0.36.14",
+ "rustix 0.36.15",
"serde",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"toml 0.5.11",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
"zstd 0.11.2+zstd.1.5.2",
]
[[package]]
name = "wasmtime-cranelift"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c366bb8647e01fd08cb5589976284b00abfded5529b33d7e7f3f086c68304a4"
+checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04"
dependencies = [
"anyhow",
"cranelift-codegen",
@@ -14307,27 +14477,43 @@
"cranelift-frontend",
"cranelift-native",
"cranelift-wasm",
- "gimli 0.26.2",
+ "gimli",
"log",
- "object 0.29.0",
+ "object 0.30.4",
"target-lexicon",
"thiserror",
"wasmparser",
+ "wasmtime-cranelift-shared",
"wasmtime-environ",
]
[[package]]
+name = "wasmtime-cranelift-shared"
+version = "8.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b"
+dependencies = [
+ "anyhow",
+ "cranelift-codegen",
+ "cranelift-native",
+ "gimli",
+ "object 0.30.4",
+ "target-lexicon",
+ "wasmtime-environ",
+]
+
+[[package]]
name = "wasmtime-environ"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47b8b50962eae38ee319f7b24900b7cf371f03eebdc17400c1dc8575fc10c9a7"
+checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949"
dependencies = [
"anyhow",
"cranelift-entity",
- "gimli 0.26.2",
- "indexmap",
+ "gimli",
+ "indexmap 1.9.3",
"log",
- "object 0.29.0",
+ "object 0.30.4",
"serde",
"target-lexicon",
"thiserror",
@@ -14337,18 +14523,18 @@
[[package]]
name = "wasmtime-jit"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffaed4f9a234ba5225d8e64eac7b4a5d13b994aeb37353cde2cbeb3febda9eaa"
+checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244"
dependencies = [
- "addr2line 0.17.0",
+ "addr2line 0.19.0",
"anyhow",
"bincode",
"cfg-if",
"cpp_demangle",
- "gimli 0.26.2",
+ "gimli",
"log",
- "object 0.29.0",
+ "object 0.30.4",
"rustc-demangle",
"serde",
"target-lexicon",
@@ -14356,60 +14542,60 @@
"wasmtime-jit-debug",
"wasmtime-jit-icache-coherence",
"wasmtime-runtime",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
name = "wasmtime-jit-debug"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eed41cbcbf74ce3ff6f1d07d1b707888166dc408d1a880f651268f4f7c9194b2"
+checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846"
dependencies = [
- "object 0.29.0",
+ "object 0.30.4",
"once_cell",
- "rustix 0.36.14",
+ "rustix 0.36.15",
]
[[package]]
name = "wasmtime-jit-icache-coherence"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a28ae1e648461bfdbb79db3efdaee1bca5b940872e4175390f465593a2e54c"
+checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd"
dependencies = [
"cfg-if",
"libc",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
name = "wasmtime-runtime"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e704b126e4252788ccfc3526d4d4511d4b23c521bf123e447ac726c14545217b"
+checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441"
dependencies = [
"anyhow",
"cc",
"cfg-if",
- "indexmap",
+ "indexmap 1.9.3",
"libc",
"log",
"mach",
"memfd",
- "memoffset 0.6.5",
+ "memoffset 0.8.0",
"paste",
"rand 0.8.5",
- "rustix 0.36.14",
+ "rustix 0.36.15",
"wasmtime-asm-macros",
"wasmtime-environ",
"wasmtime-jit-debug",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
name = "wasmtime-types"
-version = "6.0.2"
+version = "8.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83e5572c5727c1ee7e8f28717aaa8400e4d22dcbd714ea5457d85b5005206568"
+checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f"
dependencies = [
"cranelift-entity",
"serde",
@@ -14419,9 +14605,9 @@
[[package]]
name = "web-sys"
-version = "0.3.63"
+version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -14479,10 +14665,10 @@
"sdp",
"serde",
"serde_json",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"stun",
"thiserror",
- "time 0.3.21",
+ "time 0.3.23",
"tokio",
"turn",
"url",
@@ -14542,7 +14728,7 @@
"sec1 0.3.0",
"serde",
"sha1",
- "sha2 0.10.6",
+ "sha2 0.10.7",
"signature 1.6.4",
"subtle",
"thiserror",
@@ -14584,7 +14770,7 @@
checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106"
dependencies = [
"log",
- "socket2",
+ "socket2 0.4.9",
"thiserror",
"tokio",
"webrtc-util",
@@ -14651,7 +14837,7 @@
checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87"
dependencies = [
"async-trait",
- "bitflags",
+ "bitflags 1.3.2",
"bytes",
"cc",
"ipnet",
@@ -14667,8 +14853,8 @@
[[package]]
name = "westend-runtime"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bitvec",
"frame-benchmarking",
@@ -14693,10 +14879,11 @@
"pallet-elections-phragmen",
"pallet-fast-unstake",
"pallet-grandpa",
- "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.42)",
+ "pallet-identity 4.0.0-dev (git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43)",
"pallet-im-online",
"pallet-indices",
"pallet-membership",
+ "pallet-message-queue",
"pallet-multisig",
"pallet-nomination-pools",
"pallet-nomination-pools-benchmarking",
@@ -14759,8 +14946,8 @@
[[package]]
name = "westend-runtime-constants"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"frame-support",
"polkadot-primitives",
@@ -14784,9 +14971,9 @@
[[package]]
name = "wide"
-version = "0.7.9"
+version = "0.7.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cd0496a71f3cc6bc4bf0ed91346426a5099e93d89807e663162dc5a1069ff65"
+checksum = "aa469ffa65ef7e0ba0f164183697b89b854253fd31aeb92358b7b6155177d62f"
dependencies = [
"bytemuck",
"safe_arch",
@@ -14794,9 +14981,9 @@
[[package]]
name = "widestring"
-version = "0.5.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983"
+checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8"
[[package]]
name = "winapi"
@@ -14848,22 +15035,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -14881,7 +15053,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets 0.48.1",
]
[[package]]
@@ -14901,9 +15073,9 @@
[[package]]
name = "windows-targets"
-version = "0.48.0"
+version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
"windows_aarch64_gnullvm 0.48.0",
"windows_aarch64_msvc 0.48.0",
@@ -15030,20 +15202,21 @@
[[package]]
name = "winnow"
-version = "0.4.6"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
+checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7"
dependencies = [
"memchr",
]
[[package]]
name = "winreg"
-version = "0.10.1"
+version = "0.50.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
dependencies = [
- "winapi",
+ "cfg-if",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -15093,7 +15266,7 @@
"ring",
"rusticata-macros",
"thiserror",
- "time 0.3.21",
+ "time 0.3.23",
]
[[package]]
@@ -15111,13 +15284,13 @@
"oid-registry 0.6.1",
"rusticata-macros",
"thiserror",
- "time 0.3.21",
+ "time 0.3.23",
]
[[package]]
name = "xcm"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"bounded-collections",
"derivative",
@@ -15132,8 +15305,8 @@
[[package]]
name = "xcm-builder"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"frame-support",
"frame-system",
@@ -15147,14 +15320,15 @@
"sp-io",
"sp-runtime",
"sp-std",
+ "sp-weights",
"xcm",
"xcm-executor",
]
[[package]]
name = "xcm-executor"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"environmental",
"frame-benchmarking",
@@ -15173,13 +15347,13 @@
[[package]]
name = "xcm-procedural"
-version = "0.9.42"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.42#9b1fc27cec47f01a2c229532ee7ab79cc5bb28ef"
+version = "0.9.43"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.43#ba42b9ce51d25bdaf52d2c61e0763a6e3da50d25"
dependencies = [
"Inflector",
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
@@ -15202,7 +15376,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd"
dependencies = [
- "time 0.3.21",
+ "time 0.3.23",
]
[[package]]
@@ -15222,7 +15396,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.18",
+ "syn 2.0.26",
]
[[package]]
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,7 +11,7 @@
'runtime/tests',
'runtime/unique',
]
-package.version = "0.9.42"
+package.version = "0.9.43"
resolver = "2"
[profile.release]
@@ -30,7 +30,7 @@
evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.1", default-features = false }
pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }
pallet-balances-adapter = { default-features = false, path = "pallets/balances-adapter" }
-pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.42" }
+pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.43" }
pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }
pallet-common = { default-features = false, path = "pallets/common" }
pallet-configuration = { default-features = false, path = "pallets/configuration" }
@@ -57,7 +57,7 @@
up-data-structs = { path = "primitives/data-structs", default-features = false }
up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }
up-rpc = { path = "primitives/rpc", default-features = false }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.42" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.43" }
# Unique: Runtimes
opal-runtime = { path = "runtime/opal" }
@@ -65,130 +65,130 @@
unique-runtime = { path = "runtime/unique" }
# Frontier (Unique patches over the Parity version)
-fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
-pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.42-1" }
+fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
+pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v0.9.43" }
# Parity
codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.2.2" }
-cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-pallet-aura-ext = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-pallet-dmp-queue = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-pallet-parachain-system = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-pallet-xcm = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-pallet-xcmp-queue = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-primitives-core = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-primitives-timestamp = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-primitives-utility = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-state-trie-migration = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }
-parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.42" }
-polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42" }
-polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }
-polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42" }
-polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42" }
-sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-network-sync = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
+cumulus-client-cli = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-client-consensus-aura = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-client-consensus-common = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-client-network = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-client-service = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-pallet-aura-ext = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-pallet-dmp-queue = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-pallet-parachain-system = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-pallet-xcm = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-pallet-xcmp-queue = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-primitives-core = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-primitives-timestamp = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-primitives-utility = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-relay-chain-interface = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+frame-executive = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-state-trie-migration = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false }
+parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" }
+polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43" }
+polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false }
+polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43" }
+polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43" }
+sc-basic-authorship = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-chain-spec = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-consensus-manual-seal = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-network-sync = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-sysinfo = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-telemetry = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.42", default-features = false }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-block-builder = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-externalities = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-inherents = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-offchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-staking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-state-machine = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-tracing = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-trie = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+sp-version = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+substrate-prometheus-endpoint = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false }
# Parity: Build utils
-substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
+substrate-build-script-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
# Parity: Benchmarking
-frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
+frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
# Parity: Try Runtime
-frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
-try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
+frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
+try-runtime-cli = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
# ORML
-orml-tokens = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }
-orml-traits = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }
-orml-vesting = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }
-orml-xcm-support = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }
-orml-xtokens = { default-features = false, git = "https://github.com/uniquenetwork/open-runtime-module-library", branch = "polkadot-v0.9.42" }
+orml-tokens = { default-features = false, git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.43" }
+orml-traits = { default-features = false, git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.43" }
+orml-vesting = { default-features = false, git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.43" }
+orml-xcm-support = { default-features = false, git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.43" }
+orml-xtokens = { default-features = false, git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.43" }
# Other
derivative = { version = "2.2.0", features = ["use_core"] }
ethereum = { version = "0.14.0", default-features = false }
-evm-core = { default-features = false, version = "0.37.0" }
+evm-core = { git = "https://github.com/rust-blockchain/evm", rev = "b7b82c7e1fc57b7449d6dfa6826600de37cc1e65", default-features = false }
hex-literal = "0.4.1"
impl-trait-for-tuples = "0.2.2"
jsonrpsee = { version = "0.16.2", features = ["macros", "server"] }
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -96,7 +96,7 @@
```
git clone https://github.com/paritytech/polkadot.git
cd polkadot
-git checkout release-v0.9.42
+git checkout release-v0.9.43
cargo build --release
```
launch-config-full.jsondiffbeforeafterboth--- a/launch-config-full.json
+++ b/launch-config-full.json
@@ -72,8 +72,7 @@
"nodes": [
{
"port": 31200,
- "wsPort": 9944,
- "rpcPort": 9933,
+ "rpcPort": 9944,
"name": "alice",
"flags": [
"--rpc-cors=all",
@@ -84,8 +83,7 @@
},
{
"port": 31201,
- "wsPort": 9945,
- "rpcPort": 9934,
+ "rpcPort": 9945,
"name": "bob",
"flags": [
"--rpc-cors=all",
launch-config.jsondiffbeforeafterboth--- a/launch-config.json
+++ b/launch-config.json
@@ -90,8 +90,7 @@
"nodes": [
{
"port": 31200,
- "wsPort": 9944,
- "rpcPort": 9933,
+ "rpcPort": 9944,
"name": "alice",
"flags": [
"--rpc-cors=all",
@@ -102,8 +101,7 @@
},
{
"port": 31201,
- "wsPort": 9945,
- "rpcPort": 9934,
+ "rpcPort": 9945,
"name": "bob",
"flags": [
"--rpc-cors=all",
node/cli/src/cli.rsdiffbeforeafterboth--- a/node/cli/src/cli.rs
+++ b/node/cli/src/cli.rs
@@ -114,7 +114,7 @@
pub chain_id: Option<String>,
/// The base path that should be used by the relay chain.
- pub base_path: Option<PathBuf>,
+ pub base_path: PathBuf,
}
impl RelayChainCli {
@@ -125,10 +125,7 @@
) -> Self {
let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec);
let chain_id = extension.map(|e| e.relay_chain.clone());
- let base_path = para_config
- .base_path
- .as_ref()
- .map(|x| x.path().join("polkadot"));
+ let base_path = para_config.base_path.path().join("polkadot");
Self {
base_path,
chain_id,
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -59,12 +59,10 @@
ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams,
NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli,
};
-use sc_service::{
- config::{BasePath, PrometheusConfig},
-};
+use sc_service::config::{BasePath, PrometheusConfig};
use sp_core::hexdisplay::HexDisplay;
use sp_runtime::traits::{AccountIdConversion, Block as BlockT};
-use std::{net::SocketAddr, time::Duration};
+use std::{time::Duration};
use up_common::types::opaque::{Block, RuntimeId};
@@ -555,14 +553,10 @@
30334
}
- fn rpc_ws_listen_port() -> u16 {
+ fn rpc_listen_port() -> u16 {
9945
}
- fn rpc_http_listen_port() -> u16 {
- 9934
- }
-
fn prometheus_listen_port() -> u16 {
9616
}
@@ -589,21 +583,9 @@
Ok(self
.shared_params()
.base_path()?
- .or_else(|| self.base_path.clone().map(Into::into)))
- }
-
- fn rpc_http(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
- self.base.base.rpc_http(default_listen_port)
- }
-
- fn rpc_ipc(&self) -> Result<Option<String>> {
- self.base.base.rpc_ipc()
+ .or_else(|| Some(self.base_path.clone().into())))
}
- fn rpc_ws(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
- self.base.base.rpc_ws(default_listen_port)
- }
-
fn prometheus_config(
&self,
default_listen_port: u16,
@@ -646,8 +628,8 @@
self.base.base.rpc_methods()
}
- fn rpc_ws_max_connections(&self) -> Result<Option<usize>> {
- self.base.base.rpc_ws_max_connections()
+ fn rpc_max_connections(&self) -> Result<u32> {
+ self.base.base.rpc_max_connections()
}
fn rpc_cors(&self, is_dev: bool) -> Result<Option<Vec<String>>> {
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -54,7 +54,7 @@
use sc_executor::NativeExecutionDispatch;
use sc_network::NetworkBlock;
use sc_network_sync::SyncingService;
-use sc_service::{BasePath, Configuration, PartialComponents, TaskManager};
+use sc_service::{Configuration, PartialComponents, TaskManager};
use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
use sp_runtime::traits::BlakeTwo256;
use substrate_prometheus_endpoint::Registry;
@@ -65,7 +65,7 @@
// Frontier Imports
use fc_rpc_core::types::FilterPool;
-use fc_mapping_sync::{MappingSyncWorker, SyncStrategy};
+use fc_mapping_sync::{kv::MappingSyncWorker, SyncStrategy};
use up_common::types::opaque::*;
@@ -176,19 +176,13 @@
pub fn open_frontier_backend<Block: BlockT, C: sp_blockchain::HeaderBackend<Block>>(
client: Arc<C>,
config: &Configuration,
-) -> Result<Arc<fc_db::Backend<Block>>, String> {
- let config_dir = config
- .base_path
- .as_ref()
- .map(|base_path| base_path.config_dir(config.chain_spec.id()))
- .unwrap_or_else(|| {
- BasePath::from_project("", "", "unique").config_dir(config.chain_spec.id())
- });
+) -> Result<Arc<fc_db::kv::Backend<Block>>, String> {
+ let config_dir = config.base_path.config_dir(config.chain_spec.id());
let database_dir = config_dir.join("frontier").join("db");
- Ok(Arc::new(fc_db::Backend::<Block>::new(
+ Ok(Arc::new(fc_db::kv::Backend::<Block>::new(
client,
- &fc_db::DatabaseSettings {
+ &fc_db::kv::DatabaseSettings {
source: fc_db::DatabaseSource::RocksDb {
path: database_dir,
cache_size: 0,
@@ -222,7 +216,7 @@
(
Option<Telemetry>,
Option<FilterPool>,
- Arc<fc_db::Backend<Block>>,
+ Arc<fc_db::kv::Backend<Block>>,
Option<TelemetryWorkerHandle>,
FeeHistoryCache,
),
@@ -435,6 +429,7 @@
new_partial::<RuntimeApi, ExecutorDispatch, BIQ>(¶chain_config, build_import_queue)?;
let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle, fee_history_cache) =
params.other;
+ let net_config = sc_network::config::FullNetworkConfiguration::new(¶chain_config.network);
let client = params.client.clone();
let backend = params.backend.clone();
@@ -462,6 +457,7 @@
let (network, system_rpc_tx, tx_handler_controller, start_network, sync_service) =
sc_service::build_network(sc_service::BuildNetworkParams {
config: ¶chain_config,
+ net_config,
client: client.clone(),
transaction_pool: transaction_pool.clone(),
spawn_handle: task_manager.spawn_handle(),
@@ -919,6 +915,7 @@
&config,
dev_build_import_queue::<RuntimeApi, ExecutorDispatch>,
)?;
+ let net_config = sc_network::config::FullNetworkConfiguration::new(&config.network);
let prometheus_registry = config.prometheus_registry().cloned();
let block_data_cache = Arc::new(fc_rpc::EthBlockDataCacheTask::new(
@@ -937,6 +934,7 @@
let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) =
sc_service::build_network(sc_service::BuildNetworkParams {
config: &config,
+ net_config,
client: client.clone(),
transaction_pool: transaction_pool.clone(),
spawn_handle: task_manager.spawn_handle(),
@@ -959,8 +957,7 @@
let select_chain = maybe_select_chain;
if collator {
- let block_import =
- FrontierBlockImport::new(client.clone(), client.clone(), frontier_backend.clone());
+ let block_import = FrontierBlockImport::new(client.clone(), client.clone());
let env = sc_basic_authorship::ProposerFactory::new(
task_manager.spawn_handle(),
node/rpc/src/lib.rsdiffbeforeafterboth--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -93,7 +93,7 @@
pub backend: Arc<FullBackend>,
/// Ethereum Backend.
- pub eth_backend: Arc<fc_db::Backend<Block>>,
+ pub eth_backend: Arc<dyn fc_db::BackendReader<Block> + Send + Sync>,
/// Maximum number of logs in a query.
pub max_past_logs: u32,
/// Maximum fee history cache size.
@@ -181,7 +181,7 @@
{
use fc_rpc::{
Eth, EthApiServer, EthDevSigner, EthFilter, EthFilterApiServer, EthPubSub,
- EthPubSubApiServer, EthSigner, Net, NetApiServer, Web3, Web3ApiServer,
+ EthPubSubApiServer, EthSigner, Net, NetApiServer, Web3, Web3ApiServer, TxPool, TxPoolApiServer
};
use uc_rpc::{UniqueApiServer, Unique};
@@ -240,7 +240,7 @@
Eth::new(
client.clone(),
pool.clone(),
- graph,
+ graph.clone(),
Some(<R as RuntimeInstance>::get_transaction_converter()),
sync.clone(),
signers,
@@ -272,11 +272,13 @@
.into_rpc(),
)?;
+ let tx_pool = TxPool::new(client.clone(), graph);
if let Some(filter_pool) = filter_pool {
io.merge(
EthFilter::new(
client.clone(),
eth_backend,
+ tx_pool.clone(),
filter_pool,
500_usize, // max stored filters
max_past_logs,
@@ -310,5 +312,7 @@
.into_rpc(),
)?;
+ io.merge(tx_pool.into_rpc())?;
+
Ok(io)
}
pallets/evm-coder-substrate/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-coder-substrate/src/lib.rs
+++ b/pallets/evm-coder-substrate/src/lib.rs
@@ -41,7 +41,6 @@
// #[cfg(feature = "runtime-benchmarks")]
// pub mod benchmarking;
pub mod execution;
-pub use evm_coder::*;
#[doc(hidden)]
pub use spez::spez;
@@ -52,14 +51,13 @@
};
pub use pallet::*;
+pub use evm_coder::{ResultWithPostInfoOf, Contract, abi, solidity_interface, ToLog, types};
#[frame_support::pallet]
pub mod pallet {
use super::*;
- use frame_system::ensure_signed;
pub use frame_support::dispatch::DispatchResult;
- use frame_system::pallet_prelude::*;
/// DispatchError is opaque, but we need to somehow extract correct error in case of OutOfGas failure
/// So we have this pallet, which defines OutOfGas error, and knews its own id to check if DispatchError
@@ -77,16 +75,6 @@
#[pallet::pallet]
pub struct Pallet<T>(_);
-
- #[pallet::call]
- impl<T: Config> Pallet<T> {
- #[pallet::call_index(0)]
- #[pallet::weight(0)]
- pub fn empty_call(origin: OriginFor<T>) -> DispatchResult {
- let _sender = ensure_signed(origin)?;
- Ok(())
- }
- }
}
// From instabul hardfork configuration: https://github.com/rust-blockchain/evm/blob/fd4fd6acc0ca3208d6770fdb3ba407c94cdf97c6/runtime/src/lib.rs#L284
pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -32,7 +32,6 @@
#[frame_support::pallet]
pub mod pallet {
pub use super::*;
- use crate::eth::ContractHelpersEvents;
use frame_support::{pallet_prelude::*, sp_runtime::DispatchResult};
use frame_system::{pallet_prelude::OriginFor, ensure_root};
use sp_core::{H160, U256};
pallets/inflation/src/lib.rsdiffbeforeafterboth--- a/pallets/inflation/src/lib.rs
+++ b/pallets/inflation/src/lib.rs
@@ -163,7 +163,10 @@
///
/// * inflation_start_relay_block: The relay chain block at which inflation should start
#[pallet::call_index(0)]
- #[pallet::weight(0)]
+ // Constant weights are deprecated,
+ // but in this case writing benchmark is not feasible, `start_inflation` call
+ // might be even moved to GenesisConfig
+ #[pallet::weight(Weight::from_parts(0, 0))]
pub fn start_inflation(
origin: OriginFor<T>,
inflation_start_relay_block: T::BlockNumber,
pallets/scheduler-v2/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler-v2/Cargo.toml
+++ b/pallets/scheduler-v2/Cargo.toml
@@ -25,7 +25,7 @@
[dev-dependencies]
pallet-preimage = { workspace = true }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.42" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" }
[features]
default = ["std"]
runtime/common/config/ethereum.rsdiffbeforeafterboth--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -20,6 +20,9 @@
pub type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
+// Assuming PoV size per read is 96 bytes: 16 for twox128(Evm), 16 for twox128(Storage), 32 for storage key, and 32 for storage value
+const EVM_SLOAD_PROOF_SIZE: u64 = 96;
+
// ~~Assuming slowest ethereum opcode is SSTORE, with gas price of 20000 as our worst case~~
// ~~(contract, which only writes a lot of data),~~
// ~~approximating on top of our real store write weight~~
@@ -31,7 +34,10 @@
pub const GasPerSecond: u64 = ReadsPerSecond::get() * 2100;
pub const WeightTimePerGas: u64 = WEIGHT_REF_TIME_PER_SECOND / GasPerSecond::get();
- pub const WeightPerGas: Weight = Weight::from_parts(WeightTimePerGas::get(), 0);
+ pub const BytesReadPerSecond: u64 = ReadsPerSecond::get() * EVM_SLOAD_PROOF_SIZE;
+ pub const ProofSizePerGas: u64 = 0; //WEIGHT_REF_TIME_PER_SECOND / GasPerSecond::get();
+
+ pub const WeightPerGas: Weight = Weight::from_parts(WeightTimePerGas::get(), ProofSizePerGas::get());
}
/// Limiting EVM execution to 50% of block for substrate users and management tasks
@@ -86,6 +92,7 @@
type FindAuthor = EthereumFindAuthor<Aura>;
type Timestamp = crate::Timestamp;
type WeightInfo = pallet_evm::weights::SubstrateWeight<Self>;
+ type GasLimitPovSizeRatio = ProofSizePerGas;
}
impl pallet_evm_migration::Config for Runtime {
runtime/common/config/substrate.rsdiffbeforeafterboth--- a/runtime/common/config/substrate.rs
+++ b/runtime/common/config/substrate.rs
@@ -236,6 +236,7 @@
impl pallet_sudo::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
type RuntimeCall = RuntimeCall;
+ type WeightInfo = pallet_sudo::weights::SubstrateWeight<Self>;
}
parameter_types! {
runtime/common/config/xcm/mod.rsdiffbeforeafterboth--- a/runtime/common/config/xcm/mod.rs
+++ b/runtime/common/config/xcm/mod.rs
@@ -220,6 +220,8 @@
type MaxLockers = ConstU32<8>;
type WeightInfo = crate::weights::xcm::SubstrateWeight<Runtime>;
type AdminOrigin = EnsureRoot<AccountId>;
+ type MaxRemoteLockConsumers = ConstU32<0>;
+ type RemoteLockConsumerIdentifier = ();
#[cfg(feature = "runtime-benchmarks")]
type ReachableDest = ReachableDest;
}
runtime/common/ethereum/precompiles/mod.rsdiffbeforeafterboth--- a/runtime/common/ethereum/precompiles/mod.rs
+++ b/runtime/common/ethereum/precompiles/mod.rs
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-use pallet_evm::{Precompile, PrecompileHandle, PrecompileResult, PrecompileSet};
+use pallet_evm::{Precompile, PrecompileHandle, PrecompileResult, PrecompileSet, IsPrecompileResult};
use sp_core::H160;
use sp_std::marker::PhantomData;
@@ -60,8 +60,11 @@
}
}
- fn is_precompile(&self, address: H160) -> bool {
- Self::used_addresses().contains(&address)
+ fn is_precompile(&self, address: H160, _gas: u64) -> IsPrecompileResult {
+ IsPrecompileResult::Answer {
+ is_precompile: Self::used_addresses().contains(&address),
+ extra_cost: 0,
+ }
}
}
runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -38,11 +38,14 @@
use sp_core::{crypto::KeyTypeId, OpaqueMetadata, H256, U256, H160};
use sp_runtime::{
Permill,
- traits::Block as BlockT,
+ traits::{Block as BlockT},
transaction_validity::{TransactionSource, TransactionValidity},
ApplyExtrinsicResult, DispatchError,
};
- use frame_support::pallet_prelude::Weight;
+ use frame_support::{
+ pallet_prelude::Weight,
+ traits::OnFinalize,
+ };
use fp_rpc::TransactionStatus;
use pallet_transaction_payment::{
FeeDetails, RuntimeDispatchInfo,
@@ -367,6 +370,10 @@
access_list.unwrap_or_default(),
is_transactional,
validate,
+ // TODO we probably want to support external cost recording in non-transactional calls
+ None,
+ None,
+
config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),
).map_err(|err| err.error.into())
}
@@ -404,6 +411,10 @@
access_list.unwrap_or_default(),
is_transactional,
validate,
+ // TODO we probably want to support external cost recording in non-transactional calls
+ None,
+ None,
+
config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),
).map_err(|err| err.error.into())
}
@@ -444,6 +455,21 @@
}
fn gas_limit_multiplier_support() {}
+
+ fn pending_block(
+ xts: Vec<<Block as BlockT>::Extrinsic>,
+ ) -> (Option<pallet_ethereum::Block>, Option<Vec<TransactionStatus>>) {
+ for ext in xts.into_iter() {
+ let _ = Executive::apply_extrinsic(ext);
+ }
+
+ Ethereum::on_finalize(System::block_number() + 1);
+
+ (
+ pallet_ethereum::CurrentBlock::<Runtime>::get(),
+ pallet_ethereum::CurrentTransactionStatuses::<Runtime>::get()
+ )
+ }
}
impl fp_rpc::ConvertTransactionRuntimeApi<Block> for Runtime {
tests/package.jsondiffbeforeafterboth--- a/tests/package.json
+++ b/tests/package.json
@@ -4,24 +4,24 @@
"description": "Unique Chain Tests",
"main": "",
"devDependencies": {
- "@polkadot/typegen": "10.7.2",
+ "@polkadot/typegen": "10.9.1",
"@types/chai": "^4.3.3",
"@types/chai-as-promised": "^7.1.5",
"@types/chai-like": "^1.1.1",
"@types/chai-subset": "^1.3.3",
"@types/mocha": "^10.0.0",
- "@types/node": "^20.2.3",
- "@typescript-eslint/eslint-plugin": "^5.47.0",
- "@typescript-eslint/parser": "^5.47.0",
+ "@types/node": "^20.4.2",
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
+ "@typescript-eslint/parser": "^6.0.0",
"@zombienet/orchestrator": "https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/orchestrator?2476ea76a368f1b1e94038dbfec29c27f114288e",
"@zombienet/utils": "https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/utils?2476ea76a368f1b1e94038dbfec29c27f114288e",
"chai": "^4.3.6",
"chai-subset": "^1.6.0",
- "eslint": "^8.25.0",
+ "eslint": "^8.45.0",
"eslint-plugin-mocha": "^10.1.0",
"mocha": "^10.1.0",
"ts-node": "^10.9.1",
- "typescript": "^5.0.4"
+ "typescript": "^5.1.6"
},
"mocha": {
"timeout": 9999999,
@@ -119,7 +119,7 @@
"benchMintingFee": "ts-node src/benchmarks/mintFee/benchmark.ts",
"load": "yarn _test './**/*.load.ts'",
"loadTransfer": "ts-node src/transfer.nload.ts",
- "polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > src/interfaces/metadata.json",
+ "polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9944 > src/interfaces/metadata.json",
"polkadot-types-from-defs": "ts-node --esm ./node_modules/.bin/polkadot-types-from-defs --endpoint src/interfaces/metadata.json --input src/interfaces/ --package .",
"polkadot-types-from-chain": "ts-node --esm ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",
"polkadot-types": "echo \"export default {}\" > src/interfaces/lookup.ts && yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain",
@@ -129,11 +129,11 @@
"license": "SEE LICENSE IN ../LICENSE",
"homepage": "",
"dependencies": {
- "@openzeppelin/contracts": "^4.9.0",
- "@polkadot/api": "10.7.2",
- "@polkadot/rpc-core": "^10.7.2",
- "@polkadot/util": "12.2.1",
- "@polkadot/util-crypto": "12.2.1",
+ "@openzeppelin/contracts": "^4.9.2",
+ "@polkadot/api": "10.9.1",
+ "@polkadot/rpc-core": "^10.9.1",
+ "@polkadot/util": "12.3.2",
+ "@polkadot/util-crypto": "12.3.2",
"@polkadot/wasm-crypto-asmjs": "^7.2.1",
"@polkadot/wasm-crypto-wasm": "^7.2.1",
"@rmrk-team/evm-contracts": "^1.2.1",
@@ -143,7 +143,7 @@
"csv-writer": "^1.6.0",
"find-process": "^1.4.7",
"lossless-json": "^2.0.9",
- "solc": "0.8.18",
+ "solc": "0.8.20",
"typechain": "^8.2.0",
"web3": "1.10.0"
},
tests/scripts/generate_types_package.shdiffbeforeafterboth--- a/tests/scripts/generate_types_package.sh
+++ b/tests/scripts/generate_types_package.sh
@@ -9,7 +9,7 @@
. $DIR/functions.sh
usage() {
- echo "Usage: [RPC_URL=http://localhost:9933] $0 <--rc|--release> [--force] [--push] [--rpc-url=http://localhost:9933]" 1>&2
+ echo "Usage: [RPC_URL=http://localhost:9944] $0 <--rc|--release> [--force] [--push] [--rpc-url=http://localhost:9933]" 1>&2
exit 1
}
tests/src/config.tsdiffbeforeafterboth--- a/tests/src/config.ts
+++ b/tests/src/config.ts
@@ -18,7 +18,6 @@
const config = {
substrateUrl: process.env.substrateUrl || 'ws://127.0.0.1:9944',
- frontierUrl: process.env.frontierUrl || 'http://127.0.0.1:9933',
relayUrl: process.env.relayUrl || 'ws://127.0.0.1:9844',
acalaUrl: process.env.acalaUrl || 'ws://127.0.0.1:9946',
karuraUrl: process.env.acalaUrl || 'ws://127.0.0.1:9946',
tests/src/config_docker.tsdiffbeforeafterboth--- a/tests/src/config_docker.ts
+++ b/tests/src/config_docker.ts
@@ -18,7 +18,6 @@
const config = {
substrateUrl: process.env.substrateUrl || 'ws://blockchain_nodes:9944',
- frontierUrl: process.env.frontierUrl || 'http://blockchain_nodes:9933',
};
export default config;
tests/src/eth/allowlist.test.tsdiffbeforeafterboth--- a/tests/src/eth/allowlist.test.ts
+++ b/tests/src/eth/allowlist.test.ts
@@ -30,7 +30,7 @@
itEth('Contract allowlist can be toggled', async ({helper}) => {
const owner = await helper.eth.createAccountWithBalance(donor);
const flipper = await helper.eth.deployFlipper(owner);
- const helpers = await helper.ethNativeContract.contractHelpers(owner);
+ const helpers = helper.ethNativeContract.contractHelpers(owner);
// Any user is allowed by default
expect(await helpers.methods.allowlistEnabled(flipper.options.address).call()).to.be.false;
tests/src/eth/fractionalizer/fractionalizer.test.tsdiffbeforeafterboth--- a/tests/src/eth/fractionalizer/fractionalizer.test.ts
+++ b/tests/src/eth/fractionalizer/fractionalizer.test.ts
@@ -249,7 +249,7 @@
itEth('call setRFTCollection with NFT collection', async ({helper}) => {
const owner = await helper.eth.createAccountWithBalance(donor);
const nftCollection = await helper.eth.createNFTCollection(owner, 'nft', 'NFT collection', 'NFT');
- const nftContract = await helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
+ const nftContract = helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
const fractionalizer = await deployContract(helper, owner);
const fractionalizerAddressCross = helper.ethCrossAccount.fromAddress(fractionalizer.options.address);
@@ -284,7 +284,7 @@
const owner = await helper.eth.createAccountWithBalance(donor);
const nftCollection = await helper.eth.createNFTCollection(owner, 'nft', 'NFT collection', 'NFT');
- const nftContract = await helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
+ const nftContract = helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
const mintResult = await nftContract.methods.mint(owner).send({from: owner});
const nftTokenId = mintResult.events.Transfer.returnValues.tokenId;
@@ -299,7 +299,7 @@
const nftOwner = await helper.eth.createAccountWithBalance(donor);
const nftCollection = await helper.eth.createNFTCollection(owner, 'nft', 'NFT collection', 'NFT');
- const nftContract = await helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
+ const nftContract = helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
const mintResult = await nftContract.methods.mint(owner).send({from: owner});
const nftTokenId = mintResult.events.Transfer.returnValues.tokenId;
await nftContract.methods.transfer(nftOwner, 1).send({from: owner});
@@ -316,7 +316,7 @@
const owner = await helper.eth.createAccountWithBalance(donor);
const nftCollection = await helper.eth.createNFTCollection(owner, 'nft', 'NFT collection', 'NFT');
- const nftContract = await helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
+ const nftContract = helper.ethNativeContract.collection(nftCollection.collectionAddress, 'nft', owner);
const mintResult = await nftContract.methods.mint(owner).send({from: owner});
const nftTokenId = mintResult.events.Transfer.returnValues.tokenId;
@@ -360,7 +360,7 @@
const {contract: fractionalizer} = await initContract(helper, owner);
const rftCollection = await helper.eth.createRFTCollection(owner, 'rft', 'RFT collection', 'RFT');
- const refungibleContract = await helper.ethNativeContract.collection(rftCollection.collectionAddress, 'rft', owner);
+ const refungibleContract = helper.ethNativeContract.collection(rftCollection.collectionAddress, 'rft', owner);
const mintResult = await refungibleContract.methods.mint(owner).send({from: owner});
const rftTokenId = mintResult.events.Transfer.returnValues.tokenId;
@@ -371,7 +371,7 @@
itEth('call rft2nft for RFT token that was not minted by fractionalizer contract', async ({helper}) => {
const owner = await helper.eth.createAccountWithBalance(donor);
const rftCollection = await helper.eth.createRFTCollection(owner, 'rft', 'RFT collection', 'RFT');
- const refungibleContract = await helper.ethNativeContract.collection(rftCollection.collectionAddress, 'rft', owner);
+ const refungibleContract = helper.ethNativeContract.collection(rftCollection.collectionAddress, 'rft', owner);
const fractionalizer = await deployContract(helper, owner);
@@ -394,7 +394,7 @@
const {rftTokenAddress} = await mintRFTToken(helper, owner, fractionalizer, 100n);
const {tokenId} = helper.ethAddress.extractTokenId(rftTokenAddress);
- const refungibleTokenContract = await helper.ethNativeContract.rftToken(rftTokenAddress, owner);
+ const refungibleTokenContract = helper.ethNativeContract.rftToken(rftTokenAddress, owner);
await refungibleTokenContract.methods.transfer(receiver, 50).send({from: owner});
await refungibleTokenContract.methods.approve(fractionalizer.options.address, 50).send({from: receiver});
await expect(fractionalizer.methods.rft2nft(rftCollectionAddress, tokenId).call({from: receiver}))
tests/src/eth/marketplace-v2/Market.soldiffbeforeafterboth--- a/tests/src/eth/marketplace-v2/Market.sol
+++ b/tests/src/eth/marketplace-v2/Market.sol
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: UNLICENSED
-pragma solidity 0.8.18;
+pragma solidity ^0.8.18;
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
@@ -411,4 +411,4 @@
payable(transferTo).transfer(balance);
}
}
-}
\ No newline at end of file
+}
tests/src/eth/marketplace-v2/marketplace.test.tsdiffbeforeafterboth--- a/tests/src/eth/marketplace-v2/marketplace.test.ts
+++ b/tests/src/eth/marketplace-v2/marketplace.test.ts
@@ -29,8 +29,12 @@
let donor: IKeyringPair;
before(async () => {
- await usingEthPlaygrounds(async (_helper, privateKey) => {
+ await usingEthPlaygrounds(async (helper, privateKey) => {
donor = await privateKey({url: import.meta.url});
+
+ const marketOwner = await helper.eth.createAccountWithBalance(donor, 600n);
+
+ await deployMarket(helper, marketOwner);
});
});
@@ -100,12 +104,6 @@
else if(sub instanceof Uint8Array)
return web3.utils.padLeft(web3.utils.bytesToHex(Array.from(sub)), 64);
}
-
- itEth('Deploy', async ({helper}) => {
- const marketOwner = await helper.eth.createAccountWithBalance(donor, 600n);
-
- await deployMarket(helper, marketOwner);
- });
itEth('Put + Buy [eth]', async ({helper}) => {
const ONE_TOKEN = helper.balance.getOneTokenNominal();
tests/src/eth/transferValue.test.tsdiffbeforeafterboth--- a/tests/src/eth/transferValue.test.ts
+++ b/tests/src/eth/transferValue.test.ts
@@ -36,7 +36,7 @@
'Test',
`
// SPDX-License-Identifier: UNLICENSED
- pragma solidity 0.8.18;
+ pragma solidity ^0.8.18;
contract Test {
function send() public payable {
@@ -61,4 +61,4 @@
expect(await helper.balance.getEthereum(receiverMirror)).to.be.equal(1000000000000000000n);
expect(await helper.balance.getEthereum(contract.options.address)).to.be.equal(1000000000000000000n);
});
-});
\ No newline at end of file
+});
tests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -6,7 +6,7 @@
import '@polkadot/api-base/types/consts';
import type { ApiTypes, AugmentedConst } from '@polkadot/api-base/types';
-import type { Option, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
+import type { Option, U8aFixed, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
import type { Codec } from '@polkadot/types-codec/types';
import type { H160, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, XcmV3MultiLocation } from '@polkadot/types/lookup';
@@ -17,6 +17,10 @@
interface AugmentedConsts<ApiType extends ApiTypes> {
appPromotion: {
/**
+ * Freeze identifier used by the pallet
+ **/
+ freezeIdentifier: U8aFixed & AugmentedConst<ApiType>;
+ /**
* Rate of return for interval in blocks defined in `RecalculationInterval`.
**/
intervalIncome: Perbill & AugmentedConst<ApiType>;
@@ -75,6 +79,13 @@
**/
[key: string]: Codec;
};
+ collatorSelection: {
+ licenceBondIdentifier: U8aFixed & AugmentedConst<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
common: {
/**
* Maximum admins per collection.
@@ -161,6 +172,36 @@
**/
[key: string]: Codec;
};
+ stateTrieMigration: {
+ /**
+ * Maximal number of bytes that a key can have.
+ *
+ * FRAME itself does not limit the key length.
+ * The concrete value must therefore depend on your storage usage.
+ * A [`frame_support::storage::StorageNMap`] for example can have an arbitrary number of
+ * keys which are then hashed and concatenated, resulting in arbitrarily long keys.
+ *
+ * Use the *state migration RPC* to retrieve the length of the longest key in your
+ * storage: <https://github.com/paritytech/substrate/issues/11642>
+ *
+ * The migration will halt with a `Halted` event if this value is too small.
+ * Since there is no real penalty from over-estimating, it is advised to use a large
+ * value. The default is 512 byte.
+ *
+ * Some key lengths for reference:
+ * - [`frame_support::storage::StorageValue`]: 32 byte
+ * - [`frame_support::storage::StorageMap`]: 64 byte
+ * - [`frame_support::storage::StorageDoubleMap`]: 96 byte
+ *
+ * For more info see
+ * <https://www.shawntabrizi.com/substrate/querying-substrate-storage-via-rpc/>
+ **/
+ maxKeyLen: u32 & AugmentedConst<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
system: {
/**
* Maximum number of block number to block hash mappings to keep (oldest pruned first).
tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -17,9 +17,9 @@
**/
AdminNotSet: AugmentedError<ApiType>;
/**
- * Errors caused by incorrect actions with a locked balance.
+ * Errors caused by incorrect state of a staker in context of the pallet.
**/
- IncorrectLockedBalanceOperation: AugmentedError<ApiType>;
+ InconsistencyState: AugmentedError<ApiType>;
/**
* Errors caused by insufficient staked balance.
**/
@@ -675,7 +675,7 @@
**/
Filtered: AugmentedError<ApiType>;
/**
- * The unlock operation cannot succeed because there are still users of the lock.
+ * The unlock operation cannot succeed because there are still consumers of the lock.
**/
InUse: AugmentedError<ApiType>;
/**
@@ -807,6 +807,42 @@
**/
[key: string]: AugmentedError<ApiType>;
};
+ stateTrieMigration: {
+ /**
+ * Bad child root provided.
+ **/
+ BadChildRoot: AugmentedError<ApiType>;
+ /**
+ * Bad witness data provided.
+ **/
+ BadWitness: AugmentedError<ApiType>;
+ /**
+ * A key was longer than the configured maximum.
+ *
+ * This means that the migration halted at the current [`Progress`] and
+ * can be resumed with a larger [`crate::Config::MaxKeyLen`] value.
+ * Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.
+ * The value should only be increased to avoid a storage migration for the currently
+ * stored [`crate::Progress::LastKey`].
+ **/
+ KeyTooLong: AugmentedError<ApiType>;
+ /**
+ * Max signed limits not respected.
+ **/
+ MaxSignedLimits: AugmentedError<ApiType>;
+ /**
+ * submitter does not have enough funds.
+ **/
+ NotEnoughFunds: AugmentedError<ApiType>;
+ /**
+ * Signed migration is not allowed because the maximum limit is not set yet.
+ **/
+ SignedMigrationNotAllowed: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
structure: {
/**
* While nesting, reached the breadth limit of nesting, exceeding the provided budget.
tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -8,7 +8,7 @@
import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u32, u64, u8 } from '@polkadot/types-codec';
import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
+import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
@@ -705,6 +705,29 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ stateTrieMigration: {
+ /**
+ * The auto migration task finished.
+ **/
+ AutoMigrationFinished: AugmentedEvent<ApiType, []>;
+ /**
+ * Migration got halted due to an error or miss-configuration.
+ **/
+ Halted: AugmentedEvent<ApiType, [error: PalletStateTrieMigrationError], { error: PalletStateTrieMigrationError }>;
+ /**
+ * Given number of `(top, child)` keys were migrated respectively, with the given
+ * `compute`.
+ **/
+ Migrated: AugmentedEvent<ApiType, [top: u32, child: u32, compute: PalletStateTrieMigrationMigrationCompute], { top: u32, child: u32, compute: PalletStateTrieMigrationMigrationCompute }>;
+ /**
+ * Some account got slashed by the given amount.
+ **/
+ Slashed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
structure: {
/**
* Executed call on behalf of the token.
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -10,7 +10,7 @@
import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } 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, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmount, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletNonfungibleItemData, PalletPreimageRequestStatus, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV3MultiLocation, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmount, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCodeMetadata, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletNonfungibleItemData, PalletPreimageRequestStatus, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV3MultiLocation, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
import type { Observable } from '@polkadot/types/types';
export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -289,6 +289,7 @@
};
evm: {
accountCodes: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Bytes>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
+ accountCodesMetadata: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Option<PalletEvmCodeMetadata>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
accountStorages: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<H256>, [H160, H256]> & QueryableStorageEntry<ApiType, [H160, H256]>;
/**
* Written on log, reset after transaction
@@ -853,6 +854,31 @@
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
+ stateTrieMigration: {
+ /**
+ * The limits that are imposed on automatic migrations.
+ *
+ * If set to None, then no automatic migration happens.
+ **/
+ autoLimits: AugmentedQuery<ApiType, () => Observable<Option<PalletStateTrieMigrationMigrationLimits>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Migration progress.
+ *
+ * This stores the snapshot of the last migrated keys. It can be set into motion and move
+ * forward by any of the means provided by this pallet.
+ **/
+ migrationProcess: AugmentedQuery<ApiType, () => Observable<PalletStateTrieMigrationMigrationTask>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The maximum limits that the signed migration could use.
+ *
+ * If not set, no signed submission is allowed.
+ **/
+ signedMigrationMaxLimits: AugmentedQuery<ApiType, () => Observable<Option<PalletStateTrieMigrationMigrationLimits>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
sudo: {
/**
* The `AccountId` of the sudo key.
tests/src/interfaces/augment-api-runtime.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-runtime.ts
+++ b/tests/src/interfaces/augment-api-runtime.ts
@@ -6,20 +6,19 @@
import '@polkadot/api-base/types/calls';
import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@polkadot/api-base/types';
-import type { Bytes, Null, Option, Result, U256, Vec, bool, u256, u32, u64 } from '@polkadot/types-codec';
+import type { Bytes, Null, Option, Vec, u32 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { CheckInherentsResult, InherentData } from '@polkadot/types/interfaces/blockbuilder';
import type { BlockHash } from '@polkadot/types/interfaces/chain';
import type { AuthorityId } from '@polkadot/types/interfaces/consensus';
import type { CollationInfo } from '@polkadot/types/interfaces/cumulus';
-import type { BlockV2, EthReceiptV3, EthTransactionStatus, TransactionV2 } from '@polkadot/types/interfaces/eth';
-import type { EvmAccount, EvmCallInfo, EvmCreateInfo } from '@polkadot/types/interfaces/evm';
+import type { TransactionV2 } from '@polkadot/types/interfaces/eth';
import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata';
import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
-import type { AccountId, Balance, Block, H160, H256, Header, Index, KeyTypeId, Permill, SlotDuration, Weight } from '@polkadot/types/interfaces/runtime';
+import type { AccountId, Balance, Block, Header, Index, KeyTypeId, SlotDuration, Weight } from '@polkadot/types/interfaces/runtime';
import type { RuntimeVersion } from '@polkadot/types/interfaces/state';
-import type { ApplyExtrinsicResult, DispatchError } from '@polkadot/types/interfaces/system';
+import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system';
import type { TransactionSource, TransactionValidity } from '@polkadot/types/interfaces/txqueue';
import type { IExtrinsic, Observable } from '@polkadot/types/types';
@@ -113,69 +112,6 @@
* Returns the version of the runtime.
**/
version: AugmentedCall<ApiType, () => Observable<RuntimeVersion>>;
- /**
- * Generic call
- **/
- [key: string]: DecoratedCallBase<ApiType>;
- };
- /** 0x582211f65bb14b89/4 */
- ethereumRuntimeRPCApi: {
- /**
- * Returns pallet_evm::Accounts by address.
- **/
- accountBasic: AugmentedCall<ApiType, (address: H160 | string | Uint8Array) => Observable<EvmAccount>>;
- /**
- * For a given account address, returns pallet_evm::AccountCodes.
- **/
- accountCodeAt: AugmentedCall<ApiType, (address: H160 | string | Uint8Array) => Observable<Bytes>>;
- /**
- * Returns the converted FindAuthor::find_author authority id.
- **/
- author: AugmentedCall<ApiType, () => Observable<H160>>;
- /**
- * Returns a frame_ethereum::call response. If `estimate` is true,
- **/
- call: AugmentedCall<ApiType, (from: H160 | string | Uint8Array, to: H160 | string | Uint8Array, data: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: U256 | AnyNumber | Uint8Array, maxFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, estimate: bool | boolean | Uint8Array, accessList: Option<Vec<ITuple<[H160, Vec<H256>]>>> | null | Uint8Array | Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => Observable<Result<EvmCallInfo, DispatchError>>>;
- /**
- * Returns runtime defined pallet_evm::ChainId.
- **/
- chainId: AugmentedCall<ApiType, () => Observable<u64>>;
- /**
- * Returns a frame_ethereum::call response. If `estimate` is true,
- **/
- create: AugmentedCall<ApiType, (from: H160 | string | Uint8Array, data: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: U256 | AnyNumber | Uint8Array, maxFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, maxPriorityFeePerGas: Option<U256> | null | Uint8Array | U256 | AnyNumber, nonce: Option<U256> | null | Uint8Array | U256 | AnyNumber, estimate: bool | boolean | Uint8Array, accessList: Option<Vec<ITuple<[H160, Vec<H256>]>>> | null | Uint8Array | Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => Observable<Result<EvmCreateInfo, DispatchError>>>;
- /**
- * Return all the current data for a block in a single runtime call.
- **/
- currentAll: AugmentedCall<ApiType, () => Observable<ITuple<[Option<BlockV2>, Option<Vec<EthReceiptV3>>, Option<Vec<EthTransactionStatus>>]>>>;
- /**
- * Return the current block.
- **/
- currentBlock: AugmentedCall<ApiType, () => Observable<BlockV2>>;
- /**
- * Return the current receipt.
- **/
- currentReceipts: AugmentedCall<ApiType, () => Observable<Option<Vec<EthReceiptV3>>>>;
- /**
- * Return the current transaction status.
- **/
- currentTransactionStatuses: AugmentedCall<ApiType, () => Observable<Option<Vec<EthTransactionStatus>>>>;
- /**
- * Return the elasticity multiplier.
- **/
- elasticity: AugmentedCall<ApiType, () => Observable<Option<Permill>>>;
- /**
- * Receives a `Vec<OpaqueExtrinsic>` and filters all the ethereum transactions.
- **/
- extrinsicFilter: AugmentedCall<ApiType, (xts: Vec<Extrinsic> | (Extrinsic | IExtrinsic | string | Uint8Array)[]) => Observable<Vec<TransactionV2>>>;
- /**
- * Returns FixedGasPrice::min_gas_price
- **/
- gasPrice: AugmentedCall<ApiType, () => Observable<u256>>;
- /**
- * For a given account address and index, returns pallet_evm::AccountStorages.
- **/
- storageAt: AugmentedCall<ApiType, (address: H160 | string | Uint8Array, index: u256 | AnyNumber | Uint8Array) => Observable<H256>>;
/**
* Generic call
**/
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -10,7 +10,7 @@
import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, Call, H160, H256, MultiAddress } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OpalRuntimeRuntimeCommonSessionKeys, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistration, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OpalRuntimeRuntimeCommonSessionKeys, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistration, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;
export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;
@@ -20,6 +20,19 @@
interface AugmentedSubmittables<ApiType extends ApiTypes> {
appPromotion: {
/**
+ * Called for blocks that, for some reason, have not been unstacked
+ *
+ * # Permissions
+ *
+ * * Sudo
+ *
+ * # Arguments
+ *
+ * * `origin`: Must be `Root`.
+ * * `pending_blocks`: Block numbers that will be processed.
+ **/
+ forceUnstake: AugmentedSubmittable<(pendingBlocks: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<u32>]>;
+ /**
* Recalculates interest for the specified number of stakers.
* If all stakers are not recalculated, the next call of the extrinsic
* will continue the recalculation, from those stakers for whom this
@@ -320,13 +333,6 @@
* Withdraw balance from EVM into currency/balances pallet.
**/
withdraw: AugmentedSubmittable<(address: H160 | string | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, u128]>;
- /**
- * Generic tx
- **/
- [key: string]: SubmittableExtrinsicFunction<ApiType>;
- };
- evmCoderSubstrate: {
- emptyCall: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
/**
* Generic tx
**/
@@ -966,6 +972,74 @@
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
+ stateTrieMigration: {
+ /**
+ * Continue the migration for the given `limits`.
+ *
+ * The dispatch origin of this call can be any signed account.
+ *
+ * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
+ * Upon successful execution, the transaction fee is returned.
+ *
+ * The (potentially over-estimated) of the byte length of all the data read must be
+ * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
+ * that executing the current `MigrationTask` with the given `limits` will not exceed
+ * `real_size_upper` bytes of read data.
+ *
+ * The `witness_task` is merely a helper to prevent the caller from being slashed or
+ * generally trigger a migration that they do not intend. This parameter is just a message
+ * from caller, saying that they believed `witness_task` was the last state of the
+ * migration, and they only wish for their transaction to do anything, if this assumption
+ * holds. In case `witness_task` does not match, the transaction fails.
+ *
+ * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
+ * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
+ * `size` limit can always be overwritten.
+ **/
+ continueMigrate: AugmentedSubmittable<(limits: PalletStateTrieMigrationMigrationLimits | { size_?: any; item?: any } | string | Uint8Array, realSizeUpper: u32 | AnyNumber | Uint8Array, witnessTask: PalletStateTrieMigrationMigrationTask | { progressTop?: any; progressChild?: any; size_?: any; topItems?: any; childItems?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletStateTrieMigrationMigrationLimits, u32, PalletStateTrieMigrationMigrationTask]>;
+ /**
+ * Control the automatic migration.
+ *
+ * The dispatch origin of this call must be [`Config::ControlOrigin`].
+ **/
+ controlAutoMigration: AugmentedSubmittable<(maybeConfig: Option<PalletStateTrieMigrationMigrationLimits> | null | Uint8Array | PalletStateTrieMigrationMigrationLimits | { size_?: any; item?: any } | string) => SubmittableExtrinsic<ApiType>, [Option<PalletStateTrieMigrationMigrationLimits>]>;
+ /**
+ * Forcefully set the progress the running migration.
+ *
+ * This is only useful in one case: the next key to migrate is too big to be migrated with
+ * a signed account, in a parachain context, and we simply want to skip it. A reasonable
+ * example of this would be `:code:`, which is both very expensive to migrate, and commonly
+ * used, so probably it is already migrated.
+ *
+ * In case you mess things up, you can also, in principle, use this to reset the migration
+ * process.
+ **/
+ forceSetProgress: AugmentedSubmittable<(progressTop: PalletStateTrieMigrationProgress | { ToStart: any } | { LastKey: any } | { Complete: any } | string | Uint8Array, progressChild: PalletStateTrieMigrationProgress | { ToStart: any } | { LastKey: any } | { Complete: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletStateTrieMigrationProgress, PalletStateTrieMigrationProgress]>;
+ /**
+ * Migrate the list of child keys by iterating each of them one by one.
+ *
+ * All of the given child keys must be present under one `child_root`.
+ *
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
+ * should only be used in case any keys are leftover due to a bug.
+ **/
+ migrateCustomChild: AugmentedSubmittable<(root: Bytes | string | Uint8Array, childKeys: Vec<Bytes> | (Bytes | string | Uint8Array)[], totalSize: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Vec<Bytes>, u32]>;
+ /**
+ * Migrate the list of top keys by iterating each of them one by one.
+ *
+ * This does not affect the global migration process tracker ([`MigrationProcess`]), and
+ * should only be used in case any keys are leftover due to a bug.
+ **/
+ migrateCustomTop: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[], witnessSize: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>, u32]>;
+ /**
+ * Set the maximum limit of the signed migration.
+ **/
+ setSignedMaxLimits: AugmentedSubmittable<(limits: PalletStateTrieMigrationMigrationLimits | { size_?: any; item?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletStateTrieMigrationMigrationLimits]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
structure: {
/**
* Generic tx
@@ -1033,7 +1107,6 @@
/**
* Make some on-chain remark.
*
- * ## Complexity
* - `O(1)`
**/
remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
@@ -1043,16 +1116,10 @@
remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code.
- *
- * ## Complexity
- * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`
**/
setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the new runtime code without doing any checks of the given `code`.
- *
- * ## Complexity
- * - `O(C)` where `C` length of `code`
**/
setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
tests/src/interfaces/augment-types.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -5,7 +5,7 @@
// this is required to allow for ambient/previous definitions
import '@polkadot/types/types/registry';
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, 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, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, 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, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from './default';
import type { Data, StorageKey } from '@polkadot/types';
import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, ISize, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, isize, 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';
@@ -25,7 +25,7 @@
import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective';
import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus';
import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractExecResultU64, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractInstantiateResultU64, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
-import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
+import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractConstructorSpecV4, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEnvironmentV4, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMessageSpecV3, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';
import type { CollationInfo, CollationInfoV1, ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';
import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy';
@@ -254,6 +254,7 @@
ContractConstructorSpecV1: ContractConstructorSpecV1;
ContractConstructorSpecV2: ContractConstructorSpecV2;
ContractConstructorSpecV3: ContractConstructorSpecV3;
+ ContractConstructorSpecV4: ContractConstructorSpecV4;
ContractContractSpecV0: ContractContractSpecV0;
ContractContractSpecV1: ContractContractSpecV1;
ContractContractSpecV2: ContractContractSpecV2;
@@ -262,6 +263,7 @@
ContractCryptoHasher: ContractCryptoHasher;
ContractDiscriminant: ContractDiscriminant;
ContractDisplayName: ContractDisplayName;
+ ContractEnvironmentV4: ContractEnvironmentV4;
ContractEventParamSpecLatest: ContractEventParamSpecLatest;
ContractEventParamSpecV0: ContractEventParamSpecV0;
ContractEventParamSpecV2: ContractEventParamSpecV2;
@@ -298,6 +300,7 @@
ContractMessageSpecV0: ContractMessageSpecV0;
ContractMessageSpecV1: ContractMessageSpecV1;
ContractMessageSpecV2: ContractMessageSpecV2;
+ ContractMessageSpecV3: ContractMessageSpecV3;
ContractMetadata: ContractMetadata;
ContractMetadataLatest: ContractMetadataLatest;
ContractMetadataV0: ContractMetadataV0;
@@ -332,6 +335,7 @@
CumulusPalletParachainSystemError: CumulusPalletParachainSystemError;
CumulusPalletParachainSystemEvent: CumulusPalletParachainSystemEvent;
CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot;
+ CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;
CumulusPalletXcmCall: CumulusPalletXcmCall;
CumulusPalletXcmError: CumulusPalletXcmError;
CumulusPalletXcmEvent: CumulusPalletXcmEvent;
@@ -866,7 +870,7 @@
PalletEventMetadataV14: PalletEventMetadataV14;
PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
PalletEvmCall: PalletEvmCall;
- PalletEvmCoderSubstrateCall: PalletEvmCoderSubstrateCall;
+ PalletEvmCodeMetadata: PalletEvmCodeMetadata;
PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
PalletEvmContractHelpersCall: PalletEvmContractHelpersCall;
PalletEvmContractHelpersError: PalletEvmContractHelpersError;
@@ -912,6 +916,13 @@
PalletSessionError: PalletSessionError;
PalletSessionEvent: PalletSessionEvent;
PalletsOrigin: PalletsOrigin;
+ PalletStateTrieMigrationCall: PalletStateTrieMigrationCall;
+ PalletStateTrieMigrationError: PalletStateTrieMigrationError;
+ PalletStateTrieMigrationEvent: PalletStateTrieMigrationEvent;
+ PalletStateTrieMigrationMigrationCompute: PalletStateTrieMigrationMigrationCompute;
+ PalletStateTrieMigrationMigrationLimits: PalletStateTrieMigrationMigrationLimits;
+ PalletStateTrieMigrationMigrationTask: PalletStateTrieMigrationMigrationTask;
+ PalletStateTrieMigrationProgress: PalletStateTrieMigrationProgress;
PalletStorageMetadataLatest: PalletStorageMetadataLatest;
PalletStorageMetadataV14: PalletStorageMetadataV14;
PalletStructureCall: PalletStructureCall;
tests/src/interfaces/default/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -147,11 +147,17 @@
/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */
export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
readonly dmqMqcHead: H256;
- readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
+ readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;
readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
}
+/** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize */
+export interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct {
+ readonly remainingCount: u32;
+ readonly remainingSize: u32;
+}
+
/** @name CumulusPalletXcmCall */
export interface CumulusPalletXcmCall extends Null {}
@@ -452,9 +458,10 @@
readonly isCreateEmpty: boolean;
readonly isOther: boolean;
readonly asOther: Text;
+ readonly isMaxNonce: boolean;
readonly isInvalidCode: boolean;
readonly asInvalidCode: u8;
- readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
+ readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode';
}
/** @name EvmCoreErrorExitFatal */
@@ -1062,7 +1069,11 @@
readonly asUnstakePartial: {
readonly amount: u128;
} & Struct;
- readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial';
+ readonly isForceUnstake: boolean;
+ readonly asForceUnstake: {
+ readonly pendingBlocks: Vec<u32>;
+ } & Struct;
+ readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake';
}
/** @name PalletAppPromotionError */
@@ -1072,9 +1083,9 @@
readonly isNotSufficientFunds: boolean;
readonly isPendingForBlockOverflow: boolean;
readonly isSponsorNotSet: boolean;
- readonly isIncorrectLockedBalanceOperation: boolean;
readonly isInsufficientStakedBalance: boolean;
- readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation' | 'InsufficientStakedBalance';
+ readonly isInconsistencyState: boolean;
+ readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'InsufficientStakedBalance' | 'InconsistencyState';
}
/** @name PalletAppPromotionEvent */
@@ -1608,10 +1619,10 @@
readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
}
-/** @name PalletEvmCoderSubstrateCall */
-export interface PalletEvmCoderSubstrateCall extends Enum {
- readonly isEmptyCall: boolean;
- readonly type: 'EmptyCall';
+/** @name PalletEvmCodeMetadata */
+export interface PalletEvmCodeMetadata extends Struct {
+ readonly size_: u64;
+ readonly hash_: H256;
}
/** @name PalletEvmCoderSubstrateError */
@@ -2215,6 +2226,104 @@
readonly type: 'NewSession';
}
+/** @name PalletStateTrieMigrationCall */
+export interface PalletStateTrieMigrationCall extends Enum {
+ readonly isControlAutoMigration: boolean;
+ readonly asControlAutoMigration: {
+ readonly maybeConfig: Option<PalletStateTrieMigrationMigrationLimits>;
+ } & Struct;
+ readonly isContinueMigrate: boolean;
+ readonly asContinueMigrate: {
+ readonly limits: PalletStateTrieMigrationMigrationLimits;
+ readonly realSizeUpper: u32;
+ readonly witnessTask: PalletStateTrieMigrationMigrationTask;
+ } & Struct;
+ readonly isMigrateCustomTop: boolean;
+ readonly asMigrateCustomTop: {
+ readonly keys_: Vec<Bytes>;
+ readonly witnessSize: u32;
+ } & Struct;
+ readonly isMigrateCustomChild: boolean;
+ readonly asMigrateCustomChild: {
+ readonly root: Bytes;
+ readonly childKeys: Vec<Bytes>;
+ readonly totalSize: u32;
+ } & Struct;
+ readonly isSetSignedMaxLimits: boolean;
+ readonly asSetSignedMaxLimits: {
+ readonly limits: PalletStateTrieMigrationMigrationLimits;
+ } & Struct;
+ readonly isForceSetProgress: boolean;
+ readonly asForceSetProgress: {
+ readonly progressTop: PalletStateTrieMigrationProgress;
+ readonly progressChild: PalletStateTrieMigrationProgress;
+ } & Struct;
+ readonly type: 'ControlAutoMigration' | 'ContinueMigrate' | 'MigrateCustomTop' | 'MigrateCustomChild' | 'SetSignedMaxLimits' | 'ForceSetProgress';
+}
+
+/** @name PalletStateTrieMigrationError */
+export interface PalletStateTrieMigrationError extends Enum {
+ readonly isMaxSignedLimits: boolean;
+ readonly isKeyTooLong: boolean;
+ readonly isNotEnoughFunds: boolean;
+ readonly isBadWitness: boolean;
+ readonly isSignedMigrationNotAllowed: boolean;
+ readonly isBadChildRoot: boolean;
+ readonly type: 'MaxSignedLimits' | 'KeyTooLong' | 'NotEnoughFunds' | 'BadWitness' | 'SignedMigrationNotAllowed' | 'BadChildRoot';
+}
+
+/** @name PalletStateTrieMigrationEvent */
+export interface PalletStateTrieMigrationEvent extends Enum {
+ readonly isMigrated: boolean;
+ readonly asMigrated: {
+ readonly top: u32;
+ readonly child: u32;
+ readonly compute: PalletStateTrieMigrationMigrationCompute;
+ } & Struct;
+ readonly isSlashed: boolean;
+ readonly asSlashed: {
+ readonly who: AccountId32;
+ readonly amount: u128;
+ } & Struct;
+ readonly isAutoMigrationFinished: boolean;
+ readonly isHalted: boolean;
+ readonly asHalted: {
+ readonly error: PalletStateTrieMigrationError;
+ } & Struct;
+ readonly type: 'Migrated' | 'Slashed' | 'AutoMigrationFinished' | 'Halted';
+}
+
+/** @name PalletStateTrieMigrationMigrationCompute */
+export interface PalletStateTrieMigrationMigrationCompute extends Enum {
+ readonly isSigned: boolean;
+ readonly isAuto: boolean;
+ readonly type: 'Signed' | 'Auto';
+}
+
+/** @name PalletStateTrieMigrationMigrationLimits */
+export interface PalletStateTrieMigrationMigrationLimits extends Struct {
+ readonly size_: u32;
+ readonly item: u32;
+}
+
+/** @name PalletStateTrieMigrationMigrationTask */
+export interface PalletStateTrieMigrationMigrationTask extends Struct {
+ readonly progressTop: PalletStateTrieMigrationProgress;
+ readonly progressChild: PalletStateTrieMigrationProgress;
+ readonly size_: u32;
+ readonly topItems: u32;
+ readonly childItems: u32;
+}
+
+/** @name PalletStateTrieMigrationProgress */
+export interface PalletStateTrieMigrationProgress extends Enum {
+ readonly isToStart: boolean;
+ readonly isLastKey: boolean;
+ readonly asLastKey: Bytes;
+ readonly isComplete: boolean;
+ readonly type: 'ToStart' | 'LastKey' | 'Complete';
+}
+
/** @name PalletStructureCall */
export interface PalletStructureCall extends Null {}
@@ -2796,7 +2905,7 @@
readonly amount: u128;
readonly owner: XcmVersionedMultiLocation;
readonly locker: XcmVersionedMultiLocation;
- readonly users: u32;
+ readonly consumers: Vec<ITuple<[Null, u128]>>;
}
/** @name PalletXcmVersionMigrationStage */
@@ -2942,7 +3051,8 @@
readonly isExhausted: boolean;
readonly isCorruption: boolean;
readonly isUnavailable: boolean;
- readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';
+ readonly isRootNotAllowed: boolean;
+ readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable' | 'RootNotAllowed';
}
/** @name SpRuntimeModuleError */
@@ -2973,7 +3083,8 @@
readonly isUnsupported: boolean;
readonly isCannotCreateHold: boolean;
readonly isNotExpendable: boolean;
- readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable';
+ readonly isBlocked: boolean;
+ readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable' | 'Blocked';
}
/** @name SpRuntimeTransactionalError */
tests/src/interfaces/lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -133,7 +133,8 @@
Transactional: 'SpRuntimeTransactionalError',
Exhausted: 'Null',
Corruption: 'Null',
- Unavailable: 'Null'
+ Unavailable: 'Null',
+ RootNotAllowed: 'Null'
}
},
/**
@@ -147,7 +148,7 @@
* Lookup27: sp_runtime::TokenError
**/
SpRuntimeTokenError: {
- _enum: ['FundsUnavailable', 'OnlyProvider', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported', 'CannotCreateHold', 'NotExpendable']
+ _enum: ['FundsUnavailable', 'OnlyProvider', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported', 'CannotCreateHold', 'NotExpendable', 'Blocked']
},
/**
* Lookup28: sp_arithmetic::ArithmeticError
@@ -162,8 +163,40 @@
_enum: ['LimitReached', 'NoLayer']
},
/**
- * Lookup30: cumulus_pallet_parachain_system::pallet::Event<T>
+ * Lookup30: pallet_state_trie_migration::pallet::Event<T>
**/
+ PalletStateTrieMigrationEvent: {
+ _enum: {
+ Migrated: {
+ top: 'u32',
+ child: 'u32',
+ compute: 'PalletStateTrieMigrationMigrationCompute',
+ },
+ Slashed: {
+ who: 'AccountId32',
+ amount: 'u128',
+ },
+ AutoMigrationFinished: 'Null',
+ Halted: {
+ error: 'PalletStateTrieMigrationError'
+ }
+ }
+ },
+ /**
+ * Lookup31: pallet_state_trie_migration::pallet::MigrationCompute
+ **/
+ PalletStateTrieMigrationMigrationCompute: {
+ _enum: ['Signed', 'Auto']
+ },
+ /**
+ * Lookup32: pallet_state_trie_migration::pallet::Error<T>
+ **/
+ PalletStateTrieMigrationError: {
+ _enum: ['MaxSignedLimits', 'KeyTooLong', 'NotEnoughFunds', 'BadWitness', 'SignedMigrationNotAllowed', 'BadChildRoot']
+ },
+ /**
+ * Lookup33: cumulus_pallet_parachain_system::pallet::Event<T>
+ **/
CumulusPalletParachainSystemEvent: {
_enum: {
ValidationFunctionStored: 'Null',
@@ -187,7 +220,7 @@
}
},
/**
- * Lookup32: pallet_collator_selection::pallet::Event<T>
+ * Lookup35: pallet_collator_selection::pallet::Event<T>
**/
PalletCollatorSelectionEvent: {
_enum: {
@@ -214,7 +247,7 @@
}
},
/**
- * Lookup33: pallet_session::pallet::Event
+ * Lookup36: pallet_session::pallet::Event
**/
PalletSessionEvent: {
_enum: {
@@ -224,7 +257,7 @@
}
},
/**
- * Lookup34: pallet_balances::pallet::Event<T, I>
+ * Lookup37: pallet_balances::pallet::Event<T, I>
**/
PalletBalancesEvent: {
_enum: {
@@ -315,13 +348,13 @@
}
},
/**
- * Lookup35: frame_support::traits::tokens::misc::BalanceStatus
+ * Lookup38: frame_support::traits::tokens::misc::BalanceStatus
**/
FrameSupportTokensMiscBalanceStatus: {
_enum: ['Free', 'Reserved']
},
/**
- * Lookup36: pallet_transaction_payment::pallet::Event<T>
+ * Lookup39: pallet_transaction_payment::pallet::Event<T>
**/
PalletTransactionPaymentEvent: {
_enum: {
@@ -333,7 +366,7 @@
}
},
/**
- * Lookup37: pallet_treasury::pallet::Event<T, I>
+ * Lookup40: pallet_treasury::pallet::Event<T, I>
**/
PalletTreasuryEvent: {
_enum: {
@@ -373,7 +406,7 @@
}
},
/**
- * Lookup38: pallet_sudo::pallet::Event<T>
+ * Lookup41: pallet_sudo::pallet::Event<T>
**/
PalletSudoEvent: {
_enum: {
@@ -389,7 +422,7 @@
}
},
/**
- * Lookup42: orml_vesting::module::Event<T>
+ * Lookup45: orml_vesting::module::Event<T>
**/
OrmlVestingModuleEvent: {
_enum: {
@@ -408,7 +441,7 @@
}
},
/**
- * Lookup43: orml_vesting::VestingSchedule<BlockNumber, Balance>
+ * Lookup46: orml_vesting::VestingSchedule<BlockNumber, Balance>
**/
OrmlVestingVestingSchedule: {
start: 'u32',
@@ -417,7 +450,7 @@
perPeriod: 'Compact<u128>'
},
/**
- * Lookup45: orml_xtokens::module::Event<T>
+ * Lookup48: orml_xtokens::module::Event<T>
**/
OrmlXtokensModuleEvent: {
_enum: {
@@ -430,18 +463,18 @@
}
},
/**
- * Lookup46: xcm::v3::multiasset::MultiAssets
+ * Lookup49: xcm::v3::multiasset::MultiAssets
**/
XcmV3MultiassetMultiAssets: 'Vec<XcmV3MultiAsset>',
/**
- * Lookup48: xcm::v3::multiasset::MultiAsset
+ * Lookup51: xcm::v3::multiasset::MultiAsset
**/
XcmV3MultiAsset: {
id: 'XcmV3MultiassetAssetId',
fun: 'XcmV3MultiassetFungibility'
},
/**
- * Lookup49: xcm::v3::multiasset::AssetId
+ * Lookup52: xcm::v3::multiasset::AssetId
**/
XcmV3MultiassetAssetId: {
_enum: {
@@ -450,14 +483,14 @@
}
},
/**
- * Lookup50: xcm::v3::multilocation::MultiLocation
+ * Lookup53: xcm::v3::multilocation::MultiLocation
**/
XcmV3MultiLocation: {
parents: 'u8',
interior: 'XcmV3Junctions'
},
/**
- * Lookup51: xcm::v3::junctions::Junctions
+ * Lookup54: xcm::v3::junctions::Junctions
**/
XcmV3Junctions: {
_enum: {
@@ -473,7 +506,7 @@
}
},
/**
- * Lookup52: xcm::v3::junction::Junction
+ * Lookup55: xcm::v3::junction::Junction
**/
XcmV3Junction: {
_enum: {
@@ -505,7 +538,7 @@
}
},
/**
- * Lookup55: xcm::v3::junction::NetworkId
+ * Lookup58: xcm::v3::junction::NetworkId
**/
XcmV3JunctionNetworkId: {
_enum: {
@@ -527,7 +560,7 @@
}
},
/**
- * Lookup57: xcm::v3::junction::BodyId
+ * Lookup60: xcm::v3::junction::BodyId
**/
XcmV3JunctionBodyId: {
_enum: {
@@ -544,7 +577,7 @@
}
},
/**
- * Lookup58: xcm::v3::junction::BodyPart
+ * Lookup61: xcm::v3::junction::BodyPart
**/
XcmV3JunctionBodyPart: {
_enum: {
@@ -567,7 +600,7 @@
}
},
/**
- * Lookup59: xcm::v3::multiasset::Fungibility
+ * Lookup62: xcm::v3::multiasset::Fungibility
**/
XcmV3MultiassetFungibility: {
_enum: {
@@ -576,7 +609,7 @@
}
},
/**
- * Lookup60: xcm::v3::multiasset::AssetInstance
+ * Lookup63: xcm::v3::multiasset::AssetInstance
**/
XcmV3MultiassetAssetInstance: {
_enum: {
@@ -589,7 +622,7 @@
}
},
/**
- * Lookup63: orml_tokens::module::Event<T>
+ * Lookup66: orml_tokens::module::Event<T>
**/
OrmlTokensModuleEvent: {
_enum: {
@@ -676,7 +709,7 @@
}
},
/**
- * Lookup64: pallet_foreign_assets::AssetIds
+ * Lookup67: pallet_foreign_assets::AssetIds
**/
PalletForeignAssetsAssetIds: {
_enum: {
@@ -685,13 +718,13 @@
}
},
/**
- * Lookup65: pallet_foreign_assets::NativeCurrency
+ * Lookup68: pallet_foreign_assets::NativeCurrency
**/
PalletForeignAssetsNativeCurrency: {
_enum: ['Here', 'Parent']
},
/**
- * Lookup66: pallet_identity::pallet::Event<T>
+ * Lookup69: pallet_identity::pallet::Event<T>
**/
PalletIdentityEvent: {
_enum: {
@@ -748,7 +781,7 @@
}
},
/**
- * Lookup67: pallet_preimage::pallet::Event<T>
+ * Lookup70: pallet_preimage::pallet::Event<T>
**/
PalletPreimageEvent: {
_enum: {
@@ -773,7 +806,7 @@
}
},
/**
- * Lookup68: cumulus_pallet_xcmp_queue::pallet::Event<T>
+ * Lookup71: cumulus_pallet_xcmp_queue::pallet::Event<T>
**/
CumulusPalletXcmpQueueEvent: {
_enum: {
@@ -808,7 +841,7 @@
}
},
/**
- * Lookup69: xcm::v3::traits::Error
+ * Lookup72: xcm::v3::traits::Error
**/
XcmV3TraitsError: {
_enum: {
@@ -855,7 +888,7 @@
}
},
/**
- * Lookup71: pallet_xcm::pallet::Event<T>
+ * Lookup74: pallet_xcm::pallet::Event<T>
**/
PalletXcmEvent: {
_enum: {
@@ -885,7 +918,7 @@
}
},
/**
- * Lookup72: xcm::v3::traits::Outcome
+ * Lookup75: xcm::v3::traits::Outcome
**/
XcmV3TraitsOutcome: {
_enum: {
@@ -895,11 +928,11 @@
}
},
/**
- * Lookup73: xcm::v3::Xcm<Call>
+ * Lookup76: xcm::v3::Xcm<Call>
**/
XcmV3Xcm: 'Vec<XcmV3Instruction>',
/**
- * Lookup75: xcm::v3::Instruction<Call>
+ * Lookup78: xcm::v3::Instruction<Call>
**/
XcmV3Instruction: {
_enum: {
@@ -1041,7 +1074,7 @@
}
},
/**
- * Lookup76: xcm::v3::Response
+ * Lookup79: xcm::v3::Response
**/
XcmV3Response: {
_enum: {
@@ -1054,7 +1087,7 @@
}
},
/**
- * Lookup80: xcm::v3::PalletInfo
+ * Lookup83: xcm::v3::PalletInfo
**/
XcmV3PalletInfo: {
index: 'Compact<u32>',
@@ -1065,7 +1098,7 @@
patch: 'Compact<u32>'
},
/**
- * Lookup83: xcm::v3::MaybeErrorCode
+ * Lookup86: xcm::v3::MaybeErrorCode
**/
XcmV3MaybeErrorCode: {
_enum: {
@@ -1075,19 +1108,19 @@
}
},
/**
- * Lookup86: xcm::v2::OriginKind
+ * Lookup89: xcm::v2::OriginKind
**/
XcmV2OriginKind: {
_enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
},
/**
- * Lookup87: xcm::double_encoded::DoubleEncoded<T>
+ * Lookup90: xcm::double_encoded::DoubleEncoded<T>
**/
XcmDoubleEncoded: {
encoded: 'Bytes'
},
/**
- * Lookup88: xcm::v3::QueryResponseInfo
+ * Lookup91: xcm::v3::QueryResponseInfo
**/
XcmV3QueryResponseInfo: {
destination: 'XcmV3MultiLocation',
@@ -1095,7 +1128,7 @@
maxWeight: 'SpWeightsWeightV2Weight'
},
/**
- * Lookup89: xcm::v3::multiasset::MultiAssetFilter
+ * Lookup92: xcm::v3::multiasset::MultiAssetFilter
**/
XcmV3MultiassetMultiAssetFilter: {
_enum: {
@@ -1104,7 +1137,7 @@
}
},
/**
- * Lookup90: xcm::v3::multiasset::WildMultiAsset
+ * Lookup93: xcm::v3::multiasset::WildMultiAsset
**/
XcmV3MultiassetWildMultiAsset: {
_enum: {
@@ -1122,13 +1155,13 @@
}
},
/**
- * Lookup91: xcm::v3::multiasset::WildFungibility
+ * Lookup94: xcm::v3::multiasset::WildFungibility
**/
XcmV3MultiassetWildFungibility: {
_enum: ['Fungible', 'NonFungible']
},
/**
- * Lookup93: xcm::v3::WeightLimit
+ * Lookup96: xcm::v3::WeightLimit
**/
XcmV3WeightLimit: {
_enum: {
@@ -1137,7 +1170,7 @@
}
},
/**
- * Lookup94: xcm::VersionedMultiAssets
+ * Lookup97: xcm::VersionedMultiAssets
**/
XcmVersionedMultiAssets: {
_enum: {
@@ -1148,18 +1181,18 @@
}
},
/**
- * Lookup95: xcm::v2::multiasset::MultiAssets
+ * Lookup98: xcm::v2::multiasset::MultiAssets
**/
XcmV2MultiassetMultiAssets: 'Vec<XcmV2MultiAsset>',
/**
- * Lookup97: xcm::v2::multiasset::MultiAsset
+ * Lookup100: xcm::v2::multiasset::MultiAsset
**/
XcmV2MultiAsset: {
id: 'XcmV2MultiassetAssetId',
fun: 'XcmV2MultiassetFungibility'
},
/**
- * Lookup98: xcm::v2::multiasset::AssetId
+ * Lookup101: xcm::v2::multiasset::AssetId
**/
XcmV2MultiassetAssetId: {
_enum: {
@@ -1168,14 +1201,14 @@
}
},
/**
- * Lookup99: xcm::v2::multilocation::MultiLocation
+ * Lookup102: xcm::v2::multilocation::MultiLocation
**/
XcmV2MultiLocation: {
parents: 'u8',
interior: 'XcmV2MultilocationJunctions'
},
/**
- * Lookup100: xcm::v2::multilocation::Junctions
+ * Lookup103: xcm::v2::multilocation::Junctions
**/
XcmV2MultilocationJunctions: {
_enum: {
@@ -1191,7 +1224,7 @@
}
},
/**
- * Lookup101: xcm::v2::junction::Junction
+ * Lookup104: xcm::v2::junction::Junction
**/
XcmV2Junction: {
_enum: {
@@ -1219,7 +1252,7 @@
}
},
/**
- * Lookup102: xcm::v2::NetworkId
+ * Lookup105: xcm::v2::NetworkId
**/
XcmV2NetworkId: {
_enum: {
@@ -1230,7 +1263,7 @@
}
},
/**
- * Lookup104: xcm::v2::BodyId
+ * Lookup107: xcm::v2::BodyId
**/
XcmV2BodyId: {
_enum: {
@@ -1247,7 +1280,7 @@
}
},
/**
- * Lookup105: xcm::v2::BodyPart
+ * Lookup108: xcm::v2::BodyPart
**/
XcmV2BodyPart: {
_enum: {
@@ -1270,7 +1303,7 @@
}
},
/**
- * Lookup106: xcm::v2::multiasset::Fungibility
+ * Lookup109: xcm::v2::multiasset::Fungibility
**/
XcmV2MultiassetFungibility: {
_enum: {
@@ -1279,7 +1312,7 @@
}
},
/**
- * Lookup107: xcm::v2::multiasset::AssetInstance
+ * Lookup110: xcm::v2::multiasset::AssetInstance
**/
XcmV2MultiassetAssetInstance: {
_enum: {
@@ -1293,7 +1326,7 @@
}
},
/**
- * Lookup108: xcm::VersionedMultiLocation
+ * Lookup111: xcm::VersionedMultiLocation
**/
XcmVersionedMultiLocation: {
_enum: {
@@ -1304,7 +1337,7 @@
}
},
/**
- * Lookup109: cumulus_pallet_xcm::pallet::Event<T>
+ * Lookup112: cumulus_pallet_xcm::pallet::Event<T>
**/
CumulusPalletXcmEvent: {
_enum: {
@@ -1314,7 +1347,7 @@
}
},
/**
- * Lookup110: cumulus_pallet_dmp_queue::pallet::Event<T>
+ * Lookup113: cumulus_pallet_dmp_queue::pallet::Event<T>
**/
CumulusPalletDmpQueueEvent: {
_enum: {
@@ -1348,7 +1381,7 @@
}
},
/**
- * Lookup111: pallet_configuration::pallet::Event<T>
+ * Lookup114: pallet_configuration::pallet::Event<T>
**/
PalletConfigurationEvent: {
_enum: {
@@ -1364,7 +1397,7 @@
}
},
/**
- * Lookup114: pallet_common::pallet::Event<T>
+ * Lookup117: pallet_common::pallet::Event<T>
**/
PalletCommonEvent: {
_enum: {
@@ -1393,7 +1426,7 @@
}
},
/**
- * Lookup117: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
+ * Lookup120: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
**/
PalletEvmAccountBasicCrossAccountIdRepr: {
_enum: {
@@ -1402,7 +1435,7 @@
}
},
/**
- * Lookup120: pallet_structure::pallet::Event<T>
+ * Lookup123: pallet_structure::pallet::Event<T>
**/
PalletStructureEvent: {
_enum: {
@@ -1410,7 +1443,7 @@
}
},
/**
- * Lookup121: pallet_app_promotion::pallet::Event<T>
+ * Lookup124: pallet_app_promotion::pallet::Event<T>
**/
PalletAppPromotionEvent: {
_enum: {
@@ -1421,7 +1454,7 @@
}
},
/**
- * Lookup122: pallet_foreign_assets::module::Event<T>
+ * Lookup125: pallet_foreign_assets::module::Event<T>
**/
PalletForeignAssetsModuleEvent: {
_enum: {
@@ -1446,7 +1479,7 @@
}
},
/**
- * Lookup123: pallet_foreign_assets::module::AssetMetadata<Balance>
+ * Lookup126: pallet_foreign_assets::module::AssetMetadata<Balance>
**/
PalletForeignAssetsModuleAssetMetadata: {
name: 'Bytes',
@@ -1455,7 +1488,7 @@
minimalBalance: 'u128'
},
/**
- * Lookup126: pallet_evm::pallet::Event<T>
+ * Lookup129: pallet_evm::pallet::Event<T>
**/
PalletEvmEvent: {
_enum: {
@@ -1477,7 +1510,7 @@
}
},
/**
- * Lookup127: ethereum::log::Log
+ * Lookup130: ethereum::log::Log
**/
EthereumLog: {
address: 'H160',
@@ -1485,7 +1518,7 @@
data: 'Bytes'
},
/**
- * Lookup129: pallet_ethereum::pallet::Event
+ * Lookup132: pallet_ethereum::pallet::Event
**/
PalletEthereumEvent: {
_enum: {
@@ -1499,7 +1532,7 @@
}
},
/**
- * Lookup130: evm_core::error::ExitReason
+ * Lookup133: evm_core::error::ExitReason
**/
EvmCoreErrorExitReason: {
_enum: {
@@ -1510,13 +1543,13 @@
}
},
/**
- * Lookup131: evm_core::error::ExitSucceed
+ * Lookup134: evm_core::error::ExitSucceed
**/
EvmCoreErrorExitSucceed: {
_enum: ['Stopped', 'Returned', 'Suicided']
},
/**
- * Lookup132: evm_core::error::ExitError
+ * Lookup135: evm_core::error::ExitError
**/
EvmCoreErrorExitError: {
_enum: {
@@ -1534,18 +1567,18 @@
PCUnderflow: 'Null',
CreateEmpty: 'Null',
Other: 'Text',
- __Unused14: 'Null',
+ MaxNonce: 'Null',
InvalidCode: 'u8'
}
},
/**
- * Lookup136: evm_core::error::ExitRevert
+ * Lookup139: evm_core::error::ExitRevert
**/
EvmCoreErrorExitRevert: {
_enum: ['Reverted']
},
/**
- * Lookup137: evm_core::error::ExitFatal
+ * Lookup140: evm_core::error::ExitFatal
**/
EvmCoreErrorExitFatal: {
_enum: {
@@ -1556,7 +1589,7 @@
}
},
/**
- * Lookup138: pallet_evm_contract_helpers::pallet::Event<T>
+ * Lookup141: pallet_evm_contract_helpers::pallet::Event<T>
**/
PalletEvmContractHelpersEvent: {
_enum: {
@@ -1566,25 +1599,25 @@
}
},
/**
- * Lookup139: pallet_evm_migration::pallet::Event<T>
+ * Lookup142: pallet_evm_migration::pallet::Event<T>
**/
PalletEvmMigrationEvent: {
_enum: ['TestEvent']
},
/**
- * Lookup140: pallet_maintenance::pallet::Event<T>
+ * Lookup143: pallet_maintenance::pallet::Event<T>
**/
PalletMaintenanceEvent: {
_enum: ['MaintenanceEnabled', 'MaintenanceDisabled']
},
/**
- * Lookup141: pallet_test_utils::pallet::Event<T>
+ * Lookup144: pallet_test_utils::pallet::Event<T>
**/
PalletTestUtilsEvent: {
_enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']
},
/**
- * Lookup142: frame_system::Phase
+ * Lookup145: frame_system::Phase
**/
FrameSystemPhase: {
_enum: {
@@ -1594,14 +1627,14 @@
}
},
/**
- * Lookup145: frame_system::LastRuntimeUpgradeInfo
+ * Lookup148: frame_system::LastRuntimeUpgradeInfo
**/
FrameSystemLastRuntimeUpgradeInfo: {
specVersion: 'Compact<u32>',
specName: 'Text'
},
/**
- * Lookup146: frame_system::pallet::Call<T>
+ * Lookup149: frame_system::pallet::Call<T>
**/
FrameSystemCall: {
_enum: {
@@ -1636,7 +1669,7 @@
}
},
/**
- * Lookup150: frame_system::limits::BlockWeights
+ * Lookup153: frame_system::limits::BlockWeights
**/
FrameSystemLimitsBlockWeights: {
baseBlock: 'SpWeightsWeightV2Weight',
@@ -1644,7 +1677,7 @@
perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
},
/**
- * Lookup151: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
+ * Lookup154: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
**/
FrameSupportDispatchPerDispatchClassWeightsPerClass: {
normal: 'FrameSystemLimitsWeightsPerClass',
@@ -1652,7 +1685,7 @@
mandatory: 'FrameSystemLimitsWeightsPerClass'
},
/**
- * Lookup152: frame_system::limits::WeightsPerClass
+ * Lookup155: frame_system::limits::WeightsPerClass
**/
FrameSystemLimitsWeightsPerClass: {
baseExtrinsic: 'SpWeightsWeightV2Weight',
@@ -1661,13 +1694,13 @@
reserved: 'Option<SpWeightsWeightV2Weight>'
},
/**
- * Lookup154: frame_system::limits::BlockLength
+ * Lookup157: frame_system::limits::BlockLength
**/
FrameSystemLimitsBlockLength: {
max: 'FrameSupportDispatchPerDispatchClassU32'
},
/**
- * Lookup155: frame_support::dispatch::PerDispatchClass<T>
+ * Lookup158: frame_support::dispatch::PerDispatchClass<T>
**/
FrameSupportDispatchPerDispatchClassU32: {
normal: 'u32',
@@ -1675,14 +1708,14 @@
mandatory: 'u32'
},
/**
- * Lookup156: sp_weights::RuntimeDbWeight
+ * Lookup159: sp_weights::RuntimeDbWeight
**/
SpWeightsRuntimeDbWeight: {
read: 'u64',
write: 'u64'
},
/**
- * Lookup157: sp_version::RuntimeVersion
+ * Lookup160: sp_version::RuntimeVersion
**/
SpVersionRuntimeVersion: {
specName: 'Text',
@@ -1695,14 +1728,81 @@
stateVersion: 'u8'
},
/**
- * Lookup162: frame_system::pallet::Error<T>
+ * Lookup165: frame_system::pallet::Error<T>
**/
FrameSystemError: {
_enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
},
/**
- * Lookup163: polkadot_primitives::v4::PersistedValidationData<primitive_types::H256, N>
+ * Lookup166: pallet_state_trie_migration::pallet::MigrationTask<T>
+ **/
+ PalletStateTrieMigrationMigrationTask: {
+ _alias: {
+ size_: 'size'
+ },
+ progressTop: 'PalletStateTrieMigrationProgress',
+ progressChild: 'PalletStateTrieMigrationProgress',
+ size_: 'u32',
+ topItems: 'u32',
+ childItems: 'u32'
+ },
+ /**
+ * Lookup167: pallet_state_trie_migration::pallet::Progress<MaxKeyLen>
**/
+ PalletStateTrieMigrationProgress: {
+ _enum: {
+ ToStart: 'Null',
+ LastKey: 'Bytes',
+ Complete: 'Null'
+ }
+ },
+ /**
+ * Lookup170: pallet_state_trie_migration::pallet::MigrationLimits
+ **/
+ PalletStateTrieMigrationMigrationLimits: {
+ _alias: {
+ size_: 'size'
+ },
+ size_: 'u32',
+ item: 'u32'
+ },
+ /**
+ * Lookup171: pallet_state_trie_migration::pallet::Call<T>
+ **/
+ PalletStateTrieMigrationCall: {
+ _enum: {
+ control_auto_migration: {
+ maybeConfig: 'Option<PalletStateTrieMigrationMigrationLimits>',
+ },
+ continue_migrate: {
+ limits: 'PalletStateTrieMigrationMigrationLimits',
+ realSizeUpper: 'u32',
+ witnessTask: 'PalletStateTrieMigrationMigrationTask',
+ },
+ migrate_custom_top: {
+ _alias: {
+ keys_: 'keys',
+ },
+ keys_: 'Vec<Bytes>',
+ witnessSize: 'u32',
+ },
+ migrate_custom_child: {
+ root: 'Bytes',
+ childKeys: 'Vec<Bytes>',
+ totalSize: 'u32',
+ },
+ set_signed_max_limits: {
+ limits: 'PalletStateTrieMigrationMigrationLimits',
+ },
+ force_set_progress: {
+ progressTop: 'PalletStateTrieMigrationProgress',
+ progressChild: 'PalletStateTrieMigrationProgress'
+ }
+ }
+ },
+ /**
+ * Lookup172: polkadot_primitives::v4::PersistedValidationData<primitive_types::H256, N>
+ **/
PolkadotPrimitivesV4PersistedValidationData: {
parentHead: 'Bytes',
relayParentNumber: 'u32',
@@ -1710,29 +1810,36 @@
maxPovSize: 'u32'
},
/**
- * Lookup166: polkadot_primitives::v4::UpgradeRestriction
+ * Lookup175: polkadot_primitives::v4::UpgradeRestriction
**/
PolkadotPrimitivesV4UpgradeRestriction: {
_enum: ['Present']
},
/**
- * Lookup167: sp_trie::storage_proof::StorageProof
+ * Lookup176: sp_trie::storage_proof::StorageProof
**/
SpTrieStorageProof: {
trieNodes: 'BTreeSet<Bytes>'
},
/**
- * Lookup169: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
+ * Lookup178: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
**/
CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
dmqMqcHead: 'H256',
- relayDispatchQueueSize: '(u32,u32)',
+ relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize',
ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>',
egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>'
},
/**
- * Lookup172: polkadot_primitives::v4::AbridgedHrmpChannel
+ * Lookup179: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize
**/
+ CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: {
+ remainingCount: 'u32',
+ remainingSize: 'u32'
+ },
+ /**
+ * Lookup182: polkadot_primitives::v4::AbridgedHrmpChannel
+ **/
PolkadotPrimitivesV4AbridgedHrmpChannel: {
maxCapacity: 'u32',
maxTotalSize: 'u32',
@@ -1742,7 +1849,7 @@
mqcHead: 'Option<H256>'
},
/**
- * Lookup174: polkadot_primitives::v4::AbridgedHostConfiguration
+ * Lookup184: polkadot_primitives::v4::AbridgedHostConfiguration
**/
PolkadotPrimitivesV4AbridgedHostConfiguration: {
maxCodeSize: 'u32',
@@ -1756,21 +1863,21 @@
validationUpgradeDelay: 'u32'
},
/**
- * Lookup180: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
+ * Lookup190: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
**/
PolkadotCorePrimitivesOutboundHrmpMessage: {
recipient: 'u32',
data: 'Bytes'
},
/**
- * Lookup181: cumulus_pallet_parachain_system::CodeUpgradeAuthorization<T>
+ * Lookup191: cumulus_pallet_parachain_system::CodeUpgradeAuthorization<T>
**/
CumulusPalletParachainSystemCodeUpgradeAuthorization: {
codeHash: 'H256',
checkVersion: 'bool'
},
/**
- * Lookup182: cumulus_pallet_parachain_system::pallet::Call<T>
+ * Lookup192: cumulus_pallet_parachain_system::pallet::Call<T>
**/
CumulusPalletParachainSystemCall: {
_enum: {
@@ -1790,7 +1897,7 @@
}
},
/**
- * Lookup183: cumulus_primitives_parachain_inherent::ParachainInherentData
+ * Lookup193: cumulus_primitives_parachain_inherent::ParachainInherentData
**/
CumulusPrimitivesParachainInherentParachainInherentData: {
validationData: 'PolkadotPrimitivesV4PersistedValidationData',
@@ -1799,31 +1906,31 @@
horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
},
/**
- * Lookup185: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
+ * Lookup195: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
**/
PolkadotCorePrimitivesInboundDownwardMessage: {
sentAt: 'u32',
msg: 'Bytes'
},
/**
- * Lookup188: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
+ * Lookup198: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
**/
PolkadotCorePrimitivesInboundHrmpMessage: {
sentAt: 'u32',
data: 'Bytes'
},
/**
- * Lookup191: cumulus_pallet_parachain_system::pallet::Error<T>
+ * Lookup201: cumulus_pallet_parachain_system::pallet::Error<T>
**/
CumulusPalletParachainSystemError: {
_enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
},
/**
- * Lookup192: parachain_info::pallet::Call<T>
+ * Lookup202: parachain_info::pallet::Call<T>
**/
ParachainInfoCall: 'Null',
/**
- * Lookup195: pallet_collator_selection::pallet::Call<T>
+ * Lookup205: pallet_collator_selection::pallet::Call<T>
**/
PalletCollatorSelectionCall: {
_enum: {
@@ -1846,31 +1953,31 @@
}
},
/**
- * Lookup196: pallet_collator_selection::pallet::Error<T>
+ * Lookup206: pallet_collator_selection::pallet::Error<T>
**/
PalletCollatorSelectionError: {
_enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']
},
/**
- * Lookup199: opal_runtime::runtime_common::SessionKeys
+ * Lookup209: opal_runtime::runtime_common::SessionKeys
**/
OpalRuntimeRuntimeCommonSessionKeys: {
aura: 'SpConsensusAuraSr25519AppSr25519Public'
},
/**
- * Lookup200: sp_consensus_aura::sr25519::app_sr25519::Public
+ * Lookup210: sp_consensus_aura::sr25519::app_sr25519::Public
**/
SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',
/**
- * Lookup201: sp_core::sr25519::Public
+ * Lookup211: sp_core::sr25519::Public
**/
SpCoreSr25519Public: '[u8;32]',
/**
- * Lookup204: sp_core::crypto::KeyTypeId
+ * Lookup214: sp_core::crypto::KeyTypeId
**/
SpCoreCryptoKeyTypeId: '[u8;4]',
/**
- * Lookup205: pallet_session::pallet::Call<T>
+ * Lookup215: pallet_session::pallet::Call<T>
**/
PalletSessionCall: {
_enum: {
@@ -1885,13 +1992,13 @@
}
},
/**
- * Lookup206: pallet_session::pallet::Error<T>
+ * Lookup216: pallet_session::pallet::Error<T>
**/
PalletSessionError: {
_enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']
},
/**
- * Lookup211: pallet_balances::types::BalanceLock<Balance>
+ * Lookup221: pallet_balances::types::BalanceLock<Balance>
**/
PalletBalancesBalanceLock: {
id: '[u8;8]',
@@ -1899,27 +2006,27 @@
reasons: 'PalletBalancesReasons'
},
/**
- * Lookup212: pallet_balances::types::Reasons
+ * Lookup222: pallet_balances::types::Reasons
**/
PalletBalancesReasons: {
_enum: ['Fee', 'Misc', 'All']
},
/**
- * Lookup215: pallet_balances::types::ReserveData<ReserveIdentifier, Balance>
+ * Lookup225: pallet_balances::types::ReserveData<ReserveIdentifier, Balance>
**/
PalletBalancesReserveData: {
id: '[u8;16]',
amount: 'u128'
},
/**
- * Lookup218: pallet_balances::types::IdAmount<Id, Balance>
+ * Lookup228: pallet_balances::types::IdAmount<Id, Balance>
**/
PalletBalancesIdAmount: {
id: '[u8;16]',
amount: 'u128'
},
/**
- * Lookup220: pallet_balances::pallet::Call<T, I>
+ * Lookup231: pallet_balances::pallet::Call<T, I>
**/
PalletBalancesCall: {
_enum: {
@@ -1963,13 +2070,13 @@
}
},
/**
- * Lookup223: pallet_balances::pallet::Error<T, I>
+ * Lookup234: pallet_balances::pallet::Error<T, I>
**/
PalletBalancesError: {
_enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes']
},
/**
- * Lookup224: pallet_timestamp::pallet::Call<T>
+ * Lookup235: pallet_timestamp::pallet::Call<T>
**/
PalletTimestampCall: {
_enum: {
@@ -1979,13 +2086,13 @@
}
},
/**
- * Lookup226: pallet_transaction_payment::Releases
+ * Lookup237: pallet_transaction_payment::Releases
**/
PalletTransactionPaymentReleases: {
_enum: ['V1Ancient', 'V2']
},
/**
- * Lookup227: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
+ * Lookup238: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
**/
PalletTreasuryProposal: {
proposer: 'AccountId32',
@@ -1994,7 +2101,7 @@
bond: 'u128'
},
/**
- * Lookup229: pallet_treasury::pallet::Call<T, I>
+ * Lookup240: pallet_treasury::pallet::Call<T, I>
**/
PalletTreasuryCall: {
_enum: {
@@ -2018,17 +2125,17 @@
}
},
/**
- * Lookup231: frame_support::PalletId
+ * Lookup242: frame_support::PalletId
**/
FrameSupportPalletId: '[u8;8]',
/**
- * Lookup232: pallet_treasury::pallet::Error<T, I>
+ * Lookup243: pallet_treasury::pallet::Error<T, I>
**/
PalletTreasuryError: {
_enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
},
/**
- * Lookup233: pallet_sudo::pallet::Call<T>
+ * Lookup244: pallet_sudo::pallet::Call<T>
**/
PalletSudoCall: {
_enum: {
@@ -2052,7 +2159,7 @@
}
},
/**
- * Lookup235: orml_vesting::module::Call<T>
+ * Lookup246: orml_vesting::module::Call<T>
**/
OrmlVestingModuleCall: {
_enum: {
@@ -2071,7 +2178,7 @@
}
},
/**
- * Lookup237: orml_xtokens::module::Call<T>
+ * Lookup248: orml_xtokens::module::Call<T>
**/
OrmlXtokensModuleCall: {
_enum: {
@@ -2114,7 +2221,7 @@
}
},
/**
- * Lookup238: xcm::VersionedMultiAsset
+ * Lookup249: xcm::VersionedMultiAsset
**/
XcmVersionedMultiAsset: {
_enum: {
@@ -2125,7 +2232,7 @@
}
},
/**
- * Lookup241: orml_tokens::module::Call<T>
+ * Lookup252: orml_tokens::module::Call<T>
**/
OrmlTokensModuleCall: {
_enum: {
@@ -2159,7 +2266,7 @@
}
},
/**
- * Lookup242: pallet_identity::pallet::Call<T>
+ * Lookup253: pallet_identity::pallet::Call<T>
**/
PalletIdentityCall: {
_enum: {
@@ -2228,7 +2335,7 @@
}
},
/**
- * Lookup243: pallet_identity::types::IdentityInfo<FieldLimit>
+ * Lookup254: pallet_identity::types::IdentityInfo<FieldLimit>
**/
PalletIdentityIdentityInfo: {
additional: 'Vec<(Data,Data)>',
@@ -2242,7 +2349,7 @@
twitter: 'Data'
},
/**
- * Lookup279: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>
+ * Lookup290: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>
**/
PalletIdentityBitFlags: {
_bitLength: 64,
@@ -2256,13 +2363,13 @@
Twitter: 128
},
/**
- * Lookup280: pallet_identity::types::IdentityField
+ * Lookup291: pallet_identity::types::IdentityField
**/
PalletIdentityIdentityField: {
_enum: ['__Unused0', 'Display', 'Legal', '__Unused3', 'Web', '__Unused5', '__Unused6', '__Unused7', 'Riot', '__Unused9', '__Unused10', '__Unused11', '__Unused12', '__Unused13', '__Unused14', '__Unused15', 'Email', '__Unused17', '__Unused18', '__Unused19', '__Unused20', '__Unused21', '__Unused22', '__Unused23', '__Unused24', '__Unused25', '__Unused26', '__Unused27', '__Unused28', '__Unused29', '__Unused30', '__Unused31', 'PgpFingerprint', '__Unused33', '__Unused34', '__Unused35', '__Unused36', '__Unused37', '__Unused38', '__Unused39', '__Unused40', '__Unused41', '__Unused42', '__Unused43', '__Unused44', '__Unused45', '__Unused46', '__Unused47', '__Unused48', '__Unused49', '__Unused50', '__Unused51', '__Unused52', '__Unused53', '__Unused54', '__Unused55', '__Unused56', '__Unused57', '__Unused58', '__Unused59', '__Unused60', '__Unused61', '__Unused62', '__Unused63', 'Image', '__Unused65', '__Unused66', '__Unused67', '__Unused68', '__Unused69', '__Unused70', '__Unused71', '__Unused72', '__Unused73', '__Unused74', '__Unused75', '__Unused76', '__Unused77', '__Unused78', '__Unused79', '__Unused80', '__Unused81', '__Unused82', '__Unused83', '__Unused84', '__Unused85', '__Unused86', '__Unused87', '__Unused88', '__Unused89', '__Unused90', '__Unused91', '__Unused92', '__Unused93', '__Unused94', '__Unused95', '__Unused96', '__Unused97', '__Unused98', '__Unused99', '__Unused100', '__Unused101', '__Unused102', '__Unused103', '__Unused104', '__Unused105', '__Unused106', '__Unused107', '__Unused108', '__Unused109', '__Unused110', '__Unused111', '__Unused112', '__Unused113', '__Unused114', '__Unused115', '__Unused116', '__Unused117', '__Unused118', '__Unused119', '__Unused120', '__Unused121', '__Unused122', '__Unused123', '__Unused124', '__Unused125', '__Unused126', '__Unused127', 'Twitter']
},
/**
- * Lookup281: pallet_identity::types::Judgement<Balance>
+ * Lookup292: pallet_identity::types::Judgement<Balance>
**/
PalletIdentityJudgement: {
_enum: {
@@ -2276,7 +2383,7 @@
}
},
/**
- * Lookup284: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>
+ * Lookup295: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>
**/
PalletIdentityRegistration: {
judgements: 'Vec<(u32,PalletIdentityJudgement)>',
@@ -2284,7 +2391,7 @@
info: 'PalletIdentityIdentityInfo'
},
/**
- * Lookup292: pallet_preimage::pallet::Call<T>
+ * Lookup303: pallet_preimage::pallet::Call<T>
**/
PalletPreimageCall: {
_enum: {
@@ -2312,7 +2419,7 @@
}
},
/**
- * Lookup293: cumulus_pallet_xcmp_queue::pallet::Call<T>
+ * Lookup304: cumulus_pallet_xcmp_queue::pallet::Call<T>
**/
CumulusPalletXcmpQueueCall: {
_enum: {
@@ -2361,7 +2468,7 @@
}
},
/**
- * Lookup294: pallet_xcm::pallet::Call<T>
+ * Lookup305: pallet_xcm::pallet::Call<T>
**/
PalletXcmCall: {
_enum: {
@@ -2418,7 +2525,7 @@
}
},
/**
- * Lookup295: xcm::VersionedXcm<RuntimeCall>
+ * Lookup306: xcm::VersionedXcm<RuntimeCall>
**/
XcmVersionedXcm: {
_enum: {
@@ -2429,11 +2536,11 @@
}
},
/**
- * Lookup296: xcm::v2::Xcm<RuntimeCall>
+ * Lookup307: xcm::v2::Xcm<RuntimeCall>
**/
XcmV2Xcm: 'Vec<XcmV2Instruction>',
/**
- * Lookup298: xcm::v2::Instruction<RuntimeCall>
+ * Lookup309: xcm::v2::Instruction<RuntimeCall>
**/
XcmV2Instruction: {
_enum: {
@@ -2531,7 +2638,7 @@
}
},
/**
- * Lookup299: xcm::v2::Response
+ * Lookup310: xcm::v2::Response
**/
XcmV2Response: {
_enum: {
@@ -2542,7 +2649,7 @@
}
},
/**
- * Lookup302: xcm::v2::traits::Error
+ * Lookup313: xcm::v2::traits::Error
**/
XcmV2TraitsError: {
_enum: {
@@ -2575,7 +2682,7 @@
}
},
/**
- * Lookup303: xcm::v2::multiasset::MultiAssetFilter
+ * Lookup314: xcm::v2::multiasset::MultiAssetFilter
**/
XcmV2MultiassetMultiAssetFilter: {
_enum: {
@@ -2584,7 +2691,7 @@
}
},
/**
- * Lookup304: xcm::v2::multiasset::WildMultiAsset
+ * Lookup315: xcm::v2::multiasset::WildMultiAsset
**/
XcmV2MultiassetWildMultiAsset: {
_enum: {
@@ -2596,13 +2703,13 @@
}
},
/**
- * Lookup305: xcm::v2::multiasset::WildFungibility
+ * Lookup316: xcm::v2::multiasset::WildFungibility
**/
XcmV2MultiassetWildFungibility: {
_enum: ['Fungible', 'NonFungible']
},
/**
- * Lookup306: xcm::v2::WeightLimit
+ * Lookup317: xcm::v2::WeightLimit
**/
XcmV2WeightLimit: {
_enum: {
@@ -2611,11 +2718,11 @@
}
},
/**
- * Lookup315: cumulus_pallet_xcm::pallet::Call<T>
+ * Lookup326: cumulus_pallet_xcm::pallet::Call<T>
**/
CumulusPalletXcmCall: 'Null',
/**
- * Lookup316: cumulus_pallet_dmp_queue::pallet::Call<T>
+ * Lookup327: cumulus_pallet_dmp_queue::pallet::Call<T>
**/
CumulusPalletDmpQueueCall: {
_enum: {
@@ -2626,7 +2733,7 @@
}
},
/**
- * Lookup317: pallet_inflation::pallet::Call<T>
+ * Lookup328: pallet_inflation::pallet::Call<T>
**/
PalletInflationCall: {
_enum: {
@@ -2636,7 +2743,7 @@
}
},
/**
- * Lookup318: pallet_unique::pallet::Call<T>
+ * Lookup329: pallet_unique::pallet::Call<T>
**/
PalletUniqueCall: {
_enum: {
@@ -2787,7 +2894,7 @@
}
},
/**
- * Lookup323: up_data_structs::CollectionMode
+ * Lookup334: up_data_structs::CollectionMode
**/
UpDataStructsCollectionMode: {
_enum: {
@@ -2797,7 +2904,7 @@
}
},
/**
- * Lookup324: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
+ * Lookup335: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
**/
UpDataStructsCreateCollectionData: {
mode: 'UpDataStructsCollectionMode',
@@ -2812,13 +2919,13 @@
properties: 'Vec<UpDataStructsProperty>'
},
/**
- * Lookup326: up_data_structs::AccessMode
+ * Lookup337: up_data_structs::AccessMode
**/
UpDataStructsAccessMode: {
_enum: ['Normal', 'AllowList']
},
/**
- * Lookup328: up_data_structs::CollectionLimits
+ * Lookup339: up_data_structs::CollectionLimits
**/
UpDataStructsCollectionLimits: {
accountTokenOwnershipLimit: 'Option<u32>',
@@ -2832,7 +2939,7 @@
transfersEnabled: 'Option<bool>'
},
/**
- * Lookup330: up_data_structs::SponsoringRateLimit
+ * Lookup341: up_data_structs::SponsoringRateLimit
**/
UpDataStructsSponsoringRateLimit: {
_enum: {
@@ -2841,7 +2948,7 @@
}
},
/**
- * Lookup333: up_data_structs::CollectionPermissions
+ * Lookup344: up_data_structs::CollectionPermissions
**/
UpDataStructsCollectionPermissions: {
access: 'Option<UpDataStructsAccessMode>',
@@ -2849,7 +2956,7 @@
nesting: 'Option<UpDataStructsNestingPermissions>'
},
/**
- * Lookup335: up_data_structs::NestingPermissions
+ * Lookup346: up_data_structs::NestingPermissions
**/
UpDataStructsNestingPermissions: {
tokenOwner: 'bool',
@@ -2857,18 +2964,18 @@
restricted: 'Option<UpDataStructsOwnerRestrictedSet>'
},
/**
- * Lookup337: up_data_structs::OwnerRestrictedSet
+ * Lookup348: up_data_structs::OwnerRestrictedSet
**/
UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',
/**
- * Lookup342: up_data_structs::PropertyKeyPermission
+ * Lookup353: up_data_structs::PropertyKeyPermission
**/
UpDataStructsPropertyKeyPermission: {
key: 'Bytes',
permission: 'UpDataStructsPropertyPermission'
},
/**
- * Lookup343: up_data_structs::PropertyPermission
+ * Lookup354: up_data_structs::PropertyPermission
**/
UpDataStructsPropertyPermission: {
mutable: 'bool',
@@ -2876,14 +2983,14 @@
tokenOwner: 'bool'
},
/**
- * Lookup346: up_data_structs::Property
+ * Lookup357: up_data_structs::Property
**/
UpDataStructsProperty: {
key: 'Bytes',
value: 'Bytes'
},
/**
- * Lookup349: up_data_structs::CreateItemData
+ * Lookup360: up_data_structs::CreateItemData
**/
UpDataStructsCreateItemData: {
_enum: {
@@ -2893,26 +3000,26 @@
}
},
/**
- * Lookup350: up_data_structs::CreateNftData
+ * Lookup361: up_data_structs::CreateNftData
**/
UpDataStructsCreateNftData: {
properties: 'Vec<UpDataStructsProperty>'
},
/**
- * Lookup351: up_data_structs::CreateFungibleData
+ * Lookup362: up_data_structs::CreateFungibleData
**/
UpDataStructsCreateFungibleData: {
value: 'u128'
},
/**
- * Lookup352: up_data_structs::CreateReFungibleData
+ * Lookup363: up_data_structs::CreateReFungibleData
**/
UpDataStructsCreateReFungibleData: {
pieces: 'u128',
properties: 'Vec<UpDataStructsProperty>'
},
/**
- * Lookup355: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup366: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateItemExData: {
_enum: {
@@ -2923,14 +3030,14 @@
}
},
/**
- * Lookup357: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup368: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateNftExData: {
properties: 'Vec<UpDataStructsProperty>',
owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
},
/**
- * Lookup364: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup375: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateRefungibleExSingleOwner: {
user: 'PalletEvmAccountBasicCrossAccountIdRepr',
@@ -2938,14 +3045,14 @@
properties: 'Vec<UpDataStructsProperty>'
},
/**
- * Lookup366: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup377: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsCreateRefungibleExMultipleOwners: {
users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
properties: 'Vec<UpDataStructsProperty>'
},
/**
- * Lookup367: pallet_configuration::pallet::Call<T>
+ * Lookup378: pallet_configuration::pallet::Call<T>
**/
PalletConfigurationCall: {
_enum: {
@@ -2971,7 +3078,7 @@
}
},
/**
- * Lookup369: pallet_configuration::AppPromotionConfiguration<BlockNumber>
+ * Lookup380: pallet_configuration::AppPromotionConfiguration<BlockNumber>
**/
PalletConfigurationAppPromotionConfiguration: {
recalculationInterval: 'Option<u32>',
@@ -2980,11 +3087,11 @@
maxStakersPerCalculation: 'Option<u8>'
},
/**
- * Lookup373: pallet_structure::pallet::Call<T>
+ * Lookup384: pallet_structure::pallet::Call<T>
**/
PalletStructureCall: 'Null',
/**
- * Lookup374: pallet_app_promotion::pallet::Call<T>
+ * Lookup385: pallet_app_promotion::pallet::Call<T>
**/
PalletAppPromotionCall: {
_enum: {
@@ -3011,12 +3118,15 @@
stakersNumber: 'Option<u8>',
},
unstake_partial: {
- amount: 'u128'
+ amount: 'u128',
+ },
+ force_unstake: {
+ pendingBlocks: 'Vec<u32>'
}
}
},
/**
- * Lookup375: pallet_foreign_assets::module::Call<T>
+ * Lookup386: pallet_foreign_assets::module::Call<T>
**/
PalletForeignAssetsModuleCall: {
_enum: {
@@ -3033,7 +3143,7 @@
}
},
/**
- * Lookup376: pallet_evm::pallet::Call<T>
+ * Lookup387: pallet_evm::pallet::Call<T>
**/
PalletEvmCall: {
_enum: {
@@ -3076,7 +3186,7 @@
}
},
/**
- * Lookup382: pallet_ethereum::pallet::Call<T>
+ * Lookup393: pallet_ethereum::pallet::Call<T>
**/
PalletEthereumCall: {
_enum: {
@@ -3086,7 +3196,7 @@
}
},
/**
- * Lookup383: ethereum::transaction::TransactionV2
+ * Lookup394: ethereum::transaction::TransactionV2
**/
EthereumTransactionTransactionV2: {
_enum: {
@@ -3096,7 +3206,7 @@
}
},
/**
- * Lookup384: ethereum::transaction::LegacyTransaction
+ * Lookup395: ethereum::transaction::LegacyTransaction
**/
EthereumTransactionLegacyTransaction: {
nonce: 'U256',
@@ -3108,7 +3218,7 @@
signature: 'EthereumTransactionTransactionSignature'
},
/**
- * Lookup385: ethereum::transaction::TransactionAction
+ * Lookup396: ethereum::transaction::TransactionAction
**/
EthereumTransactionTransactionAction: {
_enum: {
@@ -3117,7 +3227,7 @@
}
},
/**
- * Lookup386: ethereum::transaction::TransactionSignature
+ * Lookup397: ethereum::transaction::TransactionSignature
**/
EthereumTransactionTransactionSignature: {
v: 'u64',
@@ -3125,7 +3235,7 @@
s: 'H256'
},
/**
- * Lookup388: ethereum::transaction::EIP2930Transaction
+ * Lookup399: ethereum::transaction::EIP2930Transaction
**/
EthereumTransactionEip2930Transaction: {
chainId: 'u64',
@@ -3141,14 +3251,14 @@
s: 'H256'
},
/**
- * Lookup390: ethereum::transaction::AccessListItem
+ * Lookup401: ethereum::transaction::AccessListItem
**/
EthereumTransactionAccessListItem: {
address: 'H160',
storageKeys: 'Vec<H256>'
},
/**
- * Lookup391: ethereum::transaction::EIP1559Transaction
+ * Lookup402: ethereum::transaction::EIP1559Transaction
**/
EthereumTransactionEip1559Transaction: {
chainId: 'u64',
@@ -3165,13 +3275,7 @@
s: 'H256'
},
/**
- * Lookup392: pallet_evm_coder_substrate::pallet::Call<T>
- **/
- PalletEvmCoderSubstrateCall: {
- _enum: ['empty_call']
- },
- /**
- * Lookup393: pallet_evm_contract_helpers::pallet::Call<T>
+ * Lookup403: pallet_evm_contract_helpers::pallet::Call<T>
**/
PalletEvmContractHelpersCall: {
_enum: {
@@ -3181,7 +3285,7 @@
}
},
/**
- * Lookup395: pallet_evm_migration::pallet::Call<T>
+ * Lookup405: pallet_evm_migration::pallet::Call<T>
**/
PalletEvmMigrationCall: {
_enum: {
@@ -3206,7 +3310,7 @@
}
},
/**
- * Lookup399: pallet_maintenance::pallet::Call<T>
+ * Lookup409: pallet_maintenance::pallet::Call<T>
**/
PalletMaintenanceCall: {
_enum: {
@@ -3222,7 +3326,7 @@
}
},
/**
- * Lookup400: pallet_test_utils::pallet::Call<T>
+ * Lookup410: pallet_test_utils::pallet::Call<T>
**/
PalletTestUtilsCall: {
_enum: {
@@ -3241,32 +3345,32 @@
}
},
/**
- * Lookup402: pallet_sudo::pallet::Error<T>
+ * Lookup412: pallet_sudo::pallet::Error<T>
**/
PalletSudoError: {
_enum: ['RequireSudo']
},
/**
- * Lookup404: orml_vesting::module::Error<T>
+ * Lookup414: orml_vesting::module::Error<T>
**/
OrmlVestingModuleError: {
_enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
},
/**
- * Lookup405: orml_xtokens::module::Error<T>
+ * Lookup415: orml_xtokens::module::Error<T>
**/
OrmlXtokensModuleError: {
_enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']
},
/**
- * Lookup408: orml_tokens::BalanceLock<Balance>
+ * Lookup418: orml_tokens::BalanceLock<Balance>
**/
OrmlTokensBalanceLock: {
id: '[u8;8]',
amount: 'u128'
},
/**
- * Lookup410: orml_tokens::AccountData<Balance>
+ * Lookup420: orml_tokens::AccountData<Balance>
**/
OrmlTokensAccountData: {
free: 'u128',
@@ -3274,20 +3378,20 @@
frozen: 'u128'
},
/**
- * Lookup412: orml_tokens::ReserveData<ReserveIdentifier, Balance>
+ * Lookup422: orml_tokens::ReserveData<ReserveIdentifier, Balance>
**/
OrmlTokensReserveData: {
id: 'Null',
amount: 'u128'
},
/**
- * Lookup414: orml_tokens::module::Error<T>
+ * Lookup424: orml_tokens::module::Error<T>
**/
OrmlTokensModuleError: {
_enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']
},
/**
- * Lookup419: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>
+ * Lookup429: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>
**/
PalletIdentityRegistrarInfo: {
account: 'AccountId32',
@@ -3295,13 +3399,13 @@
fields: 'PalletIdentityBitFlags'
},
/**
- * Lookup421: pallet_identity::pallet::Error<T>
+ * Lookup431: pallet_identity::pallet::Error<T>
**/
PalletIdentityError: {
_enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyFields', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed']
},
/**
- * Lookup422: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>
+ * Lookup432: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>
**/
PalletPreimageRequestStatus: {
_enum: {
@@ -3317,13 +3421,13 @@
}
},
/**
- * Lookup427: pallet_preimage::pallet::Error<T>
+ * Lookup437: pallet_preimage::pallet::Error<T>
**/
PalletPreimageError: {
_enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested']
},
/**
- * Lookup429: cumulus_pallet_xcmp_queue::InboundChannelDetails
+ * Lookup439: cumulus_pallet_xcmp_queue::InboundChannelDetails
**/
CumulusPalletXcmpQueueInboundChannelDetails: {
sender: 'u32',
@@ -3331,19 +3435,19 @@
messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
},
/**
- * Lookup430: cumulus_pallet_xcmp_queue::InboundState
+ * Lookup440: cumulus_pallet_xcmp_queue::InboundState
**/
CumulusPalletXcmpQueueInboundState: {
_enum: ['Ok', 'Suspended']
},
/**
- * Lookup433: polkadot_parachain::primitives::XcmpMessageFormat
+ * Lookup443: polkadot_parachain::primitives::XcmpMessageFormat
**/
PolkadotParachainPrimitivesXcmpMessageFormat: {
_enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
},
/**
- * Lookup436: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+ * Lookup446: cumulus_pallet_xcmp_queue::OutboundChannelDetails
**/
CumulusPalletXcmpQueueOutboundChannelDetails: {
recipient: 'u32',
@@ -3353,13 +3457,13 @@
lastIndex: 'u16'
},
/**
- * Lookup437: cumulus_pallet_xcmp_queue::OutboundState
+ * Lookup447: cumulus_pallet_xcmp_queue::OutboundState
**/
CumulusPalletXcmpQueueOutboundState: {
_enum: ['Ok', 'Suspended']
},
/**
- * Lookup439: cumulus_pallet_xcmp_queue::QueueConfigData
+ * Lookup449: cumulus_pallet_xcmp_queue::QueueConfigData
**/
CumulusPalletXcmpQueueQueueConfigData: {
suspendThreshold: 'u32',
@@ -3370,13 +3474,13 @@
xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'
},
/**
- * Lookup441: cumulus_pallet_xcmp_queue::pallet::Error<T>
+ * Lookup451: cumulus_pallet_xcmp_queue::pallet::Error<T>
**/
CumulusPalletXcmpQueueError: {
_enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
},
/**
- * Lookup442: pallet_xcm::pallet::QueryStatus<BlockNumber>
+ * Lookup452: pallet_xcm::pallet::QueryStatus<BlockNumber>
**/
PalletXcmQueryStatus: {
_enum: {
@@ -3397,7 +3501,7 @@
}
},
/**
- * Lookup446: xcm::VersionedResponse
+ * Lookup456: xcm::VersionedResponse
**/
XcmVersionedResponse: {
_enum: {
@@ -3408,7 +3512,7 @@
}
},
/**
- * Lookup452: pallet_xcm::pallet::VersionMigrationStage
+ * Lookup462: pallet_xcm::pallet::VersionMigrationStage
**/
PalletXcmVersionMigrationStage: {
_enum: {
@@ -3419,7 +3523,7 @@
}
},
/**
- * Lookup455: xcm::VersionedAssetId
+ * Lookup465: xcm::VersionedAssetId
**/
XcmVersionedAssetId: {
_enum: {
@@ -3430,32 +3534,32 @@
}
},
/**
- * Lookup456: pallet_xcm::pallet::RemoteLockedFungibleRecord
+ * Lookup466: pallet_xcm::pallet::RemoteLockedFungibleRecord<ConsumerIdentifier, MaxConsumers>
**/
PalletXcmRemoteLockedFungibleRecord: {
amount: 'u128',
owner: 'XcmVersionedMultiLocation',
locker: 'XcmVersionedMultiLocation',
- users: 'u32'
+ consumers: 'Vec<(Null,u128)>'
},
/**
- * Lookup460: pallet_xcm::pallet::Error<T>
+ * Lookup473: pallet_xcm::pallet::Error<T>
**/
PalletXcmError: {
_enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse']
},
/**
- * Lookup461: cumulus_pallet_xcm::pallet::Error<T>
+ * Lookup474: cumulus_pallet_xcm::pallet::Error<T>
**/
CumulusPalletXcmError: 'Null',
/**
- * Lookup462: cumulus_pallet_dmp_queue::ConfigData
+ * Lookup475: cumulus_pallet_dmp_queue::ConfigData
**/
CumulusPalletDmpQueueConfigData: {
maxIndividual: 'SpWeightsWeightV2Weight'
},
/**
- * Lookup463: cumulus_pallet_dmp_queue::PageIndexData
+ * Lookup476: cumulus_pallet_dmp_queue::PageIndexData
**/
CumulusPalletDmpQueuePageIndexData: {
beginUsed: 'u32',
@@ -3463,25 +3567,25 @@
overweightCount: 'u64'
},
/**
- * Lookup466: cumulus_pallet_dmp_queue::pallet::Error<T>
+ * Lookup479: cumulus_pallet_dmp_queue::pallet::Error<T>
**/
CumulusPalletDmpQueueError: {
_enum: ['Unknown', 'OverLimit']
},
/**
- * Lookup470: pallet_unique::pallet::Error<T>
+ * Lookup483: pallet_unique::pallet::Error<T>
**/
PalletUniqueError: {
_enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']
},
/**
- * Lookup471: pallet_configuration::pallet::Error<T>
+ * Lookup484: pallet_configuration::pallet::Error<T>
**/
PalletConfigurationError: {
_enum: ['InconsistentConfiguration']
},
/**
- * Lookup472: up_data_structs::Collection<sp_core::crypto::AccountId32>
+ * Lookup485: up_data_structs::Collection<sp_core::crypto::AccountId32>
**/
UpDataStructsCollection: {
owner: 'AccountId32',
@@ -3495,7 +3599,7 @@
flags: '[u8;1]'
},
/**
- * Lookup473: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+ * Lookup486: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
**/
UpDataStructsSponsorshipStateAccountId32: {
_enum: {
@@ -3505,7 +3609,7 @@
}
},
/**
- * Lookup474: up_data_structs::Properties
+ * Lookup487: up_data_structs::Properties
**/
UpDataStructsProperties: {
map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -3513,15 +3617,15 @@
reserved: 'u32'
},
/**
- * Lookup475: up_data_structs::PropertiesMap<bounded_collections::bounded_vec::BoundedVec<T, S>>
+ * Lookup488: up_data_structs::PropertiesMap<bounded_collections::bounded_vec::BoundedVec<T, S>>
**/
UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
/**
- * Lookup480: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+ * Lookup493: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
**/
UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
/**
- * Lookup487: up_data_structs::CollectionStats
+ * Lookup500: up_data_structs::CollectionStats
**/
UpDataStructsCollectionStats: {
created: 'u32',
@@ -3529,18 +3633,18 @@
alive: 'u32'
},
/**
- * Lookup488: up_data_structs::TokenChild
+ * Lookup501: up_data_structs::TokenChild
**/
UpDataStructsTokenChild: {
token: 'u32',
collection: 'u32'
},
/**
- * Lookup489: PhantomType::up_data_structs<T>
+ * Lookup502: PhantomType::up_data_structs<T>
**/
PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpPovEstimateRpcPovInfo);0]',
/**
- * Lookup491: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup504: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsTokenData: {
properties: 'Vec<UpDataStructsProperty>',
@@ -3548,7 +3652,7 @@
pieces: 'u128'
},
/**
- * Lookup493: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+ * Lookup506: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
**/
UpDataStructsRpcCollection: {
owner: 'AccountId32',
@@ -3565,14 +3669,14 @@
flags: 'UpDataStructsRpcCollectionFlags'
},
/**
- * Lookup494: up_data_structs::RpcCollectionFlags
+ * Lookup507: up_data_structs::RpcCollectionFlags
**/
UpDataStructsRpcCollectionFlags: {
foreign: 'bool',
erc721metadata: 'bool'
},
/**
- * Lookup495: up_pov_estimate_rpc::PovInfo
+ * Lookup508: up_pov_estimate_rpc::PovInfo
**/
UpPovEstimateRpcPovInfo: {
proofSize: 'u64',
@@ -3582,7 +3686,7 @@
keyValues: 'Vec<UpPovEstimateRpcTrieKeyValue>'
},
/**
- * Lookup498: sp_runtime::transaction_validity::TransactionValidityError
+ * Lookup511: sp_runtime::transaction_validity::TransactionValidityError
**/
SpRuntimeTransactionValidityTransactionValidityError: {
_enum: {
@@ -3591,7 +3695,7 @@
}
},
/**
- * Lookup499: sp_runtime::transaction_validity::InvalidTransaction
+ * Lookup512: sp_runtime::transaction_validity::InvalidTransaction
**/
SpRuntimeTransactionValidityInvalidTransaction: {
_enum: {
@@ -3609,7 +3713,7 @@
}
},
/**
- * Lookup500: sp_runtime::transaction_validity::UnknownTransaction
+ * Lookup513: sp_runtime::transaction_validity::UnknownTransaction
**/
SpRuntimeTransactionValidityUnknownTransaction: {
_enum: {
@@ -3619,74 +3723,85 @@
}
},
/**
- * Lookup502: up_pov_estimate_rpc::TrieKeyValue
+ * Lookup515: up_pov_estimate_rpc::TrieKeyValue
**/
UpPovEstimateRpcTrieKeyValue: {
key: 'Bytes',
value: 'Bytes'
},
/**
- * Lookup504: pallet_common::pallet::Error<T>
+ * Lookup517: pallet_common::pallet::Error<T>
**/
PalletCommonError: {
_enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsNotEthMirror', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']
},
/**
- * Lookup506: pallet_fungible::pallet::Error<T>
+ * Lookup519: pallet_fungible::pallet::Error<T>
**/
PalletFungibleError: {
_enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']
},
/**
- * Lookup511: pallet_refungible::pallet::Error<T>
+ * Lookup524: pallet_refungible::pallet::Error<T>
**/
PalletRefungibleError: {
_enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
},
/**
- * Lookup512: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup525: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
PalletNonfungibleItemData: {
owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
},
/**
- * Lookup514: up_data_structs::PropertyScope
+ * Lookup527: up_data_structs::PropertyScope
**/
UpDataStructsPropertyScope: {
_enum: ['None', 'Rmrk']
},
/**
- * Lookup517: pallet_nonfungible::pallet::Error<T>
+ * Lookup530: pallet_nonfungible::pallet::Error<T>
**/
PalletNonfungibleError: {
_enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
},
/**
- * Lookup518: pallet_structure::pallet::Error<T>
+ * Lookup531: pallet_structure::pallet::Error<T>
**/
PalletStructureError: {
_enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound', 'CantNestTokenUnderCollection']
},
/**
- * Lookup523: pallet_app_promotion::pallet::Error<T>
+ * Lookup536: pallet_app_promotion::pallet::Error<T>
**/
PalletAppPromotionError: {
- _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation', 'InsufficientStakedBalance']
+ _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'InsufficientStakedBalance', 'InconsistencyState']
},
/**
- * Lookup524: pallet_foreign_assets::module::Error<T>
+ * Lookup537: pallet_foreign_assets::module::Error<T>
**/
PalletForeignAssetsModuleError: {
_enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
},
/**
- * Lookup526: pallet_evm::pallet::Error<T>
+ * Lookup538: pallet_evm::CodeMetadata
**/
+ PalletEvmCodeMetadata: {
+ _alias: {
+ size_: 'size',
+ hash_: 'hash'
+ },
+ size_: 'u64',
+ hash_: 'H256'
+ },
+ /**
+ * Lookup540: pallet_evm::pallet::Error<T>
+ **/
PalletEvmError: {
_enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']
},
/**
- * Lookup529: fp_rpc::TransactionStatus
+ * Lookup543: fp_rpc::TransactionStatus
**/
FpRpcTransactionStatus: {
transactionHash: 'H256',
@@ -3698,11 +3813,11 @@
logsBloom: 'EthbloomBloom'
},
/**
- * Lookup531: ethbloom::Bloom
+ * Lookup545: ethbloom::Bloom
**/
EthbloomBloom: '[u8;256]',
/**
- * Lookup533: ethereum::receipt::ReceiptV3
+ * Lookup547: ethereum::receipt::ReceiptV3
**/
EthereumReceiptReceiptV3: {
_enum: {
@@ -3712,7 +3827,7 @@
}
},
/**
- * Lookup534: ethereum::receipt::EIP658ReceiptData
+ * Lookup548: ethereum::receipt::EIP658ReceiptData
**/
EthereumReceiptEip658ReceiptData: {
statusCode: 'u8',
@@ -3721,7 +3836,7 @@
logs: 'Vec<EthereumLog>'
},
/**
- * Lookup535: ethereum::block::Block<ethereum::transaction::TransactionV2>
+ * Lookup549: ethereum::block::Block<ethereum::transaction::TransactionV2>
**/
EthereumBlock: {
header: 'EthereumHeader',
@@ -3729,7 +3844,7 @@
ommers: 'Vec<EthereumHeader>'
},
/**
- * Lookup536: ethereum::header::Header
+ * Lookup550: ethereum::header::Header
**/
EthereumHeader: {
parentHash: 'H256',
@@ -3749,23 +3864,23 @@
nonce: 'EthereumTypesHashH64'
},
/**
- * Lookup537: ethereum_types::hash::H64
+ * Lookup551: ethereum_types::hash::H64
**/
EthereumTypesHashH64: '[u8;8]',
/**
- * Lookup542: pallet_ethereum::pallet::Error<T>
+ * Lookup556: pallet_ethereum::pallet::Error<T>
**/
PalletEthereumError: {
_enum: ['InvalidSignature', 'PreLogExists']
},
/**
- * Lookup543: pallet_evm_coder_substrate::pallet::Error<T>
+ * Lookup557: pallet_evm_coder_substrate::pallet::Error<T>
**/
PalletEvmCoderSubstrateError: {
_enum: ['OutOfGas', 'OutOfFund']
},
/**
- * Lookup544: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup558: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
_enum: {
@@ -3775,35 +3890,35 @@
}
},
/**
- * Lookup545: pallet_evm_contract_helpers::SponsoringModeT
+ * Lookup559: pallet_evm_contract_helpers::SponsoringModeT
**/
PalletEvmContractHelpersSponsoringModeT: {
_enum: ['Disabled', 'Allowlisted', 'Generous']
},
/**
- * Lookup551: pallet_evm_contract_helpers::pallet::Error<T>
+ * Lookup565: pallet_evm_contract_helpers::pallet::Error<T>
**/
PalletEvmContractHelpersError: {
_enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
},
/**
- * Lookup552: pallet_evm_migration::pallet::Error<T>
+ * Lookup566: pallet_evm_migration::pallet::Error<T>
**/
PalletEvmMigrationError: {
_enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
},
/**
- * Lookup553: pallet_maintenance::pallet::Error<T>
+ * Lookup567: pallet_maintenance::pallet::Error<T>
**/
PalletMaintenanceError: 'Null',
/**
- * Lookup554: pallet_test_utils::pallet::Error<T>
+ * Lookup568: pallet_test_utils::pallet::Error<T>
**/
PalletTestUtilsError: {
_enum: ['TestPalletDisabled', 'TriggerRollback']
},
/**
- * Lookup556: sp_runtime::MultiSignature
+ * Lookup570: sp_runtime::MultiSignature
**/
SpRuntimeMultiSignature: {
_enum: {
@@ -3813,55 +3928,55 @@
}
},
/**
- * Lookup557: sp_core::ed25519::Signature
+ * Lookup571: sp_core::ed25519::Signature
**/
SpCoreEd25519Signature: '[u8;64]',
/**
- * Lookup559: sp_core::sr25519::Signature
+ * Lookup573: sp_core::sr25519::Signature
**/
SpCoreSr25519Signature: '[u8;64]',
/**
- * Lookup560: sp_core::ecdsa::Signature
+ * Lookup574: sp_core::ecdsa::Signature
**/
SpCoreEcdsaSignature: '[u8;65]',
/**
- * Lookup563: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+ * Lookup577: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
**/
FrameSystemExtensionsCheckSpecVersion: 'Null',
/**
- * Lookup564: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+ * Lookup578: frame_system::extensions::check_tx_version::CheckTxVersion<T>
**/
FrameSystemExtensionsCheckTxVersion: 'Null',
/**
- * Lookup565: frame_system::extensions::check_genesis::CheckGenesis<T>
+ * Lookup579: frame_system::extensions::check_genesis::CheckGenesis<T>
**/
FrameSystemExtensionsCheckGenesis: 'Null',
/**
- * Lookup568: frame_system::extensions::check_nonce::CheckNonce<T>
+ * Lookup582: frame_system::extensions::check_nonce::CheckNonce<T>
**/
FrameSystemExtensionsCheckNonce: 'Compact<u32>',
/**
- * Lookup569: frame_system::extensions::check_weight::CheckWeight<T>
+ * Lookup583: frame_system::extensions::check_weight::CheckWeight<T>
**/
FrameSystemExtensionsCheckWeight: 'Null',
/**
- * Lookup570: opal_runtime::runtime_common::maintenance::CheckMaintenance
+ * Lookup584: opal_runtime::runtime_common::maintenance::CheckMaintenance
**/
OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
/**
- * Lookup571: opal_runtime::runtime_common::identity::DisableIdentityCalls
+ * Lookup585: opal_runtime::runtime_common::identity::DisableIdentityCalls
**/
OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',
/**
- * Lookup572: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+ * Lookup586: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
**/
PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
/**
- * Lookup573: opal_runtime::Runtime
+ * Lookup587: opal_runtime::Runtime
**/
OpalRuntimeRuntime: 'Null',
/**
- * Lookup574: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+ * Lookup588: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
**/
PalletEthereumFakeTransactionFinalizer: 'Null'
};
tests/src/interfaces/registry.tsdiffbeforeafterboth--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
// this is required to allow for ambient/previous definitions
import '@polkadot/types/types/registry';
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, 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, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, 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, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup';
declare module '@polkadot/types/types/registry' {
interface InterfaceTypes {
@@ -19,6 +19,7 @@
CumulusPalletParachainSystemError: CumulusPalletParachainSystemError;
CumulusPalletParachainSystemEvent: CumulusPalletParachainSystemEvent;
CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot;
+ CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;
CumulusPalletXcmCall: CumulusPalletXcmCall;
CumulusPalletXcmError: CumulusPalletXcmError;
CumulusPalletXcmEvent: CumulusPalletXcmEvent;
@@ -117,7 +118,7 @@
PalletEthereumFakeTransactionFinalizer: PalletEthereumFakeTransactionFinalizer;
PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
PalletEvmCall: PalletEvmCall;
- PalletEvmCoderSubstrateCall: PalletEvmCoderSubstrateCall;
+ PalletEvmCodeMetadata: PalletEvmCodeMetadata;
PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
PalletEvmContractHelpersCall: PalletEvmContractHelpersCall;
PalletEvmContractHelpersError: PalletEvmContractHelpersError;
@@ -158,6 +159,13 @@
PalletSessionCall: PalletSessionCall;
PalletSessionError: PalletSessionError;
PalletSessionEvent: PalletSessionEvent;
+ PalletStateTrieMigrationCall: PalletStateTrieMigrationCall;
+ PalletStateTrieMigrationError: PalletStateTrieMigrationError;
+ PalletStateTrieMigrationEvent: PalletStateTrieMigrationEvent;
+ PalletStateTrieMigrationMigrationCompute: PalletStateTrieMigrationMigrationCompute;
+ PalletStateTrieMigrationMigrationLimits: PalletStateTrieMigrationMigrationLimits;
+ PalletStateTrieMigrationMigrationTask: PalletStateTrieMigrationMigrationTask;
+ PalletStateTrieMigrationProgress: PalletStateTrieMigrationProgress;
PalletStructureCall: PalletStructureCall;
PalletStructureError: PalletStructureError;
PalletStructureEvent: PalletStructureEvent;
tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -137,7 +137,8 @@
readonly isExhausted: boolean;
readonly isCorruption: boolean;
readonly isUnavailable: boolean;
- readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';
+ readonly isRootNotAllowed: boolean;
+ readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable' | 'RootNotAllowed';
}
/** @name SpRuntimeModuleError (26) */
@@ -157,7 +158,8 @@
readonly isUnsupported: boolean;
readonly isCannotCreateHold: boolean;
readonly isNotExpendable: boolean;
- readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable';
+ readonly isBlocked: boolean;
+ readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable' | 'Blocked';
}
/** @name SpArithmeticArithmeticError (28) */
@@ -175,7 +177,46 @@
readonly type: 'LimitReached' | 'NoLayer';
}
- /** @name CumulusPalletParachainSystemEvent (30) */
+ /** @name PalletStateTrieMigrationEvent (30) */
+ interface PalletStateTrieMigrationEvent extends Enum {
+ readonly isMigrated: boolean;
+ readonly asMigrated: {
+ readonly top: u32;
+ readonly child: u32;
+ readonly compute: PalletStateTrieMigrationMigrationCompute;
+ } & Struct;
+ readonly isSlashed: boolean;
+ readonly asSlashed: {
+ readonly who: AccountId32;
+ readonly amount: u128;
+ } & Struct;
+ readonly isAutoMigrationFinished: boolean;
+ readonly isHalted: boolean;
+ readonly asHalted: {
+ readonly error: PalletStateTrieMigrationError;
+ } & Struct;
+ readonly type: 'Migrated' | 'Slashed' | 'AutoMigrationFinished' | 'Halted';
+ }
+
+ /** @name PalletStateTrieMigrationMigrationCompute (31) */
+ interface PalletStateTrieMigrationMigrationCompute extends Enum {
+ readonly isSigned: boolean;
+ readonly isAuto: boolean;
+ readonly type: 'Signed' | 'Auto';
+ }
+
+ /** @name PalletStateTrieMigrationError (32) */
+ interface PalletStateTrieMigrationError extends Enum {
+ readonly isMaxSignedLimits: boolean;
+ readonly isKeyTooLong: boolean;
+ readonly isNotEnoughFunds: boolean;
+ readonly isBadWitness: boolean;
+ readonly isSignedMigrationNotAllowed: boolean;
+ readonly isBadChildRoot: boolean;
+ readonly type: 'MaxSignedLimits' | 'KeyTooLong' | 'NotEnoughFunds' | 'BadWitness' | 'SignedMigrationNotAllowed' | 'BadChildRoot';
+ }
+
+ /** @name CumulusPalletParachainSystemEvent (33) */
interface CumulusPalletParachainSystemEvent extends Enum {
readonly isValidationFunctionStored: boolean;
readonly isValidationFunctionApplied: boolean;
@@ -203,7 +244,7 @@
readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent';
}
- /** @name PalletCollatorSelectionEvent (32) */
+ /** @name PalletCollatorSelectionEvent (35) */
interface PalletCollatorSelectionEvent extends Enum {
readonly isInvulnerableAdded: boolean;
readonly asInvulnerableAdded: {
@@ -234,7 +275,7 @@
readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved';
}
- /** @name PalletSessionEvent (33) */
+ /** @name PalletSessionEvent (36) */
interface PalletSessionEvent extends Enum {
readonly isNewSession: boolean;
readonly asNewSession: {
@@ -243,7 +284,7 @@
readonly type: 'NewSession';
}
- /** @name PalletBalancesEvent (34) */
+ /** @name PalletBalancesEvent (37) */
interface PalletBalancesEvent extends Enum {
readonly isEndowed: boolean;
readonly asEndowed: {
@@ -353,14 +394,14 @@
readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed' | 'Minted' | 'Burned' | 'Suspended' | 'Restored' | 'Upgraded' | 'Issued' | 'Rescinded' | 'Locked' | 'Unlocked' | 'Frozen' | 'Thawed';
}
- /** @name FrameSupportTokensMiscBalanceStatus (35) */
+ /** @name FrameSupportTokensMiscBalanceStatus (38) */
interface FrameSupportTokensMiscBalanceStatus extends Enum {
readonly isFree: boolean;
readonly isReserved: boolean;
readonly type: 'Free' | 'Reserved';
}
- /** @name PalletTransactionPaymentEvent (36) */
+ /** @name PalletTransactionPaymentEvent (39) */
interface PalletTransactionPaymentEvent extends Enum {
readonly isTransactionFeePaid: boolean;
readonly asTransactionFeePaid: {
@@ -371,7 +412,7 @@
readonly type: 'TransactionFeePaid';
}
- /** @name PalletTreasuryEvent (37) */
+ /** @name PalletTreasuryEvent (40) */
interface PalletTreasuryEvent extends Enum {
readonly isProposed: boolean;
readonly asProposed: {
@@ -418,7 +459,7 @@
readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive';
}
- /** @name PalletSudoEvent (38) */
+ /** @name PalletSudoEvent (41) */
interface PalletSudoEvent extends Enum {
readonly isSudid: boolean;
readonly asSudid: {
@@ -435,7 +476,7 @@
readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
}
- /** @name OrmlVestingModuleEvent (42) */
+ /** @name OrmlVestingModuleEvent (45) */
interface OrmlVestingModuleEvent extends Enum {
readonly isVestingScheduleAdded: boolean;
readonly asVestingScheduleAdded: {
@@ -455,7 +496,7 @@
readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
}
- /** @name OrmlVestingVestingSchedule (43) */
+ /** @name OrmlVestingVestingSchedule (46) */
interface OrmlVestingVestingSchedule extends Struct {
readonly start: u32;
readonly period: u32;
@@ -463,7 +504,7 @@
readonly perPeriod: Compact<u128>;
}
- /** @name OrmlXtokensModuleEvent (45) */
+ /** @name OrmlXtokensModuleEvent (48) */
interface OrmlXtokensModuleEvent extends Enum {
readonly isTransferredMultiAssets: boolean;
readonly asTransferredMultiAssets: {
@@ -475,16 +516,16 @@
readonly type: 'TransferredMultiAssets';
}
- /** @name XcmV3MultiassetMultiAssets (46) */
+ /** @name XcmV3MultiassetMultiAssets (49) */
interface XcmV3MultiassetMultiAssets extends Vec<XcmV3MultiAsset> {}
- /** @name XcmV3MultiAsset (48) */
+ /** @name XcmV3MultiAsset (51) */
interface XcmV3MultiAsset extends Struct {
readonly id: XcmV3MultiassetAssetId;
readonly fun: XcmV3MultiassetFungibility;
}
- /** @name XcmV3MultiassetAssetId (49) */
+ /** @name XcmV3MultiassetAssetId (52) */
interface XcmV3MultiassetAssetId extends Enum {
readonly isConcrete: boolean;
readonly asConcrete: XcmV3MultiLocation;
@@ -493,13 +534,13 @@
readonly type: 'Concrete' | 'Abstract';
}
- /** @name XcmV3MultiLocation (50) */
+ /** @name XcmV3MultiLocation (53) */
interface XcmV3MultiLocation extends Struct {
readonly parents: u8;
readonly interior: XcmV3Junctions;
}
- /** @name XcmV3Junctions (51) */
+ /** @name XcmV3Junctions (54) */
interface XcmV3Junctions extends Enum {
readonly isHere: boolean;
readonly isX1: boolean;
@@ -521,7 +562,7 @@
readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
}
- /** @name XcmV3Junction (52) */
+ /** @name XcmV3Junction (55) */
interface XcmV3Junction extends Enum {
readonly isParachain: boolean;
readonly asParachain: Compact<u32>;
@@ -560,7 +601,7 @@
readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus';
}
- /** @name XcmV3JunctionNetworkId (55) */
+ /** @name XcmV3JunctionNetworkId (58) */
interface XcmV3JunctionNetworkId extends Enum {
readonly isByGenesis: boolean;
readonly asByGenesis: U8aFixed;
@@ -583,7 +624,7 @@
readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash';
}
- /** @name XcmV3JunctionBodyId (57) */
+ /** @name XcmV3JunctionBodyId (60) */
interface XcmV3JunctionBodyId extends Enum {
readonly isUnit: boolean;
readonly isMoniker: boolean;
@@ -600,7 +641,7 @@
readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';
}
- /** @name XcmV3JunctionBodyPart (58) */
+ /** @name XcmV3JunctionBodyPart (61) */
interface XcmV3JunctionBodyPart extends Enum {
readonly isVoice: boolean;
readonly isMembers: boolean;
@@ -625,7 +666,7 @@
readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
}
- /** @name XcmV3MultiassetFungibility (59) */
+ /** @name XcmV3MultiassetFungibility (62) */
interface XcmV3MultiassetFungibility extends Enum {
readonly isFungible: boolean;
readonly asFungible: Compact<u128>;
@@ -634,7 +675,7 @@
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV3MultiassetAssetInstance (60) */
+ /** @name XcmV3MultiassetAssetInstance (63) */
interface XcmV3MultiassetAssetInstance extends Enum {
readonly isUndefined: boolean;
readonly isIndex: boolean;
@@ -650,7 +691,7 @@
readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32';
}
- /** @name OrmlTokensModuleEvent (63) */
+ /** @name OrmlTokensModuleEvent (66) */
interface OrmlTokensModuleEvent extends Enum {
readonly isEndowed: boolean;
readonly asEndowed: {
@@ -750,7 +791,7 @@
readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved' | 'Locked' | 'Unlocked';
}
- /** @name PalletForeignAssetsAssetIds (64) */
+ /** @name PalletForeignAssetsAssetIds (67) */
interface PalletForeignAssetsAssetIds extends Enum {
readonly isForeignAssetId: boolean;
readonly asForeignAssetId: u32;
@@ -759,14 +800,14 @@
readonly type: 'ForeignAssetId' | 'NativeAssetId';
}
- /** @name PalletForeignAssetsNativeCurrency (65) */
+ /** @name PalletForeignAssetsNativeCurrency (68) */
interface PalletForeignAssetsNativeCurrency extends Enum {
readonly isHere: boolean;
readonly isParent: boolean;
readonly type: 'Here' | 'Parent';
}
- /** @name PalletIdentityEvent (66) */
+ /** @name PalletIdentityEvent (69) */
interface PalletIdentityEvent extends Enum {
readonly isIdentitySet: boolean;
readonly asIdentitySet: {
@@ -834,7 +875,7 @@
readonly type: 'IdentitySet' | 'IdentityCleared' | 'IdentityKilled' | 'IdentitiesInserted' | 'IdentitiesRemoved' | 'JudgementRequested' | 'JudgementUnrequested' | 'JudgementGiven' | 'RegistrarAdded' | 'SubIdentityAdded' | 'SubIdentityRemoved' | 'SubIdentityRevoked' | 'SubIdentitiesInserted';
}
- /** @name PalletPreimageEvent (67) */
+ /** @name PalletPreimageEvent (70) */
interface PalletPreimageEvent extends Enum {
readonly isNoted: boolean;
readonly asNoted: {
@@ -851,7 +892,7 @@
readonly type: 'Noted' | 'Requested' | 'Cleared';
}
- /** @name CumulusPalletXcmpQueueEvent (68) */
+ /** @name CumulusPalletXcmpQueueEvent (71) */
interface CumulusPalletXcmpQueueEvent extends Enum {
readonly isSuccess: boolean;
readonly asSuccess: {
@@ -891,7 +932,7 @@
readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
}
- /** @name XcmV3TraitsError (69) */
+ /** @name XcmV3TraitsError (72) */
interface XcmV3TraitsError extends Enum {
readonly isOverflow: boolean;
readonly isUnimplemented: boolean;
@@ -938,7 +979,7 @@
readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit';
}
- /** @name PalletXcmEvent (71) */
+ /** @name PalletXcmEvent (74) */
interface PalletXcmEvent extends Enum {
readonly isAttempted: boolean;
readonly asAttempted: XcmV3TraitsOutcome;
@@ -989,7 +1030,7 @@
readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed';
}
- /** @name XcmV3TraitsOutcome (72) */
+ /** @name XcmV3TraitsOutcome (75) */
interface XcmV3TraitsOutcome extends Enum {
readonly isComplete: boolean;
readonly asComplete: SpWeightsWeightV2Weight;
@@ -1000,10 +1041,10 @@
readonly type: 'Complete' | 'Incomplete' | 'Error';
}
- /** @name XcmV3Xcm (73) */
+ /** @name XcmV3Xcm (76) */
interface XcmV3Xcm extends Vec<XcmV3Instruction> {}
- /** @name XcmV3Instruction (75) */
+ /** @name XcmV3Instruction (78) */
interface XcmV3Instruction extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: XcmV3MultiassetMultiAssets;
@@ -1185,7 +1226,7 @@
readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution';
}
- /** @name XcmV3Response (76) */
+ /** @name XcmV3Response (79) */
interface XcmV3Response extends Enum {
readonly isNull: boolean;
readonly isAssets: boolean;
@@ -1201,7 +1242,7 @@
readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult';
}
- /** @name XcmV3PalletInfo (80) */
+ /** @name XcmV3PalletInfo (83) */
interface XcmV3PalletInfo extends Struct {
readonly index: Compact<u32>;
readonly name: Bytes;
@@ -1211,7 +1252,7 @@
readonly patch: Compact<u32>;
}
- /** @name XcmV3MaybeErrorCode (83) */
+ /** @name XcmV3MaybeErrorCode (86) */
interface XcmV3MaybeErrorCode extends Enum {
readonly isSuccess: boolean;
readonly isError: boolean;
@@ -1221,7 +1262,7 @@
readonly type: 'Success' | 'Error' | 'TruncatedError';
}
- /** @name XcmV2OriginKind (86) */
+ /** @name XcmV2OriginKind (89) */
interface XcmV2OriginKind extends Enum {
readonly isNative: boolean;
readonly isSovereignAccount: boolean;
@@ -1230,19 +1271,19 @@
readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
}
- /** @name XcmDoubleEncoded (87) */
+ /** @name XcmDoubleEncoded (90) */
interface XcmDoubleEncoded extends Struct {
readonly encoded: Bytes;
}
- /** @name XcmV3QueryResponseInfo (88) */
+ /** @name XcmV3QueryResponseInfo (91) */
interface XcmV3QueryResponseInfo extends Struct {
readonly destination: XcmV3MultiLocation;
readonly queryId: Compact<u64>;
readonly maxWeight: SpWeightsWeightV2Weight;
}
- /** @name XcmV3MultiassetMultiAssetFilter (89) */
+ /** @name XcmV3MultiassetMultiAssetFilter (92) */
interface XcmV3MultiassetMultiAssetFilter extends Enum {
readonly isDefinite: boolean;
readonly asDefinite: XcmV3MultiassetMultiAssets;
@@ -1251,7 +1292,7 @@
readonly type: 'Definite' | 'Wild';
}
- /** @name XcmV3MultiassetWildMultiAsset (90) */
+ /** @name XcmV3MultiassetWildMultiAsset (93) */
interface XcmV3MultiassetWildMultiAsset extends Enum {
readonly isAll: boolean;
readonly isAllOf: boolean;
@@ -1270,14 +1311,14 @@
readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted';
}
- /** @name XcmV3MultiassetWildFungibility (91) */
+ /** @name XcmV3MultiassetWildFungibility (94) */
interface XcmV3MultiassetWildFungibility extends Enum {
readonly isFungible: boolean;
readonly isNonFungible: boolean;
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV3WeightLimit (93) */
+ /** @name XcmV3WeightLimit (96) */
interface XcmV3WeightLimit extends Enum {
readonly isUnlimited: boolean;
readonly isLimited: boolean;
@@ -1285,7 +1326,7 @@
readonly type: 'Unlimited' | 'Limited';
}
- /** @name XcmVersionedMultiAssets (94) */
+ /** @name XcmVersionedMultiAssets (97) */
interface XcmVersionedMultiAssets extends Enum {
readonly isV2: boolean;
readonly asV2: XcmV2MultiassetMultiAssets;
@@ -1294,16 +1335,16 @@
readonly type: 'V2' | 'V3';
}
- /** @name XcmV2MultiassetMultiAssets (95) */
+ /** @name XcmV2MultiassetMultiAssets (98) */
interface XcmV2MultiassetMultiAssets extends Vec<XcmV2MultiAsset> {}
- /** @name XcmV2MultiAsset (97) */
+ /** @name XcmV2MultiAsset (100) */
interface XcmV2MultiAsset extends Struct {
readonly id: XcmV2MultiassetAssetId;
readonly fun: XcmV2MultiassetFungibility;
}
- /** @name XcmV2MultiassetAssetId (98) */
+ /** @name XcmV2MultiassetAssetId (101) */
interface XcmV2MultiassetAssetId extends Enum {
readonly isConcrete: boolean;
readonly asConcrete: XcmV2MultiLocation;
@@ -1312,13 +1353,13 @@
readonly type: 'Concrete' | 'Abstract';
}
- /** @name XcmV2MultiLocation (99) */
+ /** @name XcmV2MultiLocation (102) */
interface XcmV2MultiLocation extends Struct {
readonly parents: u8;
readonly interior: XcmV2MultilocationJunctions;
}
- /** @name XcmV2MultilocationJunctions (100) */
+ /** @name XcmV2MultilocationJunctions (103) */
interface XcmV2MultilocationJunctions extends Enum {
readonly isHere: boolean;
readonly isX1: boolean;
@@ -1340,7 +1381,7 @@
readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
}
- /** @name XcmV2Junction (101) */
+ /** @name XcmV2Junction (104) */
interface XcmV2Junction extends Enum {
readonly isParachain: boolean;
readonly asParachain: Compact<u32>;
@@ -1374,7 +1415,7 @@
readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
}
- /** @name XcmV2NetworkId (102) */
+ /** @name XcmV2NetworkId (105) */
interface XcmV2NetworkId extends Enum {
readonly isAny: boolean;
readonly isNamed: boolean;
@@ -1384,7 +1425,7 @@
readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
}
- /** @name XcmV2BodyId (104) */
+ /** @name XcmV2BodyId (107) */
interface XcmV2BodyId extends Enum {
readonly isUnit: boolean;
readonly isNamed: boolean;
@@ -1401,7 +1442,7 @@
readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';
}
- /** @name XcmV2BodyPart (105) */
+ /** @name XcmV2BodyPart (108) */
interface XcmV2BodyPart extends Enum {
readonly isVoice: boolean;
readonly isMembers: boolean;
@@ -1426,7 +1467,7 @@
readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
}
- /** @name XcmV2MultiassetFungibility (106) */
+ /** @name XcmV2MultiassetFungibility (109) */
interface XcmV2MultiassetFungibility extends Enum {
readonly isFungible: boolean;
readonly asFungible: Compact<u128>;
@@ -1435,7 +1476,7 @@
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV2MultiassetAssetInstance (107) */
+ /** @name XcmV2MultiassetAssetInstance (110) */
interface XcmV2MultiassetAssetInstance extends Enum {
readonly isUndefined: boolean;
readonly isIndex: boolean;
@@ -1453,7 +1494,7 @@
readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
}
- /** @name XcmVersionedMultiLocation (108) */
+ /** @name XcmVersionedMultiLocation (111) */
interface XcmVersionedMultiLocation extends Enum {
readonly isV2: boolean;
readonly asV2: XcmV2MultiLocation;
@@ -1462,7 +1503,7 @@
readonly type: 'V2' | 'V3';
}
- /** @name CumulusPalletXcmEvent (109) */
+ /** @name CumulusPalletXcmEvent (112) */
interface CumulusPalletXcmEvent extends Enum {
readonly isInvalidFormat: boolean;
readonly asInvalidFormat: U8aFixed;
@@ -1473,7 +1514,7 @@
readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
}
- /** @name CumulusPalletDmpQueueEvent (110) */
+ /** @name CumulusPalletDmpQueueEvent (113) */
interface CumulusPalletDmpQueueEvent extends Enum {
readonly isInvalidFormat: boolean;
readonly asInvalidFormat: {
@@ -1512,7 +1553,7 @@
readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted';
}
- /** @name PalletConfigurationEvent (111) */
+ /** @name PalletConfigurationEvent (114) */
interface PalletConfigurationEvent extends Enum {
readonly isNewDesiredCollators: boolean;
readonly asNewDesiredCollators: {
@@ -1529,7 +1570,7 @@
readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';
}
- /** @name PalletCommonEvent (114) */
+ /** @name PalletCommonEvent (117) */
interface PalletCommonEvent extends Enum {
readonly isCollectionCreated: boolean;
readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -1578,7 +1619,7 @@
readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';
}
- /** @name PalletEvmAccountBasicCrossAccountIdRepr (117) */
+ /** @name PalletEvmAccountBasicCrossAccountIdRepr (120) */
interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
readonly isSubstrate: boolean;
readonly asSubstrate: AccountId32;
@@ -1587,14 +1628,14 @@
readonly type: 'Substrate' | 'Ethereum';
}
- /** @name PalletStructureEvent (120) */
+ /** @name PalletStructureEvent (123) */
interface PalletStructureEvent extends Enum {
readonly isExecuted: boolean;
readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
readonly type: 'Executed';
}
- /** @name PalletAppPromotionEvent (121) */
+ /** @name PalletAppPromotionEvent (124) */
interface PalletAppPromotionEvent extends Enum {
readonly isStakingRecalculation: boolean;
readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
@@ -1607,7 +1648,7 @@
readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
}
- /** @name PalletForeignAssetsModuleEvent (122) */
+ /** @name PalletForeignAssetsModuleEvent (125) */
interface PalletForeignAssetsModuleEvent extends Enum {
readonly isForeignAssetRegistered: boolean;
readonly asForeignAssetRegistered: {
@@ -1634,7 +1675,7 @@
readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
}
- /** @name PalletForeignAssetsModuleAssetMetadata (123) */
+ /** @name PalletForeignAssetsModuleAssetMetadata (126) */
interface PalletForeignAssetsModuleAssetMetadata extends Struct {
readonly name: Bytes;
readonly symbol: Bytes;
@@ -1642,7 +1683,7 @@
readonly minimalBalance: u128;
}
- /** @name PalletEvmEvent (126) */
+ /** @name PalletEvmEvent (129) */
interface PalletEvmEvent extends Enum {
readonly isLog: boolean;
readonly asLog: {
@@ -1667,14 +1708,14 @@
readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
}
- /** @name EthereumLog (127) */
+ /** @name EthereumLog (130) */
interface EthereumLog extends Struct {
readonly address: H160;
readonly topics: Vec<H256>;
readonly data: Bytes;
}
- /** @name PalletEthereumEvent (129) */
+ /** @name PalletEthereumEvent (132) */
interface PalletEthereumEvent extends Enum {
readonly isExecuted: boolean;
readonly asExecuted: {
@@ -1687,7 +1728,7 @@
readonly type: 'Executed';
}
- /** @name EvmCoreErrorExitReason (130) */
+ /** @name EvmCoreErrorExitReason (133) */
interface EvmCoreErrorExitReason extends Enum {
readonly isSucceed: boolean;
readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -1700,7 +1741,7 @@
readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
}
- /** @name EvmCoreErrorExitSucceed (131) */
+ /** @name EvmCoreErrorExitSucceed (134) */
interface EvmCoreErrorExitSucceed extends Enum {
readonly isStopped: boolean;
readonly isReturned: boolean;
@@ -1708,7 +1749,7 @@
readonly type: 'Stopped' | 'Returned' | 'Suicided';
}
- /** @name EvmCoreErrorExitError (132) */
+ /** @name EvmCoreErrorExitError (135) */
interface EvmCoreErrorExitError extends Enum {
readonly isStackUnderflow: boolean;
readonly isStackOverflow: boolean;
@@ -1725,18 +1766,19 @@
readonly isCreateEmpty: boolean;
readonly isOther: boolean;
readonly asOther: Text;
+ readonly isMaxNonce: boolean;
readonly isInvalidCode: boolean;
readonly asInvalidCode: u8;
- readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
+ readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode';
}
- /** @name EvmCoreErrorExitRevert (136) */
+ /** @name EvmCoreErrorExitRevert (139) */
interface EvmCoreErrorExitRevert extends Enum {
readonly isReverted: boolean;
readonly type: 'Reverted';
}
- /** @name EvmCoreErrorExitFatal (137) */
+ /** @name EvmCoreErrorExitFatal (140) */
interface EvmCoreErrorExitFatal extends Enum {
readonly isNotSupported: boolean;
readonly isUnhandledInterrupt: boolean;
@@ -1747,7 +1789,7 @@
readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
}
- /** @name PalletEvmContractHelpersEvent (138) */
+ /** @name PalletEvmContractHelpersEvent (141) */
interface PalletEvmContractHelpersEvent extends Enum {
readonly isContractSponsorSet: boolean;
readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;
@@ -1758,20 +1800,20 @@
readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
}
- /** @name PalletEvmMigrationEvent (139) */
+ /** @name PalletEvmMigrationEvent (142) */
interface PalletEvmMigrationEvent extends Enum {
readonly isTestEvent: boolean;
readonly type: 'TestEvent';
}
- /** @name PalletMaintenanceEvent (140) */
+ /** @name PalletMaintenanceEvent (143) */
interface PalletMaintenanceEvent extends Enum {
readonly isMaintenanceEnabled: boolean;
readonly isMaintenanceDisabled: boolean;
readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
}
- /** @name PalletTestUtilsEvent (141) */
+ /** @name PalletTestUtilsEvent (144) */
interface PalletTestUtilsEvent extends Enum {
readonly isValueIsSet: boolean;
readonly isShouldRollback: boolean;
@@ -1779,7 +1821,7 @@
readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';
}
- /** @name FrameSystemPhase (142) */
+ /** @name FrameSystemPhase (145) */
interface FrameSystemPhase extends Enum {
readonly isApplyExtrinsic: boolean;
readonly asApplyExtrinsic: u32;
@@ -1788,13 +1830,13 @@
readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
}
- /** @name FrameSystemLastRuntimeUpgradeInfo (145) */
+ /** @name FrameSystemLastRuntimeUpgradeInfo (148) */
interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
readonly specVersion: Compact<u32>;
readonly specName: Text;
}
- /** @name FrameSystemCall (146) */
+ /** @name FrameSystemCall (149) */
interface FrameSystemCall extends Enum {
readonly isRemark: boolean;
readonly asRemark: {
@@ -1832,21 +1874,21 @@
readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
}
- /** @name FrameSystemLimitsBlockWeights (150) */
+ /** @name FrameSystemLimitsBlockWeights (153) */
interface FrameSystemLimitsBlockWeights extends Struct {
readonly baseBlock: SpWeightsWeightV2Weight;
readonly maxBlock: SpWeightsWeightV2Weight;
readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
}
- /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (151) */
+ /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (154) */
interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
readonly normal: FrameSystemLimitsWeightsPerClass;
readonly operational: FrameSystemLimitsWeightsPerClass;
readonly mandatory: FrameSystemLimitsWeightsPerClass;
}
- /** @name FrameSystemLimitsWeightsPerClass (152) */
+ /** @name FrameSystemLimitsWeightsPerClass (155) */
interface FrameSystemLimitsWeightsPerClass extends Struct {
readonly baseExtrinsic: SpWeightsWeightV2Weight;
readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
@@ -1854,25 +1896,25 @@
readonly reserved: Option<SpWeightsWeightV2Weight>;
}
- /** @name FrameSystemLimitsBlockLength (154) */
+ /** @name FrameSystemLimitsBlockLength (157) */
interface FrameSystemLimitsBlockLength extends Struct {
readonly max: FrameSupportDispatchPerDispatchClassU32;
}
- /** @name FrameSupportDispatchPerDispatchClassU32 (155) */
+ /** @name FrameSupportDispatchPerDispatchClassU32 (158) */
interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
readonly normal: u32;
readonly operational: u32;
readonly mandatory: u32;
}
- /** @name SpWeightsRuntimeDbWeight (156) */
+ /** @name SpWeightsRuntimeDbWeight (159) */
interface SpWeightsRuntimeDbWeight extends Struct {
readonly read: u64;
readonly write: u64;
}
- /** @name SpVersionRuntimeVersion (157) */
+ /** @name SpVersionRuntimeVersion (160) */
interface SpVersionRuntimeVersion extends Struct {
readonly specName: Text;
readonly implName: Text;
@@ -1884,7 +1926,7 @@
readonly stateVersion: u8;
}
- /** @name FrameSystemError (162) */
+ /** @name FrameSystemError (165) */
interface FrameSystemError extends Enum {
readonly isInvalidSpecName: boolean;
readonly isSpecVersionNeedsToIncrease: boolean;
@@ -1895,7 +1937,66 @@
readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
}
- /** @name PolkadotPrimitivesV4PersistedValidationData (163) */
+ /** @name PalletStateTrieMigrationMigrationTask (166) */
+ interface PalletStateTrieMigrationMigrationTask extends Struct {
+ readonly progressTop: PalletStateTrieMigrationProgress;
+ readonly progressChild: PalletStateTrieMigrationProgress;
+ readonly size_: u32;
+ readonly topItems: u32;
+ readonly childItems: u32;
+ }
+
+ /** @name PalletStateTrieMigrationProgress (167) */
+ interface PalletStateTrieMigrationProgress extends Enum {
+ readonly isToStart: boolean;
+ readonly isLastKey: boolean;
+ readonly asLastKey: Bytes;
+ readonly isComplete: boolean;
+ readonly type: 'ToStart' | 'LastKey' | 'Complete';
+ }
+
+ /** @name PalletStateTrieMigrationMigrationLimits (170) */
+ interface PalletStateTrieMigrationMigrationLimits extends Struct {
+ readonly size_: u32;
+ readonly item: u32;
+ }
+
+ /** @name PalletStateTrieMigrationCall (171) */
+ interface PalletStateTrieMigrationCall extends Enum {
+ readonly isControlAutoMigration: boolean;
+ readonly asControlAutoMigration: {
+ readonly maybeConfig: Option<PalletStateTrieMigrationMigrationLimits>;
+ } & Struct;
+ readonly isContinueMigrate: boolean;
+ readonly asContinueMigrate: {
+ readonly limits: PalletStateTrieMigrationMigrationLimits;
+ readonly realSizeUpper: u32;
+ readonly witnessTask: PalletStateTrieMigrationMigrationTask;
+ } & Struct;
+ readonly isMigrateCustomTop: boolean;
+ readonly asMigrateCustomTop: {
+ readonly keys_: Vec<Bytes>;
+ readonly witnessSize: u32;
+ } & Struct;
+ readonly isMigrateCustomChild: boolean;
+ readonly asMigrateCustomChild: {
+ readonly root: Bytes;
+ readonly childKeys: Vec<Bytes>;
+ readonly totalSize: u32;
+ } & Struct;
+ readonly isSetSignedMaxLimits: boolean;
+ readonly asSetSignedMaxLimits: {
+ readonly limits: PalletStateTrieMigrationMigrationLimits;
+ } & Struct;
+ readonly isForceSetProgress: boolean;
+ readonly asForceSetProgress: {
+ readonly progressTop: PalletStateTrieMigrationProgress;
+ readonly progressChild: PalletStateTrieMigrationProgress;
+ } & Struct;
+ readonly type: 'ControlAutoMigration' | 'ContinueMigrate' | 'MigrateCustomTop' | 'MigrateCustomChild' | 'SetSignedMaxLimits' | 'ForceSetProgress';
+ }
+
+ /** @name PolkadotPrimitivesV4PersistedValidationData (172) */
interface PolkadotPrimitivesV4PersistedValidationData extends Struct {
readonly parentHead: Bytes;
readonly relayParentNumber: u32;
@@ -1903,26 +2004,32 @@
readonly maxPovSize: u32;
}
- /** @name PolkadotPrimitivesV4UpgradeRestriction (166) */
+ /** @name PolkadotPrimitivesV4UpgradeRestriction (175) */
interface PolkadotPrimitivesV4UpgradeRestriction extends Enum {
readonly isPresent: boolean;
readonly type: 'Present';
}
- /** @name SpTrieStorageProof (167) */
+ /** @name SpTrieStorageProof (176) */
interface SpTrieStorageProof extends Struct {
readonly trieNodes: BTreeSet<Bytes>;
}
- /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (169) */
+ /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (178) */
interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
readonly dmqMqcHead: H256;
- readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
+ readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;
readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
}
- /** @name PolkadotPrimitivesV4AbridgedHrmpChannel (172) */
+ /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (179) */
+ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct {
+ readonly remainingCount: u32;
+ readonly remainingSize: u32;
+ }
+
+ /** @name PolkadotPrimitivesV4AbridgedHrmpChannel (182) */
interface PolkadotPrimitivesV4AbridgedHrmpChannel extends Struct {
readonly maxCapacity: u32;
readonly maxTotalSize: u32;
@@ -1932,7 +2039,7 @@
readonly mqcHead: Option<H256>;
}
- /** @name PolkadotPrimitivesV4AbridgedHostConfiguration (174) */
+ /** @name PolkadotPrimitivesV4AbridgedHostConfiguration (184) */
interface PolkadotPrimitivesV4AbridgedHostConfiguration extends Struct {
readonly maxCodeSize: u32;
readonly maxHeadDataSize: u32;
@@ -1945,19 +2052,19 @@
readonly validationUpgradeDelay: u32;
}
- /** @name PolkadotCorePrimitivesOutboundHrmpMessage (180) */
+ /** @name PolkadotCorePrimitivesOutboundHrmpMessage (190) */
interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
readonly recipient: u32;
readonly data: Bytes;
}
- /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (181) */
+ /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (191) */
interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct {
readonly codeHash: H256;
readonly checkVersion: bool;
}
- /** @name CumulusPalletParachainSystemCall (182) */
+ /** @name CumulusPalletParachainSystemCall (192) */
interface CumulusPalletParachainSystemCall extends Enum {
readonly isSetValidationData: boolean;
readonly asSetValidationData: {
@@ -1979,7 +2086,7 @@
readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
}
- /** @name CumulusPrimitivesParachainInherentParachainInherentData (183) */
+ /** @name CumulusPrimitivesParachainInherentParachainInherentData (193) */
interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
readonly validationData: PolkadotPrimitivesV4PersistedValidationData;
readonly relayChainState: SpTrieStorageProof;
@@ -1987,19 +2094,19 @@
readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
}
- /** @name PolkadotCorePrimitivesInboundDownwardMessage (185) */
+ /** @name PolkadotCorePrimitivesInboundDownwardMessage (195) */
interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
readonly sentAt: u32;
readonly msg: Bytes;
}
- /** @name PolkadotCorePrimitivesInboundHrmpMessage (188) */
+ /** @name PolkadotCorePrimitivesInboundHrmpMessage (198) */
interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
readonly sentAt: u32;
readonly data: Bytes;
}
- /** @name CumulusPalletParachainSystemError (191) */
+ /** @name CumulusPalletParachainSystemError (201) */
interface CumulusPalletParachainSystemError extends Enum {
readonly isOverlappingUpgrades: boolean;
readonly isProhibitedByPolkadot: boolean;
@@ -2012,10 +2119,10 @@
readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
}
- /** @name ParachainInfoCall (192) */
+ /** @name ParachainInfoCall (202) */
type ParachainInfoCall = Null;
- /** @name PalletCollatorSelectionCall (195) */
+ /** @name PalletCollatorSelectionCall (205) */
interface PalletCollatorSelectionCall extends Enum {
readonly isAddInvulnerable: boolean;
readonly asAddInvulnerable: {
@@ -2036,7 +2143,7 @@
readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense';
}
- /** @name PalletCollatorSelectionError (196) */
+ /** @name PalletCollatorSelectionError (206) */
interface PalletCollatorSelectionError extends Enum {
readonly isTooManyCandidates: boolean;
readonly isUnknown: boolean;
@@ -2054,21 +2161,21 @@
readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';
}
- /** @name OpalRuntimeRuntimeCommonSessionKeys (199) */
+ /** @name OpalRuntimeRuntimeCommonSessionKeys (209) */
interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
readonly aura: SpConsensusAuraSr25519AppSr25519Public;
}
- /** @name SpConsensusAuraSr25519AppSr25519Public (200) */
+ /** @name SpConsensusAuraSr25519AppSr25519Public (210) */
interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
- /** @name SpCoreSr25519Public (201) */
+ /** @name SpCoreSr25519Public (211) */
interface SpCoreSr25519Public extends U8aFixed {}
- /** @name SpCoreCryptoKeyTypeId (204) */
+ /** @name SpCoreCryptoKeyTypeId (214) */
interface SpCoreCryptoKeyTypeId extends U8aFixed {}
- /** @name PalletSessionCall (205) */
+ /** @name PalletSessionCall (215) */
interface PalletSessionCall extends Enum {
readonly isSetKeys: boolean;
readonly asSetKeys: {
@@ -2079,7 +2186,7 @@
readonly type: 'SetKeys' | 'PurgeKeys';
}
- /** @name PalletSessionError (206) */
+ /** @name PalletSessionError (216) */
interface PalletSessionError extends Enum {
readonly isInvalidProof: boolean;
readonly isNoAssociatedValidatorId: boolean;
@@ -2089,14 +2196,14 @@
readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';
}
- /** @name PalletBalancesBalanceLock (211) */
+ /** @name PalletBalancesBalanceLock (221) */
interface PalletBalancesBalanceLock extends Struct {
readonly id: U8aFixed;
readonly amount: u128;
readonly reasons: PalletBalancesReasons;
}
- /** @name PalletBalancesReasons (212) */
+ /** @name PalletBalancesReasons (222) */
interface PalletBalancesReasons extends Enum {
readonly isFee: boolean;
readonly isMisc: boolean;
@@ -2104,19 +2211,19 @@
readonly type: 'Fee' | 'Misc' | 'All';
}
- /** @name PalletBalancesReserveData (215) */
+ /** @name PalletBalancesReserveData (225) */
interface PalletBalancesReserveData extends Struct {
readonly id: U8aFixed;
readonly amount: u128;
}
- /** @name PalletBalancesIdAmount (218) */
+ /** @name PalletBalancesIdAmount (228) */
interface PalletBalancesIdAmount extends Struct {
readonly id: U8aFixed;
readonly amount: u128;
}
- /** @name PalletBalancesCall (220) */
+ /** @name PalletBalancesCall (231) */
interface PalletBalancesCall extends Enum {
readonly isTransferAllowDeath: boolean;
readonly asTransferAllowDeath: {
@@ -2167,7 +2274,7 @@
readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance';
}
- /** @name PalletBalancesError (223) */
+ /** @name PalletBalancesError (234) */
interface PalletBalancesError extends Enum {
readonly isVestingBalance: boolean;
readonly isLiquidityRestrictions: boolean;
@@ -2182,7 +2289,7 @@
readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes';
}
- /** @name PalletTimestampCall (224) */
+ /** @name PalletTimestampCall (235) */
interface PalletTimestampCall extends Enum {
readonly isSet: boolean;
readonly asSet: {
@@ -2191,14 +2298,14 @@
readonly type: 'Set';
}
- /** @name PalletTransactionPaymentReleases (226) */
+ /** @name PalletTransactionPaymentReleases (237) */
interface PalletTransactionPaymentReleases extends Enum {
readonly isV1Ancient: boolean;
readonly isV2: boolean;
readonly type: 'V1Ancient' | 'V2';
}
- /** @name PalletTreasuryProposal (227) */
+ /** @name PalletTreasuryProposal (238) */
interface PalletTreasuryProposal extends Struct {
readonly proposer: AccountId32;
readonly value: u128;
@@ -2206,7 +2313,7 @@
readonly bond: u128;
}
- /** @name PalletTreasuryCall (229) */
+ /** @name PalletTreasuryCall (240) */
interface PalletTreasuryCall extends Enum {
readonly isProposeSpend: boolean;
readonly asProposeSpend: {
@@ -2233,10 +2340,10 @@
readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
}
- /** @name FrameSupportPalletId (231) */
+ /** @name FrameSupportPalletId (242) */
interface FrameSupportPalletId extends U8aFixed {}
- /** @name PalletTreasuryError (232) */
+ /** @name PalletTreasuryError (243) */
interface PalletTreasuryError extends Enum {
readonly isInsufficientProposersBalance: boolean;
readonly isInvalidIndex: boolean;
@@ -2246,7 +2353,7 @@
readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
}
- /** @name PalletSudoCall (233) */
+ /** @name PalletSudoCall (244) */
interface PalletSudoCall extends Enum {
readonly isSudo: boolean;
readonly asSudo: {
@@ -2269,7 +2376,7 @@
readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
}
- /** @name OrmlVestingModuleCall (235) */
+ /** @name OrmlVestingModuleCall (246) */
interface OrmlVestingModuleCall extends Enum {
readonly isClaim: boolean;
readonly isVestedTransfer: boolean;
@@ -2289,7 +2396,7 @@
readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
}
- /** @name OrmlXtokensModuleCall (237) */
+ /** @name OrmlXtokensModuleCall (248) */
interface OrmlXtokensModuleCall extends Enum {
readonly isTransfer: boolean;
readonly asTransfer: {
@@ -2336,7 +2443,7 @@
readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
}
- /** @name XcmVersionedMultiAsset (238) */
+ /** @name XcmVersionedMultiAsset (249) */
interface XcmVersionedMultiAsset extends Enum {
readonly isV2: boolean;
readonly asV2: XcmV2MultiAsset;
@@ -2345,7 +2452,7 @@
readonly type: 'V2' | 'V3';
}
- /** @name OrmlTokensModuleCall (241) */
+ /** @name OrmlTokensModuleCall (252) */
interface OrmlTokensModuleCall extends Enum {
readonly isTransfer: boolean;
readonly asTransfer: {
@@ -2382,7 +2489,7 @@
readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
}
- /** @name PalletIdentityCall (242) */
+ /** @name PalletIdentityCall (253) */
interface PalletIdentityCall extends Enum {
readonly isAddRegistrar: boolean;
readonly asAddRegistrar: {
@@ -2462,7 +2569,7 @@
readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs';
}
- /** @name PalletIdentityIdentityInfo (243) */
+ /** @name PalletIdentityIdentityInfo (254) */
interface PalletIdentityIdentityInfo extends Struct {
readonly additional: Vec<ITuple<[Data, Data]>>;
readonly display: Data;
@@ -2475,7 +2582,7 @@
readonly twitter: Data;
}
- /** @name PalletIdentityBitFlags (279) */
+ /** @name PalletIdentityBitFlags (290) */
interface PalletIdentityBitFlags extends Set {
readonly isDisplay: boolean;
readonly isLegal: boolean;
@@ -2487,7 +2594,7 @@
readonly isTwitter: boolean;
}
- /** @name PalletIdentityIdentityField (280) */
+ /** @name PalletIdentityIdentityField (291) */
interface PalletIdentityIdentityField extends Enum {
readonly isDisplay: boolean;
readonly isLegal: boolean;
@@ -2500,7 +2607,7 @@
readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter';
}
- /** @name PalletIdentityJudgement (281) */
+ /** @name PalletIdentityJudgement (292) */
interface PalletIdentityJudgement extends Enum {
readonly isUnknown: boolean;
readonly isFeePaid: boolean;
@@ -2513,14 +2620,14 @@
readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous';
}
- /** @name PalletIdentityRegistration (284) */
+ /** @name PalletIdentityRegistration (295) */
interface PalletIdentityRegistration extends Struct {
readonly judgements: Vec<ITuple<[u32, PalletIdentityJudgement]>>;
readonly deposit: u128;
readonly info: PalletIdentityIdentityInfo;
}
- /** @name PalletPreimageCall (292) */
+ /** @name PalletPreimageCall (303) */
interface PalletPreimageCall extends Enum {
readonly isNotePreimage: boolean;
readonly asNotePreimage: {
@@ -2541,7 +2648,7 @@
readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage';
}
- /** @name CumulusPalletXcmpQueueCall (293) */
+ /** @name CumulusPalletXcmpQueueCall (304) */
interface CumulusPalletXcmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
readonly asServiceOverweight: {
@@ -2577,7 +2684,7 @@
readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
}
- /** @name PalletXcmCall (294) */
+ /** @name PalletXcmCall (305) */
interface PalletXcmCall extends Enum {
readonly isSend: boolean;
readonly asSend: {
@@ -2643,7 +2750,7 @@
readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension';
}
- /** @name XcmVersionedXcm (295) */
+ /** @name XcmVersionedXcm (306) */
interface XcmVersionedXcm extends Enum {
readonly isV2: boolean;
readonly asV2: XcmV2Xcm;
@@ -2652,10 +2759,10 @@
readonly type: 'V2' | 'V3';
}
- /** @name XcmV2Xcm (296) */
+ /** @name XcmV2Xcm (307) */
interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
- /** @name XcmV2Instruction (298) */
+ /** @name XcmV2Instruction (309) */
interface XcmV2Instruction extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: XcmV2MultiassetMultiAssets;
@@ -2775,7 +2882,7 @@
readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
}
- /** @name XcmV2Response (299) */
+ /** @name XcmV2Response (310) */
interface XcmV2Response extends Enum {
readonly isNull: boolean;
readonly isAssets: boolean;
@@ -2787,7 +2894,7 @@
readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
}
- /** @name XcmV2TraitsError (302) */
+ /** @name XcmV2TraitsError (313) */
interface XcmV2TraitsError extends Enum {
readonly isOverflow: boolean;
readonly isUnimplemented: boolean;
@@ -2820,7 +2927,7 @@
readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';
}
- /** @name XcmV2MultiassetMultiAssetFilter (303) */
+ /** @name XcmV2MultiassetMultiAssetFilter (314) */
interface XcmV2MultiassetMultiAssetFilter extends Enum {
readonly isDefinite: boolean;
readonly asDefinite: XcmV2MultiassetMultiAssets;
@@ -2829,7 +2936,7 @@
readonly type: 'Definite' | 'Wild';
}
- /** @name XcmV2MultiassetWildMultiAsset (304) */
+ /** @name XcmV2MultiassetWildMultiAsset (315) */
interface XcmV2MultiassetWildMultiAsset extends Enum {
readonly isAll: boolean;
readonly isAllOf: boolean;
@@ -2840,14 +2947,14 @@
readonly type: 'All' | 'AllOf';
}
- /** @name XcmV2MultiassetWildFungibility (305) */
+ /** @name XcmV2MultiassetWildFungibility (316) */
interface XcmV2MultiassetWildFungibility extends Enum {
readonly isFungible: boolean;
readonly isNonFungible: boolean;
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV2WeightLimit (306) */
+ /** @name XcmV2WeightLimit (317) */
interface XcmV2WeightLimit extends Enum {
readonly isUnlimited: boolean;
readonly isLimited: boolean;
@@ -2855,10 +2962,10 @@
readonly type: 'Unlimited' | 'Limited';
}
- /** @name CumulusPalletXcmCall (315) */
+ /** @name CumulusPalletXcmCall (326) */
type CumulusPalletXcmCall = Null;
- /** @name CumulusPalletDmpQueueCall (316) */
+ /** @name CumulusPalletDmpQueueCall (327) */
interface CumulusPalletDmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
readonly asServiceOverweight: {
@@ -2868,7 +2975,7 @@
readonly type: 'ServiceOverweight';
}
- /** @name PalletInflationCall (317) */
+ /** @name PalletInflationCall (328) */
interface PalletInflationCall extends Enum {
readonly isStartInflation: boolean;
readonly asStartInflation: {
@@ -2877,7 +2984,7 @@
readonly type: 'StartInflation';
}
- /** @name PalletUniqueCall (318) */
+ /** @name PalletUniqueCall (329) */
interface PalletUniqueCall extends Enum {
readonly isCreateCollection: boolean;
readonly asCreateCollection: {
@@ -3058,7 +3165,7 @@
readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'ApproveFrom' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
}
- /** @name UpDataStructsCollectionMode (323) */
+ /** @name UpDataStructsCollectionMode (334) */
interface UpDataStructsCollectionMode extends Enum {
readonly isNft: boolean;
readonly isFungible: boolean;
@@ -3067,7 +3174,7 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
- /** @name UpDataStructsCreateCollectionData (324) */
+ /** @name UpDataStructsCreateCollectionData (335) */
interface UpDataStructsCreateCollectionData extends Struct {
readonly mode: UpDataStructsCollectionMode;
readonly access: Option<UpDataStructsAccessMode>;
@@ -3081,14 +3188,14 @@
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsAccessMode (326) */
+ /** @name UpDataStructsAccessMode (337) */
interface UpDataStructsAccessMode extends Enum {
readonly isNormal: boolean;
readonly isAllowList: boolean;
readonly type: 'Normal' | 'AllowList';
}
- /** @name UpDataStructsCollectionLimits (328) */
+ /** @name UpDataStructsCollectionLimits (339) */
interface UpDataStructsCollectionLimits extends Struct {
readonly accountTokenOwnershipLimit: Option<u32>;
readonly sponsoredDataSize: Option<u32>;
@@ -3101,7 +3208,7 @@
readonly transfersEnabled: Option<bool>;
}
- /** @name UpDataStructsSponsoringRateLimit (330) */
+ /** @name UpDataStructsSponsoringRateLimit (341) */
interface UpDataStructsSponsoringRateLimit extends Enum {
readonly isSponsoringDisabled: boolean;
readonly isBlocks: boolean;
@@ -3109,43 +3216,43 @@
readonly type: 'SponsoringDisabled' | 'Blocks';
}
- /** @name UpDataStructsCollectionPermissions (333) */
+ /** @name UpDataStructsCollectionPermissions (344) */
interface UpDataStructsCollectionPermissions extends Struct {
readonly access: Option<UpDataStructsAccessMode>;
readonly mintMode: Option<bool>;
readonly nesting: Option<UpDataStructsNestingPermissions>;
}
- /** @name UpDataStructsNestingPermissions (335) */
+ /** @name UpDataStructsNestingPermissions (346) */
interface UpDataStructsNestingPermissions extends Struct {
readonly tokenOwner: bool;
readonly collectionAdmin: bool;
readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
}
- /** @name UpDataStructsOwnerRestrictedSet (337) */
+ /** @name UpDataStructsOwnerRestrictedSet (348) */
interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
- /** @name UpDataStructsPropertyKeyPermission (342) */
+ /** @name UpDataStructsPropertyKeyPermission (353) */
interface UpDataStructsPropertyKeyPermission extends Struct {
readonly key: Bytes;
readonly permission: UpDataStructsPropertyPermission;
}
- /** @name UpDataStructsPropertyPermission (343) */
+ /** @name UpDataStructsPropertyPermission (354) */
interface UpDataStructsPropertyPermission extends Struct {
readonly mutable: bool;
readonly collectionAdmin: bool;
readonly tokenOwner: bool;
}
- /** @name UpDataStructsProperty (346) */
+ /** @name UpDataStructsProperty (357) */
interface UpDataStructsProperty extends Struct {
readonly key: Bytes;
readonly value: Bytes;
}
- /** @name UpDataStructsCreateItemData (349) */
+ /** @name UpDataStructsCreateItemData (360) */
interface UpDataStructsCreateItemData extends Enum {
readonly isNft: boolean;
readonly asNft: UpDataStructsCreateNftData;
@@ -3156,23 +3263,23 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
- /** @name UpDataStructsCreateNftData (350) */
+ /** @name UpDataStructsCreateNftData (361) */
interface UpDataStructsCreateNftData extends Struct {
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsCreateFungibleData (351) */
+ /** @name UpDataStructsCreateFungibleData (362) */
interface UpDataStructsCreateFungibleData extends Struct {
readonly value: u128;
}
- /** @name UpDataStructsCreateReFungibleData (352) */
+ /** @name UpDataStructsCreateReFungibleData (363) */
interface UpDataStructsCreateReFungibleData extends Struct {
readonly pieces: u128;
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsCreateItemExData (355) */
+ /** @name UpDataStructsCreateItemExData (366) */
interface UpDataStructsCreateItemExData extends Enum {
readonly isNft: boolean;
readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -3185,26 +3292,26 @@
readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
}
- /** @name UpDataStructsCreateNftExData (357) */
+ /** @name UpDataStructsCreateNftExData (368) */
interface UpDataStructsCreateNftExData extends Struct {
readonly properties: Vec<UpDataStructsProperty>;
readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
- /** @name UpDataStructsCreateRefungibleExSingleOwner (364) */
+ /** @name UpDataStructsCreateRefungibleExSingleOwner (375) */
interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
readonly pieces: u128;
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsCreateRefungibleExMultipleOwners (366) */
+ /** @name UpDataStructsCreateRefungibleExMultipleOwners (377) */
interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name PalletConfigurationCall (367) */
+ /** @name PalletConfigurationCall (378) */
interface PalletConfigurationCall extends Enum {
readonly isSetWeightToFeeCoefficientOverride: boolean;
readonly asSetWeightToFeeCoefficientOverride: {
@@ -3233,7 +3340,7 @@
readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';
}
- /** @name PalletConfigurationAppPromotionConfiguration (369) */
+ /** @name PalletConfigurationAppPromotionConfiguration (380) */
interface PalletConfigurationAppPromotionConfiguration extends Struct {
readonly recalculationInterval: Option<u32>;
readonly pendingInterval: Option<u32>;
@@ -3241,10 +3348,10 @@
readonly maxStakersPerCalculation: Option<u8>;
}
- /** @name PalletStructureCall (373) */
+ /** @name PalletStructureCall (384) */
type PalletStructureCall = Null;
- /** @name PalletAppPromotionCall (374) */
+ /** @name PalletAppPromotionCall (385) */
interface PalletAppPromotionCall extends Enum {
readonly isSetAdminAddress: boolean;
readonly asSetAdminAddress: {
@@ -3279,10 +3386,14 @@
readonly asUnstakePartial: {
readonly amount: u128;
} & Struct;
- readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial';
+ readonly isForceUnstake: boolean;
+ readonly asForceUnstake: {
+ readonly pendingBlocks: Vec<u32>;
+ } & Struct;
+ readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake';
}
- /** @name PalletForeignAssetsModuleCall (375) */
+ /** @name PalletForeignAssetsModuleCall (386) */
interface PalletForeignAssetsModuleCall extends Enum {
readonly isRegisterForeignAsset: boolean;
readonly asRegisterForeignAsset: {
@@ -3299,7 +3410,7 @@
readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
}
- /** @name PalletEvmCall (376) */
+ /** @name PalletEvmCall (387) */
interface PalletEvmCall extends Enum {
readonly isWithdraw: boolean;
readonly asWithdraw: {
@@ -3344,7 +3455,7 @@
readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
}
- /** @name PalletEthereumCall (382) */
+ /** @name PalletEthereumCall (393) */
interface PalletEthereumCall extends Enum {
readonly isTransact: boolean;
readonly asTransact: {
@@ -3353,7 +3464,7 @@
readonly type: 'Transact';
}
- /** @name EthereumTransactionTransactionV2 (383) */
+ /** @name EthereumTransactionTransactionV2 (394) */
interface EthereumTransactionTransactionV2 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -3364,7 +3475,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumTransactionLegacyTransaction (384) */
+ /** @name EthereumTransactionLegacyTransaction (395) */
interface EthereumTransactionLegacyTransaction extends Struct {
readonly nonce: U256;
readonly gasPrice: U256;
@@ -3375,7 +3486,7 @@
readonly signature: EthereumTransactionTransactionSignature;
}
- /** @name EthereumTransactionTransactionAction (385) */
+ /** @name EthereumTransactionTransactionAction (396) */
interface EthereumTransactionTransactionAction extends Enum {
readonly isCall: boolean;
readonly asCall: H160;
@@ -3383,14 +3494,14 @@
readonly type: 'Call' | 'Create';
}
- /** @name EthereumTransactionTransactionSignature (386) */
+ /** @name EthereumTransactionTransactionSignature (397) */
interface EthereumTransactionTransactionSignature extends Struct {
readonly v: u64;
readonly r: H256;
readonly s: H256;
}
- /** @name EthereumTransactionEip2930Transaction (388) */
+ /** @name EthereumTransactionEip2930Transaction (399) */
interface EthereumTransactionEip2930Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -3405,13 +3516,13 @@
readonly s: H256;
}
- /** @name EthereumTransactionAccessListItem (390) */
+ /** @name EthereumTransactionAccessListItem (401) */
interface EthereumTransactionAccessListItem extends Struct {
readonly address: H160;
readonly storageKeys: Vec<H256>;
}
- /** @name EthereumTransactionEip1559Transaction (391) */
+ /** @name EthereumTransactionEip1559Transaction (402) */
interface EthereumTransactionEip1559Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -3427,13 +3538,7 @@
readonly s: H256;
}
- /** @name PalletEvmCoderSubstrateCall (392) */
- interface PalletEvmCoderSubstrateCall extends Enum {
- readonly isEmptyCall: boolean;
- readonly type: 'EmptyCall';
- }
-
- /** @name PalletEvmContractHelpersCall (393) */
+ /** @name PalletEvmContractHelpersCall (403) */
interface PalletEvmContractHelpersCall extends Enum {
readonly isMigrateFromSelfSponsoring: boolean;
readonly asMigrateFromSelfSponsoring: {
@@ -3442,7 +3547,7 @@
readonly type: 'MigrateFromSelfSponsoring';
}
- /** @name PalletEvmMigrationCall (395) */
+ /** @name PalletEvmMigrationCall (405) */
interface PalletEvmMigrationCall extends Enum {
readonly isBegin: boolean;
readonly asBegin: {
@@ -3470,7 +3575,7 @@
readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData';
}
- /** @name PalletMaintenanceCall (399) */
+ /** @name PalletMaintenanceCall (409) */
interface PalletMaintenanceCall extends Enum {
readonly isEnable: boolean;
readonly isDisable: boolean;
@@ -3482,7 +3587,7 @@
readonly type: 'Enable' | 'Disable' | 'ExecutePreimage';
}
- /** @name PalletTestUtilsCall (400) */
+ /** @name PalletTestUtilsCall (410) */
interface PalletTestUtilsCall extends Enum {
readonly isEnable: boolean;
readonly isSetTestValue: boolean;
@@ -3502,13 +3607,13 @@
readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
}
- /** @name PalletSudoError (402) */
+ /** @name PalletSudoError (412) */
interface PalletSudoError extends Enum {
readonly isRequireSudo: boolean;
readonly type: 'RequireSudo';
}
- /** @name OrmlVestingModuleError (404) */
+ /** @name OrmlVestingModuleError (414) */
interface OrmlVestingModuleError extends Enum {
readonly isZeroVestingPeriod: boolean;
readonly isZeroVestingPeriodCount: boolean;
@@ -3519,7 +3624,7 @@
readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
}
- /** @name OrmlXtokensModuleError (405) */
+ /** @name OrmlXtokensModuleError (415) */
interface OrmlXtokensModuleError extends Enum {
readonly isAssetHasNoReserve: boolean;
readonly isNotCrossChainTransfer: boolean;
@@ -3543,26 +3648,26 @@
readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
}
- /** @name OrmlTokensBalanceLock (408) */
+ /** @name OrmlTokensBalanceLock (418) */
interface OrmlTokensBalanceLock extends Struct {
readonly id: U8aFixed;
readonly amount: u128;
}
- /** @name OrmlTokensAccountData (410) */
+ /** @name OrmlTokensAccountData (420) */
interface OrmlTokensAccountData extends Struct {
readonly free: u128;
readonly reserved: u128;
readonly frozen: u128;
}
- /** @name OrmlTokensReserveData (412) */
+ /** @name OrmlTokensReserveData (422) */
interface OrmlTokensReserveData extends Struct {
readonly id: Null;
readonly amount: u128;
}
- /** @name OrmlTokensModuleError (414) */
+ /** @name OrmlTokensModuleError (424) */
interface OrmlTokensModuleError extends Enum {
readonly isBalanceTooLow: boolean;
readonly isAmountIntoBalanceFailed: boolean;
@@ -3575,14 +3680,14 @@
readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
}
- /** @name PalletIdentityRegistrarInfo (419) */
+ /** @name PalletIdentityRegistrarInfo (429) */
interface PalletIdentityRegistrarInfo extends Struct {
readonly account: AccountId32;
readonly fee: u128;
readonly fields: PalletIdentityBitFlags;
}
- /** @name PalletIdentityError (421) */
+ /** @name PalletIdentityError (431) */
interface PalletIdentityError extends Enum {
readonly isTooManySubAccounts: boolean;
readonly isNotFound: boolean;
@@ -3605,7 +3710,7 @@
readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyFields' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed';
}
- /** @name PalletPreimageRequestStatus (422) */
+ /** @name PalletPreimageRequestStatus (432) */
interface PalletPreimageRequestStatus extends Enum {
readonly isUnrequested: boolean;
readonly asUnrequested: {
@@ -3621,7 +3726,7 @@
readonly type: 'Unrequested' | 'Requested';
}
- /** @name PalletPreimageError (427) */
+ /** @name PalletPreimageError (437) */
interface PalletPreimageError extends Enum {
readonly isTooBig: boolean;
readonly isAlreadyNoted: boolean;
@@ -3632,21 +3737,21 @@
readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested';
}
- /** @name CumulusPalletXcmpQueueInboundChannelDetails (429) */
+ /** @name CumulusPalletXcmpQueueInboundChannelDetails (439) */
interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
readonly sender: u32;
readonly state: CumulusPalletXcmpQueueInboundState;
readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
}
- /** @name CumulusPalletXcmpQueueInboundState (430) */
+ /** @name CumulusPalletXcmpQueueInboundState (440) */
interface CumulusPalletXcmpQueueInboundState extends Enum {
readonly isOk: boolean;
readonly isSuspended: boolean;
readonly type: 'Ok' | 'Suspended';
}
- /** @name PolkadotParachainPrimitivesXcmpMessageFormat (433) */
+ /** @name PolkadotParachainPrimitivesXcmpMessageFormat (443) */
interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
readonly isConcatenatedVersionedXcm: boolean;
readonly isConcatenatedEncodedBlob: boolean;
@@ -3654,7 +3759,7 @@
readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
}
- /** @name CumulusPalletXcmpQueueOutboundChannelDetails (436) */
+ /** @name CumulusPalletXcmpQueueOutboundChannelDetails (446) */
interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
readonly recipient: u32;
readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -3663,14 +3768,14 @@
readonly lastIndex: u16;
}
- /** @name CumulusPalletXcmpQueueOutboundState (437) */
+ /** @name CumulusPalletXcmpQueueOutboundState (447) */
interface CumulusPalletXcmpQueueOutboundState extends Enum {
readonly isOk: boolean;
readonly isSuspended: boolean;
readonly type: 'Ok' | 'Suspended';
}
- /** @name CumulusPalletXcmpQueueQueueConfigData (439) */
+ /** @name CumulusPalletXcmpQueueQueueConfigData (449) */
interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
readonly suspendThreshold: u32;
readonly dropThreshold: u32;
@@ -3680,7 +3785,7 @@
readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
}
- /** @name CumulusPalletXcmpQueueError (441) */
+ /** @name CumulusPalletXcmpQueueError (451) */
interface CumulusPalletXcmpQueueError extends Enum {
readonly isFailedToSend: boolean;
readonly isBadXcmOrigin: boolean;
@@ -3690,7 +3795,7 @@
readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
}
- /** @name PalletXcmQueryStatus (442) */
+ /** @name PalletXcmQueryStatus (452) */
interface PalletXcmQueryStatus extends Enum {
readonly isPending: boolean;
readonly asPending: {
@@ -3712,7 +3817,7 @@
readonly type: 'Pending' | 'VersionNotifier' | 'Ready';
}
- /** @name XcmVersionedResponse (446) */
+ /** @name XcmVersionedResponse (456) */
interface XcmVersionedResponse extends Enum {
readonly isV2: boolean;
readonly asV2: XcmV2Response;
@@ -3721,7 +3826,7 @@
readonly type: 'V2' | 'V3';
}
- /** @name PalletXcmVersionMigrationStage (452) */
+ /** @name PalletXcmVersionMigrationStage (462) */
interface PalletXcmVersionMigrationStage extends Enum {
readonly isMigrateSupportedVersion: boolean;
readonly isMigrateVersionNotifiers: boolean;
@@ -3731,22 +3836,22 @@
readonly type: 'MigrateSupportedVersion' | 'MigrateVersionNotifiers' | 'NotifyCurrentTargets' | 'MigrateAndNotifyOldTargets';
}
- /** @name XcmVersionedAssetId (455) */
+ /** @name XcmVersionedAssetId (465) */
interface XcmVersionedAssetId extends Enum {
readonly isV3: boolean;
readonly asV3: XcmV3MultiassetAssetId;
readonly type: 'V3';
}
- /** @name PalletXcmRemoteLockedFungibleRecord (456) */
+ /** @name PalletXcmRemoteLockedFungibleRecord (466) */
interface PalletXcmRemoteLockedFungibleRecord extends Struct {
readonly amount: u128;
readonly owner: XcmVersionedMultiLocation;
readonly locker: XcmVersionedMultiLocation;
- readonly users: u32;
+ readonly consumers: Vec<ITuple<[Null, u128]>>;
}
- /** @name PalletXcmError (460) */
+ /** @name PalletXcmError (473) */
interface PalletXcmError extends Enum {
readonly isUnreachable: boolean;
readonly isSendFailure: boolean;
@@ -3771,29 +3876,29 @@
readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse';
}
- /** @name CumulusPalletXcmError (461) */
+ /** @name CumulusPalletXcmError (474) */
type CumulusPalletXcmError = Null;
- /** @name CumulusPalletDmpQueueConfigData (462) */
+ /** @name CumulusPalletDmpQueueConfigData (475) */
interface CumulusPalletDmpQueueConfigData extends Struct {
readonly maxIndividual: SpWeightsWeightV2Weight;
}
- /** @name CumulusPalletDmpQueuePageIndexData (463) */
+ /** @name CumulusPalletDmpQueuePageIndexData (476) */
interface CumulusPalletDmpQueuePageIndexData extends Struct {
readonly beginUsed: u32;
readonly endUsed: u32;
readonly overweightCount: u64;
}
- /** @name CumulusPalletDmpQueueError (466) */
+ /** @name CumulusPalletDmpQueueError (479) */
interface CumulusPalletDmpQueueError extends Enum {
readonly isUnknown: boolean;
readonly isOverLimit: boolean;
readonly type: 'Unknown' | 'OverLimit';
}
- /** @name PalletUniqueError (470) */
+ /** @name PalletUniqueError (483) */
interface PalletUniqueError extends Enum {
readonly isCollectionDecimalPointLimitExceeded: boolean;
readonly isEmptyArgument: boolean;
@@ -3801,13 +3906,13 @@
readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
}
- /** @name PalletConfigurationError (471) */
+ /** @name PalletConfigurationError (484) */
interface PalletConfigurationError extends Enum {
readonly isInconsistentConfiguration: boolean;
readonly type: 'InconsistentConfiguration';
}
- /** @name UpDataStructsCollection (472) */
+ /** @name UpDataStructsCollection (485) */
interface UpDataStructsCollection extends Struct {
readonly owner: AccountId32;
readonly mode: UpDataStructsCollectionMode;
@@ -3820,7 +3925,7 @@
readonly flags: U8aFixed;
}
- /** @name UpDataStructsSponsorshipStateAccountId32 (473) */
+ /** @name UpDataStructsSponsorshipStateAccountId32 (486) */
interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
readonly isDisabled: boolean;
readonly isUnconfirmed: boolean;
@@ -3830,43 +3935,43 @@
readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
}
- /** @name UpDataStructsProperties (474) */
+ /** @name UpDataStructsProperties (487) */
interface UpDataStructsProperties extends Struct {
readonly map: UpDataStructsPropertiesMapBoundedVec;
readonly consumedSpace: u32;
readonly reserved: u32;
}
- /** @name UpDataStructsPropertiesMapBoundedVec (475) */
+ /** @name UpDataStructsPropertiesMapBoundedVec (488) */
interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
- /** @name UpDataStructsPropertiesMapPropertyPermission (480) */
+ /** @name UpDataStructsPropertiesMapPropertyPermission (493) */
interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
- /** @name UpDataStructsCollectionStats (487) */
+ /** @name UpDataStructsCollectionStats (500) */
interface UpDataStructsCollectionStats extends Struct {
readonly created: u32;
readonly destroyed: u32;
readonly alive: u32;
}
- /** @name UpDataStructsTokenChild (488) */
+ /** @name UpDataStructsTokenChild (501) */
interface UpDataStructsTokenChild extends Struct {
readonly token: u32;
readonly collection: u32;
}
- /** @name PhantomTypeUpDataStructs (489) */
+ /** @name PhantomTypeUpDataStructs (502) */
interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpPovEstimateRpcPovInfo]>> {}
- /** @name UpDataStructsTokenData (491) */
+ /** @name UpDataStructsTokenData (504) */
interface UpDataStructsTokenData extends Struct {
readonly properties: Vec<UpDataStructsProperty>;
readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
readonly pieces: u128;
}
- /** @name UpDataStructsRpcCollection (493) */
+ /** @name UpDataStructsRpcCollection (506) */
interface UpDataStructsRpcCollection extends Struct {
readonly owner: AccountId32;
readonly mode: UpDataStructsCollectionMode;
@@ -3882,13 +3987,13 @@
readonly flags: UpDataStructsRpcCollectionFlags;
}
- /** @name UpDataStructsRpcCollectionFlags (494) */
+ /** @name UpDataStructsRpcCollectionFlags (507) */
interface UpDataStructsRpcCollectionFlags extends Struct {
readonly foreign: bool;
readonly erc721metadata: bool;
}
- /** @name UpPovEstimateRpcPovInfo (495) */
+ /** @name UpPovEstimateRpcPovInfo (508) */
interface UpPovEstimateRpcPovInfo extends Struct {
readonly proofSize: u64;
readonly compactProofSize: u64;
@@ -3897,7 +4002,7 @@
readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;
}
- /** @name SpRuntimeTransactionValidityTransactionValidityError (498) */
+ /** @name SpRuntimeTransactionValidityTransactionValidityError (511) */
interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {
readonly isInvalid: boolean;
readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;
@@ -3906,7 +4011,7 @@
readonly type: 'Invalid' | 'Unknown';
}
- /** @name SpRuntimeTransactionValidityInvalidTransaction (499) */
+ /** @name SpRuntimeTransactionValidityInvalidTransaction (512) */
interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {
readonly isCall: boolean;
readonly isPayment: boolean;
@@ -3923,7 +4028,7 @@
readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner';
}
- /** @name SpRuntimeTransactionValidityUnknownTransaction (500) */
+ /** @name SpRuntimeTransactionValidityUnknownTransaction (513) */
interface SpRuntimeTransactionValidityUnknownTransaction extends Enum {
readonly isCannotLookup: boolean;
readonly isNoUnsignedValidator: boolean;
@@ -3932,13 +4037,13 @@
readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom';
}
- /** @name UpPovEstimateRpcTrieKeyValue (502) */
+ /** @name UpPovEstimateRpcTrieKeyValue (515) */
interface UpPovEstimateRpcTrieKeyValue extends Struct {
readonly key: Bytes;
readonly value: Bytes;
}
- /** @name PalletCommonError (504) */
+ /** @name PalletCommonError (517) */
interface PalletCommonError extends Enum {
readonly isCollectionNotFound: boolean;
readonly isMustBeTokenOwner: boolean;
@@ -3980,7 +4085,7 @@
readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsNotEthMirror' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
}
- /** @name PalletFungibleError (506) */
+ /** @name PalletFungibleError (519) */
interface PalletFungibleError extends Enum {
readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isFungibleItemsHaveNoId: boolean;
@@ -3992,7 +4097,7 @@
readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
}
- /** @name PalletRefungibleError (511) */
+ /** @name PalletRefungibleError (524) */
interface PalletRefungibleError extends Enum {
readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isWrongRefungiblePieces: boolean;
@@ -4002,19 +4107,19 @@
readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
}
- /** @name PalletNonfungibleItemData (512) */
+ /** @name PalletNonfungibleItemData (525) */
interface PalletNonfungibleItemData extends Struct {
readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
- /** @name UpDataStructsPropertyScope (514) */
+ /** @name UpDataStructsPropertyScope (527) */
interface UpDataStructsPropertyScope extends Enum {
readonly isNone: boolean;
readonly isRmrk: boolean;
readonly type: 'None' | 'Rmrk';
}
- /** @name PalletNonfungibleError (517) */
+ /** @name PalletNonfungibleError (530) */
interface PalletNonfungibleError extends Enum {
readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -4022,7 +4127,7 @@
readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
}
- /** @name PalletStructureError (518) */
+ /** @name PalletStructureError (531) */
interface PalletStructureError extends Enum {
readonly isOuroborosDetected: boolean;
readonly isDepthLimit: boolean;
@@ -4032,19 +4137,19 @@
readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound' | 'CantNestTokenUnderCollection';
}
- /** @name PalletAppPromotionError (523) */
+ /** @name PalletAppPromotionError (536) */
interface PalletAppPromotionError extends Enum {
readonly isAdminNotSet: boolean;
readonly isNoPermission: boolean;
readonly isNotSufficientFunds: boolean;
readonly isPendingForBlockOverflow: boolean;
readonly isSponsorNotSet: boolean;
- readonly isIncorrectLockedBalanceOperation: boolean;
readonly isInsufficientStakedBalance: boolean;
- readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation' | 'InsufficientStakedBalance';
+ readonly isInconsistencyState: boolean;
+ readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'InsufficientStakedBalance' | 'InconsistencyState';
}
- /** @name PalletForeignAssetsModuleError (524) */
+ /** @name PalletForeignAssetsModuleError (537) */
interface PalletForeignAssetsModuleError extends Enum {
readonly isBadLocation: boolean;
readonly isMultiLocationExisted: boolean;
@@ -4053,7 +4158,13 @@
readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
}
- /** @name PalletEvmError (526) */
+ /** @name PalletEvmCodeMetadata (538) */
+ interface PalletEvmCodeMetadata extends Struct {
+ readonly size_: u64;
+ readonly hash_: H256;
+ }
+
+ /** @name PalletEvmError (540) */
interface PalletEvmError extends Enum {
readonly isBalanceLow: boolean;
readonly isFeeOverflow: boolean;
@@ -4069,7 +4180,7 @@
readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';
}
- /** @name FpRpcTransactionStatus (529) */
+ /** @name FpRpcTransactionStatus (543) */
interface FpRpcTransactionStatus extends Struct {
readonly transactionHash: H256;
readonly transactionIndex: u32;
@@ -4080,10 +4191,10 @@
readonly logsBloom: EthbloomBloom;
}
- /** @name EthbloomBloom (531) */
+ /** @name EthbloomBloom (545) */
interface EthbloomBloom extends U8aFixed {}
- /** @name EthereumReceiptReceiptV3 (533) */
+ /** @name EthereumReceiptReceiptV3 (547) */
interface EthereumReceiptReceiptV3 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -4094,7 +4205,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumReceiptEip658ReceiptData (534) */
+ /** @name EthereumReceiptEip658ReceiptData (548) */
interface EthereumReceiptEip658ReceiptData extends Struct {
readonly statusCode: u8;
readonly usedGas: U256;
@@ -4102,14 +4213,14 @@
readonly logs: Vec<EthereumLog>;
}
- /** @name EthereumBlock (535) */
+ /** @name EthereumBlock (549) */
interface EthereumBlock extends Struct {
readonly header: EthereumHeader;
readonly transactions: Vec<EthereumTransactionTransactionV2>;
readonly ommers: Vec<EthereumHeader>;
}
- /** @name EthereumHeader (536) */
+ /** @name EthereumHeader (550) */
interface EthereumHeader extends Struct {
readonly parentHash: H256;
readonly ommersHash: H256;
@@ -4128,24 +4239,24 @@
readonly nonce: EthereumTypesHashH64;
}
- /** @name EthereumTypesHashH64 (537) */
+ /** @name EthereumTypesHashH64 (551) */
interface EthereumTypesHashH64 extends U8aFixed {}
- /** @name PalletEthereumError (542) */
+ /** @name PalletEthereumError (556) */
interface PalletEthereumError extends Enum {
readonly isInvalidSignature: boolean;
readonly isPreLogExists: boolean;
readonly type: 'InvalidSignature' | 'PreLogExists';
}
- /** @name PalletEvmCoderSubstrateError (543) */
+ /** @name PalletEvmCoderSubstrateError (557) */
interface PalletEvmCoderSubstrateError extends Enum {
readonly isOutOfGas: boolean;
readonly isOutOfFund: boolean;
readonly type: 'OutOfGas' | 'OutOfFund';
}
- /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (544) */
+ /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (558) */
interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
readonly isDisabled: boolean;
readonly isUnconfirmed: boolean;
@@ -4155,7 +4266,7 @@
readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
}
- /** @name PalletEvmContractHelpersSponsoringModeT (545) */
+ /** @name PalletEvmContractHelpersSponsoringModeT (559) */
interface PalletEvmContractHelpersSponsoringModeT extends Enum {
readonly isDisabled: boolean;
readonly isAllowlisted: boolean;
@@ -4163,7 +4274,7 @@
readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
}
- /** @name PalletEvmContractHelpersError (551) */
+ /** @name PalletEvmContractHelpersError (565) */
interface PalletEvmContractHelpersError extends Enum {
readonly isNoPermission: boolean;
readonly isNoPendingSponsor: boolean;
@@ -4171,7 +4282,7 @@
readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
}
- /** @name PalletEvmMigrationError (552) */
+ /** @name PalletEvmMigrationError (566) */
interface PalletEvmMigrationError extends Enum {
readonly isAccountNotEmpty: boolean;
readonly isAccountIsNotMigrating: boolean;
@@ -4179,17 +4290,17 @@
readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
}
- /** @name PalletMaintenanceError (553) */
+ /** @name PalletMaintenanceError (567) */
type PalletMaintenanceError = Null;
- /** @name PalletTestUtilsError (554) */
+ /** @name PalletTestUtilsError (568) */
interface PalletTestUtilsError extends Enum {
readonly isTestPalletDisabled: boolean;
readonly isTriggerRollback: boolean;
readonly type: 'TestPalletDisabled' | 'TriggerRollback';
}
- /** @name SpRuntimeMultiSignature (556) */
+ /** @name SpRuntimeMultiSignature (570) */
interface SpRuntimeMultiSignature extends Enum {
readonly isEd25519: boolean;
readonly asEd25519: SpCoreEd25519Signature;
@@ -4200,43 +4311,43 @@
readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
}
- /** @name SpCoreEd25519Signature (557) */
+ /** @name SpCoreEd25519Signature (571) */
interface SpCoreEd25519Signature extends U8aFixed {}
- /** @name SpCoreSr25519Signature (559) */
+ /** @name SpCoreSr25519Signature (573) */
interface SpCoreSr25519Signature extends U8aFixed {}
- /** @name SpCoreEcdsaSignature (560) */
+ /** @name SpCoreEcdsaSignature (574) */
interface SpCoreEcdsaSignature extends U8aFixed {}
- /** @name FrameSystemExtensionsCheckSpecVersion (563) */
+ /** @name FrameSystemExtensionsCheckSpecVersion (577) */
type FrameSystemExtensionsCheckSpecVersion = Null;
- /** @name FrameSystemExtensionsCheckTxVersion (564) */
+ /** @name FrameSystemExtensionsCheckTxVersion (578) */
type FrameSystemExtensionsCheckTxVersion = Null;
- /** @name FrameSystemExtensionsCheckGenesis (565) */
+ /** @name FrameSystemExtensionsCheckGenesis (579) */
type FrameSystemExtensionsCheckGenesis = Null;
- /** @name FrameSystemExtensionsCheckNonce (568) */
+ /** @name FrameSystemExtensionsCheckNonce (582) */
interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
- /** @name FrameSystemExtensionsCheckWeight (569) */
+ /** @name FrameSystemExtensionsCheckWeight (583) */
type FrameSystemExtensionsCheckWeight = Null;
- /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (570) */
+ /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (584) */
type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
- /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (571) */
+ /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (585) */
type OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null;
- /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (572) */
+ /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (586) */
interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
- /** @name OpalRuntimeRuntime (573) */
+ /** @name OpalRuntimeRuntime (587) */
type OpalRuntimeRuntime = Null;
- /** @name PalletEthereumFakeTransactionFinalizer (574) */
+ /** @name PalletEthereumFakeTransactionFinalizer (588) */
type PalletEthereumFakeTransactionFinalizer = Null;
} // declare module
tests/src/util/playgrounds/unique.tsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// SPDX-License-Identifier: Apache-2.034/* eslint-disable @typescript-eslint/no-var-requires */5/* eslint-disable function-call-argument-newline */6/* eslint-disable no-prototype-builtins */78import {ApiPromise, WsProvider, Keyring} from '@polkadot/api';9import {SignerOptions} from '@polkadot/api/types/submittable';10import '../../interfaces/augment-api';11import {AugmentedSubmittables} from '@polkadot/api-base/types/submittable';12import {ApiInterfaceEvents} from '@polkadot/api/types';13import {encodeAddress, decodeAddress, keccakAsHex, evmToAddress, addressToEvm, base58Encode, blake2AsU8a} from '@polkadot/util-crypto';14import {IKeyringPair} from '@polkadot/types/types';15import {hexToU8a} from '@polkadot/util/hex';16import {u8aConcat} from '@polkadot/util/u8a';17import {18 IApiListeners,19 IBlock,20 IEvent,21 IChainProperties,22 ICollectionCreationOptions,23 ICollectionLimits,24 ICollectionPermissions,25 ICrossAccountId,26 ICrossAccountIdLower,27 ILogger,28 INestingPermissions,29 IProperty,30 IStakingInfo,31 ISchedulerOptions,32 ISubstrateBalance,33 IToken,34 ITokenPropertyPermission,35 ITransactionResult,36 IUniqueHelperLog,37 TApiAllowedListeners,38 TEthereumAccount,39 TSigner,40 TSubstrateAccount,41 TNetworks,42 IForeignAssetMetadata,43 AcalaAssetMetadata,44 MoonbeamAssetInfo,45 DemocracyStandardAccountVote,46 IEthCrossAccountId,47} from './types';48import {RuntimeDispatchInfo} from '@polkadot/types/interfaces';49import type {Vec} from '@polkadot/types-codec';50import {FrameSystemEventRecord, PalletBalancesIdAmount} from '@polkadot/types/lookup';5152export class CrossAccountId {53 Substrate!: TSubstrateAccount;54 Ethereum!: TEthereumAccount;5556 constructor(account: ICrossAccountId) {57 if('Substrate' in account) this.Substrate = account.Substrate;58 else this.Ethereum = account.Ethereum;59 }6061 static fromKeyring(account: IKeyringPair, domain: 'Substrate' | 'Ethereum' = 'Substrate') {62 switch (domain) {63 case 'Substrate': return new CrossAccountId({Substrate: account.address});64 case 'Ethereum': return new CrossAccountId({Substrate: account.address}).toEthereum();65 }66 }6768 static fromLowerCaseKeys(address: ICrossAccountIdLower): CrossAccountId {69 if('substrate' in address) return new CrossAccountId({Substrate: address.substrate});70 else return new CrossAccountId({Ethereum: address.ethereum});71 }7273 static normalizeSubstrateAddress(address: TSubstrateAccount, ss58Format = 42): TSubstrateAccount {74 return encodeAddress(decodeAddress(address), ss58Format);75 }7677 static withNormalizedSubstrate(address: TSubstrateAccount, ss58Format = 42): CrossAccountId {78 return new CrossAccountId({Substrate: CrossAccountId.normalizeSubstrateAddress(address, ss58Format)});79 }8081 withNormalizedSubstrate(ss58Format = 42): CrossAccountId {82 if(this.Substrate) return CrossAccountId.withNormalizedSubstrate(this.Substrate, ss58Format);83 return this;84 }8586 static translateSubToEth(address: TSubstrateAccount): TEthereumAccount {87 return nesting.toChecksumAddress('0x' + Array.from(addressToEvm(address), i => i.toString(16).padStart(2, '0')).join(''));88 }8990 toEthereum(): CrossAccountId {91 if(this.Substrate) return new CrossAccountId({Ethereum: CrossAccountId.translateSubToEth(this.Substrate)});92 return this;93 }9495 static translateEthToSub(address: TEthereumAccount, ss58Format?: number): TSubstrateAccount {96 return evmToAddress(address, ss58Format);97 }9899 toSubstrate(ss58Format?: number): CrossAccountId {100 if(this.Ethereum) return new CrossAccountId({Substrate: CrossAccountId.translateEthToSub(this.Ethereum, ss58Format)});101 return this;102 }103104 toLowerCase(): CrossAccountId {105 if(this.Substrate) this.Substrate = this.Substrate.toLowerCase();106 if(this.Ethereum) this.Ethereum = this.Ethereum.toLowerCase();107 return this;108 }109}110111const nesting = {112 toChecksumAddress(address: string): string {113 if(typeof address === 'undefined') return '';114115 if(!/^(0x)?[0-9a-f]{40}$/i.test(address)) throw new Error(`Given address "${address}" is not a valid Ethereum address.`);116117 address = address.toLowerCase().replace(/^0x/i, '');118 const addressHash = keccakAsHex(address).replace(/^0x/i, '');119 const checksumAddress = ['0x'];120121 for(let i = 0; i < address.length; i++) {122 // If ith character is 8 to f then make it uppercase123 if(parseInt(addressHash[i], 16) > 7) {124 checksumAddress.push(address[i].toUpperCase());125 } else {126 checksumAddress.push(address[i]);127 }128 }129 return checksumAddress.join('');130 },131 tokenIdToAddress(collectionId: number, tokenId: number) {132 return this.toChecksumAddress(`0xf8238ccfff8ed887463fd5e0${collectionId.toString(16).padStart(8,'0')}${tokenId.toString(16).padStart(8,'0')}`);133 },134};135136class UniqueUtil {137 static transactionStatus = {138 NOT_READY: 'NotReady',139 FAIL: 'Fail',140 SUCCESS: 'Success',141 };142143 static chainLogType = {144 EXTRINSIC: 'extrinsic',145 RPC: 'rpc',146 };147148 static getTokenAccount(token: IToken): CrossAccountId {149 return new CrossAccountId({Ethereum: this.getTokenAddress(token)});150 }151152 static getTokenAddress(token: IToken): string {153 return nesting.tokenIdToAddress(token.collectionId, token.tokenId);154 }155156 static getDefaultLogger(): ILogger {157 return {158 log(msg: any, level = 'INFO') {159 console[level.toLocaleLowerCase() === 'error' ? 'error' : 'log'](...(Array.isArray(msg) ? msg : [msg]));160 },161 level: {162 ERROR: 'ERROR',163 WARNING: 'WARNING',164 INFO: 'INFO',165 },166 };167 }168169 static vec2str(arr: string[] | number[]) {170 return arr.map(x => String.fromCharCode(parseInt(x.toString()))).join('');171 }172173 static str2vec(string: string) {174 if(typeof string !== 'string') return string;175 return Array.from(string).map(x => x.charCodeAt(0));176 }177178 static fromSeed(seed: string, ss58Format = 42) {179 const keyring = new Keyring({type: 'sr25519', ss58Format});180 return keyring.addFromUri(seed);181 }182183 static extractCollectionIdFromCreationResult(creationResult: ITransactionResult): number {184 if(creationResult.status !== this.transactionStatus.SUCCESS) {185 throw Error('Unable to create collection!');186 }187188 let collectionId = null;189 creationResult.result.events.forEach(({event: {data, method, section}}) => {190 if((section === 'common') && (method === 'CollectionCreated')) {191 collectionId = parseInt(data[0].toString(), 10);192 }193 });194195 if(collectionId === null) {196 throw Error('No CollectionCreated event was found!');197 }198199 return collectionId;200 }201202 static extractTokensFromCreationResult(creationResult: ITransactionResult): {203 success: boolean,204 tokens: { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[],205 } {206 if(creationResult.status !== this.transactionStatus.SUCCESS) {207 throw Error('Unable to create tokens!');208 }209 let success = false;210 const tokens = [] as { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[];211 creationResult.result.events.forEach(({event: {data, method, section}}) => {212 if(method === 'ExtrinsicSuccess') {213 success = true;214 } else if((section === 'common') && (method === 'ItemCreated')) {215 tokens.push({216 collectionId: parseInt(data[0].toString(), 10),217 tokenId: parseInt(data[1].toString(), 10),218 owner: data[2].toHuman(),219 amount: data[3].toBigInt(),220 });221 }222 });223 return {success, tokens};224 }225226 static extractTokensFromBurnResult(burnResult: ITransactionResult): {227 success: boolean,228 tokens: { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[],229 } {230 if(burnResult.status !== this.transactionStatus.SUCCESS) {231 throw Error('Unable to burn tokens!');232 }233 let success = false;234 const tokens = [] as { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[];235 burnResult.result.events.forEach(({event: {data, method, section}}) => {236 if(method === 'ExtrinsicSuccess') {237 success = true;238 } else if((section === 'common') && (method === 'ItemDestroyed')) {239 tokens.push({240 collectionId: parseInt(data[0].toString(), 10),241 tokenId: parseInt(data[1].toString(), 10),242 owner: data[2].toHuman(),243 amount: data[3].toBigInt(),244 });245 }246 });247 return {success, tokens};248 }249250 static findCollectionInEvents(events: { event: IEvent }[], collectionId: number, expectedSection: string, expectedMethod: string): boolean {251 let eventId = null;252 events.forEach(({event: {data, method, section}}) => {253 if((section === expectedSection) && (method === expectedMethod)) {254 eventId = parseInt(data[0].toString(), 10);255 }256 });257258 if(eventId === null) {259 throw Error(`No ${expectedMethod} event was found!`);260 }261 return eventId === collectionId;262 }263264 static isTokenTransferSuccess(events: { event: IEvent }[], collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {265 const normalizeAddress = (address: string | ICrossAccountId) => {266 if(typeof address === 'string') return address;267 const obj = {} as any;268 Object.keys(address).forEach(k => {269 obj[k.toLocaleLowerCase()] = (address as any)[k];270 });271 if(obj.substrate) return CrossAccountId.withNormalizedSubstrate(obj.substrate);272 if(obj.ethereum) return CrossAccountId.fromLowerCaseKeys(obj).toLowerCase();273 return address;274 };275 let transfer = {collectionId: null, tokenId: null, from: null, to: null, amount: 1} as any;276 events.forEach(({event: {data, method, section}}) => {277 if((section === 'common') && (method === 'Transfer')) {278 const hData = (data as any).toJSON();279 transfer = {280 collectionId: hData[0],281 tokenId: hData[1],282 from: normalizeAddress(hData[2]),283 to: normalizeAddress(hData[3]),284 amount: BigInt(hData[4]),285 };286 }287 });288 let isSuccess = parseInt(collectionId.toString()) === transfer.collectionId && parseInt(tokenId.toString()) === transfer.tokenId;289 isSuccess = isSuccess && JSON.stringify(normalizeAddress(fromAddressObj)) === JSON.stringify(transfer.from);290 isSuccess = isSuccess && JSON.stringify(normalizeAddress(toAddressObj)) === JSON.stringify(transfer.to);291 isSuccess = isSuccess && amount === transfer.amount;292 return isSuccess;293 }294295 static bigIntToDecimals(number: bigint, decimals = 18) {296 const numberStr = number.toString();297 const dotPos = numberStr.length - decimals;298299 if(dotPos <= 0) {300 return '0.' + '0'.repeat(Math.abs(dotPos)) + numberStr;301 } else {302 const intPart = numberStr.substring(0, dotPos);303 const fractPart = numberStr.substring(dotPos);304 return intPart + '.' + fractPart;305 }306 }307}308309class UniqueEventHelper {310 private static extractIndex(index: any): [number, number] | string {311 if(index.toRawType() === '[u8;2]') return [index[0], index[1]];312 return index.toJSON();313 }314315 private static extractSub(data: any, subTypes: any): { [key: string]: any } {316 let obj: any = {};317 let index = 0;318319 if(data.entries) {320 for(const [key, value] of data.entries()) {321 obj[key] = this.extractData(value, subTypes[index]);322 index++;323 }324 } else obj = data.toJSON();325326 return obj;327 }328329 private static toHuman(data: any) {330 return data && data.toHuman ? data.toHuman() : `${data}`;331 }332333 private static extractData(data: any, type: any): any {334 if(!type) return this.toHuman(data);335 if(['u16', 'u32'].indexOf(type.type) > -1) return data.toNumber();336 if(['u64', 'u128', 'u256'].indexOf(type.type) > -1) return data.toBigInt();337 if(type.hasOwnProperty('sub')) return this.extractSub(data, type.sub);338 return this.toHuman(data);339 }340341 public static extractEvents(events: { event: any, phase: any }[]): IEvent[] {342 const parsedEvents: IEvent[] = [];343344 events.forEach((record) => {345 const {event, phase} = record;346 const types = event.typeDef;347348 const eventData: IEvent = {349 section: event.section.toString(),350 method: event.method.toString(),351 index: this.extractIndex(event.index),352 data: [],353 phase: phase.toJSON(),354 };355356 event.data.forEach((val: any, index: number) => {357 eventData.data.push(this.extractData(val, types[index]));358 });359360 parsedEvents.push(eventData);361 });362363 return parsedEvents;364 }365}366const InvalidTypeSymbol = Symbol('Invalid type');367// eslint-disable-next-line @typescript-eslint/no-unused-vars368export type Invalid<ErrorMessage> =369 | ((370 invalidType: typeof InvalidTypeSymbol,371 ..._: typeof InvalidTypeSymbol[]372 ) => typeof InvalidTypeSymbol)373 | null374 | undefined;375// Has slightly better error messages than Get376type Get2<T, P extends string, E> =377 P extends `${infer Key}.${infer Key2}` ? Key extends keyof T ? Key2 extends keyof T[Key] ? T[Key][Key2] : E : E : E;378type ForceFunction<T> = T extends (...args: any) => any ? T : (...args: any) => Invalid<'not a function'>;379380export class ChainHelperBase {381 helperBase: any;382383 transactionStatus = UniqueUtil.transactionStatus;384 chainLogType = UniqueUtil.chainLogType;385 util: typeof UniqueUtil;386 eventHelper: typeof UniqueEventHelper;387 logger: ILogger;388 api: ApiPromise | null;389 forcedNetwork: TNetworks | null;390 network: TNetworks | null;391 wsEndpoint: string | null;392 chainLog: IUniqueHelperLog[];393 children: ChainHelperBase[];394 address: AddressGroup;395 chain: ChainGroup;396397 constructor(logger?: ILogger, helperBase?: any) {398 this.helperBase = helperBase;399400 this.util = UniqueUtil;401 this.eventHelper = UniqueEventHelper;402 if(typeof logger == 'undefined') logger = this.util.getDefaultLogger();403 this.logger = logger;404 this.api = null;405 this.forcedNetwork = null;406 this.network = null;407 this.wsEndpoint = null;408 this.chainLog = [];409 this.children = [];410 this.address = new AddressGroup(this);411 this.chain = new ChainGroup(this);412 }413414 clone(helperCls: ChainHelperBaseConstructor, options: { [key: string]: any } = {}) {415 Object.setPrototypeOf(helperCls.prototype, this);416 const newHelper = new helperCls(this.logger, options);417418 newHelper.api = this.api;419 newHelper.network = this.network;420 newHelper.forceNetwork = this.forceNetwork;421422 this.children.push(newHelper);423424 return newHelper;425 }426427 getEndpoint(): string {428 if(this.wsEndpoint === null) throw Error('No connection was established');429 return this.wsEndpoint;430 }431432 getApi(): ApiPromise {433 if(this.api === null) throw Error('API not initialized');434 return this.api;435 }436437 async subscribeEvents(expectedEvents: { section: string, names: string[] }[]) {438 const collectedEvents: IEvent[] = [];439 const unsubscribe = await this.getApi().query.system.events((events: Vec<FrameSystemEventRecord>) => {440 const ievents = this.eventHelper.extractEvents(events);441 ievents.forEach((event) => {442 expectedEvents.forEach((e => {443 if(event.section === e.section && e.names.includes(event.method)) {444 collectedEvents.push(event);445 }446 }));447 });448 });449 return {unsubscribe: unsubscribe as any, collectedEvents};450 }451452 clearChainLog(): void {453 this.chainLog = [];454 }455456 forceNetwork(value: TNetworks): void {457 this.forcedNetwork = value;458 }459460 async connect(wsEndpoint: string, listeners?: IApiListeners) {461 if(this.api !== null) throw Error('Already connected');462 const {api, network} = await ChainHelperBase.createConnection(wsEndpoint, listeners, this.forcedNetwork);463 this.wsEndpoint = wsEndpoint;464 this.api = api;465 this.network = network;466 }467468 async disconnect() {469 for(const child of this.children) {470 child.clearApi();471 }472473 if(this.api === null) return;474 await this.api.disconnect();475 this.clearApi();476 }477478 clearApi() {479 this.api = null;480 this.network = null;481 }482483 static async detectNetwork(api: ApiPromise): Promise<TNetworks> {484 const spec = (await api.query.system.lastRuntimeUpgrade()).toJSON() as any;485 const xcmChains = ['rococo', 'westend', 'westmint', 'acala', 'karura', 'moonbeam', 'moonriver'];486487 if(xcmChains.indexOf(spec.specName) > -1) return spec.specName;488489 if(['quartz', 'unique', 'sapphire'].indexOf(spec.specName) > -1) return spec.specName;490 return 'opal';491 }492493 static async detectNetworkByWsEndpoint(wsEndpoint: string): Promise<TNetworks> {494 const api = new ApiPromise({provider: new WsProvider(wsEndpoint)});495 await api.isReady;496497 const network = await this.detectNetwork(api);498499 await api.disconnect();500501 return network;502 }503504 static async createConnection(wsEndpoint: string, listeners?: IApiListeners, network?: TNetworks | null): Promise<{505 api: ApiPromise;506 network: TNetworks;507 }> {508 if(typeof network === 'undefined' || network === null) network = 'opal';509 const supportedRPC = {510 opal: {511 unique: require('@unique-nft/opal-testnet-types/definitions').unique.rpc,512 },513 quartz: {514 unique: require('@unique-nft/quartz-mainnet-types/definitions').unique.rpc,515 },516 unique: {517 unique: require('@unique-nft/unique-mainnet-types/definitions').unique.rpc,518 },519 rococo: {},520 westend: {},521 moonbeam: {},522 moonriver: {},523 acala: {},524 karura: {},525 westmint: {},526 };527 if(!supportedRPC.hasOwnProperty(network)) network = await this.detectNetworkByWsEndpoint(wsEndpoint);528 const rpc = supportedRPC[network];529530 // TODO: investigate how to replace rpc in runtime531 // api._rpcCore.addUserInterfaces(rpc);532533 const api = new ApiPromise({provider: new WsProvider(wsEndpoint), rpc});534535 await api.isReadyOrError;536537 if(typeof listeners === 'undefined') listeners = {};538 for(const event of ['connected', 'disconnected', 'error', 'ready', 'decorated']) {539 if(!listeners.hasOwnProperty(event) || typeof listeners[event as TApiAllowedListeners] === 'undefined') continue;540 api.on(event as ApiInterfaceEvents, listeners[event as TApiAllowedListeners] as (...args: any[]) => any);541 }542543 return {api, network};544 }545546 getTransactionStatus(data: { events: { event: IEvent }[], status: any }) {547 const {events, status} = data;548 if(status.isReady) {549 return this.transactionStatus.NOT_READY;550 }551 if(status.isBroadcast) {552 return this.transactionStatus.NOT_READY;553 }554 if(status.isInBlock || status.isFinalized) {555 const errors = events.filter(e => e.event.method === 'ExtrinsicFailed');556 if(errors.length > 0) {557 return this.transactionStatus.FAIL;558 }559 if(events.filter(e => e.event.method === 'ExtrinsicSuccess').length > 0) {560 return this.transactionStatus.SUCCESS;561 }562 }563564 return this.transactionStatus.FAIL;565 }566567 signTransaction(sender: TSigner, transaction: any, options: Partial<SignerOptions> | null = null, label = 'transaction') {568 const sign = (callback: any) => {569 if(options !== null) return transaction.signAndSend(sender, options, callback);570 return transaction.signAndSend(sender, callback);571 };572 // eslint-disable-next-line no-async-promise-executor573 return new Promise(async (resolve, reject) => {574 try {575 const unsub = await sign((result: any) => {576 const status = this.getTransactionStatus(result);577578 if(status === this.transactionStatus.SUCCESS) {579 this.logger.log(`${label} successful`);580 unsub();581 resolve({result, status, blockHash: result.status.asInBlock.toHuman()});582 } else if(status === this.transactionStatus.FAIL) {583 let moduleError = null;584585 if(result.hasOwnProperty('dispatchError')) {586 const dispatchError = result['dispatchError'];587588 if(dispatchError) {589 if(dispatchError.isModule) {590 const modErr = dispatchError.asModule;591 const errorMeta = dispatchError.registry.findMetaError(modErr);592593 moduleError = `${errorMeta.section}.${errorMeta.name}`;594 } else if(dispatchError.isToken) {595 moduleError = `Token: ${dispatchError.asToken}`;596 } else {597 // May be [object Object] in case of unhandled non-unit enum598 moduleError = `Misc: ${dispatchError.toHuman()}`;599 }600 } else {601 this.logger.log(result, this.logger.level.ERROR);602 }603 }604605 this.logger.log(`Something went wrong with ${label}. Status: ${status}`, this.logger.level.ERROR);606 unsub();607 reject({status, moduleError, result});608 }609 });610 } catch (e) {611 this.logger.log(e, this.logger.level.ERROR);612 reject(e);613 }614 });615 }616617 async signTransactionWithoutSending(signer: TSigner, tx: any) {618 const api = this.getApi();619 const signingInfo = await api.derive.tx.signingInfo(signer.address);620621 tx.sign(signer, {622 blockHash: api.genesisHash,623 genesisHash: api.genesisHash,624 runtimeVersion: api.runtimeVersion,625 nonce: signingInfo.nonce,626 });627628 return tx.toHex();629 }630631 async getPaymentInfo(signer: TSigner, tx: any, len: number | null) {632 const api = this.getApi();633 const signingInfo = await api.derive.tx.signingInfo(signer.address);634635 // We need to sign the tx because636 // unsigned transactions does not have an inclusion fee637 tx.sign(signer, {638 blockHash: api.genesisHash,639 genesisHash: api.genesisHash,640 runtimeVersion: api.runtimeVersion,641 nonce: signingInfo.nonce,642 });643644 if(len === null) {645 return (await this.callRpc('api.rpc.payment.queryInfo', [tx.toHex()])) as RuntimeDispatchInfo;646 } else {647 return (await api.call.transactionPaymentApi.queryInfo(tx, len)) as RuntimeDispatchInfo;648 }649 }650651 constructApiCall(apiCall: string, params: any[]) {652 if(!apiCall.startsWith('api.')) throw Error(`Invalid api call: ${apiCall}`);653 let call = this.getApi() as any;654 for(const part of apiCall.slice(4).split('.')) {655 call = call[part];656 if(!call) {657 const advice = part.includes('_') ? ' Looks like it needs to be converted to camel case.' : '';658 throw Error(`Function ${part} of api call ${apiCall} not found.${advice}`);659 }660 }661 return call(...params);662 }663664 encodeApiCall(apiCall: string, params: any[]) {665 return this.constructApiCall(apiCall, params).method.toHex();666 }667668 async executeExtrinsic<669 E extends string,670 V extends (671 ...args: any) => any = ForceFunction<672 Get2<673 AugmentedSubmittables<'promise'>,674 E, (...args: any) => Invalid<'not found'>675 >676 >677 >(678 sender: TSigner,679 extrinsic: `api.tx.${E}`,680 params: Parameters<V>,681 expectSuccess = true,682 options: Partial<SignerOptions> | null = null,/*, failureMessage='expected success'*/683 ): Promise<ITransactionResult> {684 if(this.api === null) throw Error('API not initialized');685686 const startTime = (new Date()).getTime();687 let result: ITransactionResult;688 let events: IEvent[] = [];689 try {690 result = await this.signTransaction(sender, this.constructApiCall(extrinsic, params), options, extrinsic) as ITransactionResult;691 events = this.eventHelper.extractEvents(result.result.events);692 const errorEvent = events.find((event) => event.method == 'ExecutedFailed' || event.method == 'CreatedFailed');693 if(errorEvent)694 throw Error(errorEvent.method + ': ' + extrinsic);695 }696 catch (e) {697 if(!(e as object).hasOwnProperty('status')) throw e;698 result = e as ITransactionResult;699 }700701 const endTime = (new Date()).getTime();702703 const log = {704 executedAt: endTime,705 executionTime: endTime - startTime,706 type: this.chainLogType.EXTRINSIC,707 status: result.status,708 call: extrinsic,709 signer: this.getSignerAddress(sender),710 params,711 } as IUniqueHelperLog;712713 let errorMessage = '';714715 if(result.status !== this.transactionStatus.SUCCESS) {716 if(result.moduleError) {717 errorMessage = typeof result.moduleError === 'string'718 ? result.moduleError719 : `${Object.keys(result.moduleError)[0]}: ${Object.values(result.moduleError)[0]}`;720 log.moduleError = errorMessage;721 }722 else if(result.result.dispatchError) log.dispatchError = result.result.dispatchError;723 }724 if(events.length > 0) log.events = events;725726 this.chainLog.push(log);727728 if(expectSuccess && result.status !== this.transactionStatus.SUCCESS) {729 if(result.moduleError) throw Error(`${errorMessage}`);730 else if(result.result.dispatchError) throw Error(JSON.stringify(result.result.dispatchError));731 }732 return result as any;733 }734735 async callRpc736 // TODO: make it strongly typed, or use api.query/api.rpc directly737 // <738 // K extends 'rpc' | 'query',739 // E extends string,740 // V extends (...args: any) => any = ForceFunction<741 // Get2<742 // K extends 'rpc' ? DecoratedRpc<'promise', RpcInterface> : QueryableStorage<'promise'>,743 // E, (...args: any) => Invalid<'not found'>744 // >745 // >,746 // P = Parameters<V>,747 // >748 (rpc: string, params?: any[]): Promise<any> {749750 if(typeof params === 'undefined') params = [] as any;751 if(this.api === null) throw Error('API not initialized');752 if(!rpc.startsWith('api.rpc.') && !rpc.startsWith('api.query.')) throw Error(`${rpc} is not RPC call`);753754 const startTime = (new Date()).getTime();755 let result;756 let error = null;757 const log = {758 type: this.chainLogType.RPC,759 call: rpc,760 params,761 } as any as IUniqueHelperLog;762763 try {764 result = await this.constructApiCall(rpc, params as any);765 }766 catch (e) {767 error = e;768 }769770 const endTime = (new Date()).getTime();771772 log.executedAt = endTime;773 log.status = (error === null ? this.transactionStatus.SUCCESS : this.transactionStatus.FAIL) as 'Fail' | 'Success';774 log.executionTime = endTime - startTime;775776 this.chainLog.push(log);777778 if(error !== null) throw error;779780 return result;781 }782783 getSignerAddress(signer: IKeyringPair | string): string {784 if(typeof signer === 'string') return signer;785 return signer.address;786 }787788 fetchAllPalletNames(): string[] {789 if(this.api === null) throw Error('API not initialized');790 return this.api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase()).sort();791 }792793 fetchMissingPalletNames(requiredPallets: readonly string[]): string[] {794 const palletNames = this.fetchAllPalletNames();795 return requiredPallets.filter(p => !palletNames.includes(p));796 }797}798799800class HelperGroup<T extends ChainHelperBase> {801 helper: T;802803 constructor(uniqueHelper: T) {804 this.helper = uniqueHelper;805 }806}807808809class CollectionGroup extends HelperGroup<UniqueHelper> {810 /**811 * Get number of blocks when sponsored transaction is available.812 *813 * @param collectionId ID of collection814 * @param tokenId ID of token815 * @param addressObj address for which the sponsorship is checked816 * @example await getTokenNextSponsored(1, 2, {Substrate: '5DfhbVfww7ThF8q6f3...'});817 * @returns number of blocks or null if sponsorship hasn't been set818 */819 async getTokenNextSponsored(collectionId: number, tokenId: number, addressObj: ICrossAccountId): Promise<number | null> {820 return (await this.helper.callRpc('api.rpc.unique.nextSponsored', [collectionId, addressObj, tokenId])).toJSON();821 }822823 /**824 * Get the number of created collections.825 *826 * @returns number of created collections827 */828 async getTotalCount(): Promise<number> {829 return (await this.helper.callRpc('api.rpc.unique.collectionStats')).created.toNumber();830 }831832 /**833 * Get information about the collection with additional data,834 * including the number of tokens it contains, its administrators,835 * the normalized address of the collection's owner, and decoded name and description.836 *837 * @param collectionId ID of collection838 * @example await getData(2)839 * @returns collection information object840 */841 async getData(collectionId: number): Promise<{842 id: number;843 name: string;844 description: string;845 tokensCount: number;846 admins: CrossAccountId[];847 normalizedOwner: TSubstrateAccount;848 raw: any849 } | null> {850 const collection = await this.helper.callRpc('api.rpc.unique.collectionById', [collectionId]);851 const humanCollection = collection.toHuman(), collectionData = {852 id: collectionId, name: null, description: null, tokensCount: 0, admins: [],853 raw: humanCollection,854 } as any, jsonCollection = collection.toJSON();855 if(humanCollection === null) return null;856 collectionData.raw.limits = jsonCollection.limits;857 collectionData.raw.permissions = jsonCollection.permissions;858 collectionData.normalizedOwner = this.helper.address.normalizeSubstrate(collectionData.raw.owner);859 for(const key of ['name', 'description']) {860 collectionData[key] = this.helper.util.vec2str(humanCollection[key]);861 }862863 collectionData.tokensCount = (['RFT', 'NFT'].includes(humanCollection.mode))864 ? await this.helper[humanCollection.mode.toLocaleLowerCase() as 'nft' | 'rft'].getLastTokenId(collectionId)865 : 0;866 collectionData.admins = await this.getAdmins(collectionId);867868 return collectionData;869 }870871 /**872 * Get the addresses of the collection's administrators, optionally normalized.873 *874 * @param collectionId ID of collection875 * @param normalize whether to normalize the addresses to the default ss58 format876 * @example await getAdmins(1)877 * @returns array of administrators878 */879 async getAdmins(collectionId: number, normalize = false): Promise<CrossAccountId[]> {880 const admins = (await this.helper.callRpc('api.rpc.unique.adminlist', [collectionId])).toHuman();881882 return normalize883 ? admins.map((address: CrossAccountId) => address.withNormalizedSubstrate())884 : admins;885 }886887 /**888 * Get the addresses added to the collection allow-list, optionally normalized.889 * @param collectionId ID of collection890 * @param normalize whether to normalize the addresses to the default ss58 format891 * @example await getAllowList(1)892 * @returns array of allow-listed addresses893 */894 async getAllowList(collectionId: number, normalize = false): Promise<CrossAccountId[]> {895 const allowListed = (await this.helper.callRpc('api.rpc.unique.allowlist', [collectionId])).toHuman();896 return normalize897 ? allowListed.map((address: CrossAccountId) => address.withNormalizedSubstrate())898 : allowListed;899 }900901 /**902 * Get the effective limits of the collection instead of null for default values903 *904 * @param collectionId ID of collection905 * @example await getEffectiveLimits(2)906 * @returns object of collection limits907 */908 async getEffectiveLimits(collectionId: number): Promise<ICollectionLimits> {909 return (await this.helper.callRpc('api.rpc.unique.effectiveCollectionLimits', [collectionId])).toJSON();910 }911912 /**913 * Burns the collection if the signer has sufficient permissions and collection is empty.914 *915 * @param signer keyring of signer916 * @param collectionId ID of collection917 * @example await helper.collection.burn(aliceKeyring, 3);918 * @returns ```true``` if extrinsic success, otherwise ```false```919 */920 async burn(signer: TSigner, collectionId: number): Promise<boolean> {921 const result = await this.helper.executeExtrinsic(922 signer,923 'api.tx.unique.destroyCollection', [collectionId],924 true,925 );926927 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionDestroyed');928 }929930 /**931 * Sets the sponsor for the collection (Requires the Substrate address). Needs confirmation by the sponsor.932 *933 * @param signer keyring of signer934 * @param collectionId ID of collection935 * @param sponsorAddress Sponsor substrate address936 * @example setSponsor(aliceKeyring, 10, "5DyN4Y92vZCjv38fg...")937 * @returns ```true``` if extrinsic success, otherwise ```false```938 */939 async setSponsor(signer: TSigner, collectionId: number, sponsorAddress: TSubstrateAccount): Promise<boolean> {940 const result = await this.helper.executeExtrinsic(941 signer,942 'api.tx.unique.setCollectionSponsor', [collectionId, sponsorAddress],943 true,944 );945946 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionSponsorSet');947 }948949 /**950 * Confirms consent to sponsor the collection on behalf of the signer.951 *952 * @param signer keyring of signer953 * @param collectionId ID of collection954 * @example confirmSponsorship(aliceKeyring, 10)955 * @returns ```true``` if extrinsic success, otherwise ```false```956 */957 async confirmSponsorship(signer: TSigner, collectionId: number): Promise<boolean> {958 const result = await this.helper.executeExtrinsic(959 signer,960 'api.tx.unique.confirmSponsorship', [collectionId],961 true,962 );963964 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'SponsorshipConfirmed');965 }966967 /**968 * Removes the sponsor of a collection, regardless if it consented or not.969 *970 * @param signer keyring of signer971 * @param collectionId ID of collection972 * @example removeSponsor(aliceKeyring, 10)973 * @returns ```true``` if extrinsic success, otherwise ```false```974 */975 async removeSponsor(signer: TSigner, collectionId: number): Promise<boolean> {976 const result = await this.helper.executeExtrinsic(977 signer,978 'api.tx.unique.removeCollectionSponsor', [collectionId],979 true,980 );981982 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionSponsorRemoved');983 }984985 /**986 * Sets the limits of the collection. At least one limit must be specified for a correct call.987 *988 * @param signer keyring of signer989 * @param collectionId ID of collection990 * @param limits collection limits object991 * @example992 * await setLimits(993 * aliceKeyring,994 * 10,995 * {996 * sponsorTransferTimeout: 0,997 * ownerCanDestroy: false998 * }999 * )1000 * @returns ```true``` if extrinsic success, otherwise ```false```1001 */1002 async setLimits(signer: TSigner, collectionId: number, limits: ICollectionLimits): Promise<boolean> {1003 const result = await this.helper.executeExtrinsic(1004 signer,1005 'api.tx.unique.setCollectionLimits', [collectionId, limits],1006 true,1007 );10081009 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionLimitSet');1010 }10111012 /**1013 * Changes the owner of the collection to the new Substrate address.1014 *1015 * @param signer keyring of signer1016 * @param collectionId ID of collection1017 * @param ownerAddress substrate address of new owner1018 * @example changeOwner(aliceKeyring, 10, "5DyN4Y92vZCjv38fg...")1019 * @returns ```true``` if extrinsic success, otherwise ```false```1020 */1021 async changeOwner(signer: TSigner, collectionId: number, ownerAddress: TSubstrateAccount): Promise<boolean> {1022 const result = await this.helper.executeExtrinsic(1023 signer,1024 'api.tx.unique.changeCollectionOwner', [collectionId, ownerAddress],1025 true,1026 );10271028 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionOwnerChanged');1029 }10301031 /**1032 * Adds a collection administrator.1033 *1034 * @param signer keyring of signer1035 * @param collectionId ID of collection1036 * @param adminAddressObj Administrator address (substrate or ethereum)1037 * @example addAdmin(aliceKeyring, 10, {Substrate: "5DyN4Y92vZCjv38fg..."})1038 * @returns ```true``` if extrinsic success, otherwise ```false```1039 */1040 async addAdmin(signer: TSigner, collectionId: number, adminAddressObj: ICrossAccountId): Promise<boolean> {1041 const result = await this.helper.executeExtrinsic(1042 signer,1043 'api.tx.unique.addCollectionAdmin', [collectionId, adminAddressObj],1044 true,1045 );10461047 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionAdminAdded');1048 }10491050 /**1051 * Removes a collection administrator.1052 *1053 * @param signer keyring of signer1054 * @param collectionId ID of collection1055 * @param adminAddressObj Administrator address (substrate or ethereum)1056 * @example removeAdmin(aliceKeyring, 10, {Substrate: "5DyN4Y92vZCjv38fg..."})1057 * @returns ```true``` if extrinsic success, otherwise ```false```1058 */1059 async removeAdmin(signer: TSigner, collectionId: number, adminAddressObj: ICrossAccountId): Promise<boolean> {1060 const result = await this.helper.executeExtrinsic(1061 signer,1062 'api.tx.unique.removeCollectionAdmin', [collectionId, adminAddressObj],1063 true,1064 );10651066 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionAdminRemoved');1067 }10681069 /**1070 * Check if user is in allow list.1071 *1072 * @param collectionId ID of collection1073 * @param user Account to check1074 * @example await getAdmins(1)1075 * @returns is user in allow list1076 */1077 async allowed(collectionId: number, user: ICrossAccountId): Promise<boolean> {1078 return (await this.helper.callRpc('api.rpc.unique.allowed', [collectionId, user])).toJSON();1079 }10801081 /**1082 * Adds an address to allow list1083 * @param signer keyring of signer1084 * @param collectionId ID of collection1085 * @param addressObj address to add to the allow list1086 * @returns ```true``` if extrinsic success, otherwise ```false```1087 */1088 async addToAllowList(signer: TSigner, collectionId: number, addressObj: ICrossAccountId): Promise<boolean> {1089 const result = await this.helper.executeExtrinsic(1090 signer,1091 'api.tx.unique.addToAllowList', [collectionId, addressObj],1092 true,1093 );10941095 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'AllowListAddressAdded');1096 }10971098 /**1099 * Removes an address from allow list1100 *1101 * @param signer keyring of signer1102 * @param collectionId ID of collection1103 * @param addressObj address to remove from the allow list1104 * @returns ```true``` if extrinsic success, otherwise ```false```1105 */1106 async removeFromAllowList(signer: TSigner, collectionId: number, addressObj: ICrossAccountId): Promise<boolean> {1107 const result = await this.helper.executeExtrinsic(1108 signer,1109 'api.tx.unique.removeFromAllowList', [collectionId, addressObj],1110 true,1111 );11121113 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'AllowListAddressRemoved');1114 }11151116 /**1117 * Sets onchain permissions for selected collection.1118 *1119 * @param signer keyring of signer1120 * @param collectionId ID of collection1121 * @param permissions collection permissions object1122 * @example setPermissions(aliceKeyring, 10, {access:'AllowList', mintMode: true, nesting: {collectionAdmin: true, tokenOwner: true}});1123 * @returns ```true``` if extrinsic success, otherwise ```false```1124 */1125 async setPermissions(signer: TSigner, collectionId: number, permissions: ICollectionPermissions): Promise<boolean> {1126 const result = await this.helper.executeExtrinsic(1127 signer,1128 'api.tx.unique.setCollectionPermissions', [collectionId, permissions],1129 true,1130 );11311132 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionPermissionSet');1133 }11341135 /**1136 * Enables nesting for selected collection. If `restricted` set, you can nest only tokens from specified collections.1137 *1138 * @param signer keyring of signer1139 * @param collectionId ID of collection1140 * @param permissions nesting permissions object1141 * @example enableNesting(aliceKeyring, 10, {collectionAdmin: true, tokenOwner: true});1142 * @returns ```true``` if extrinsic success, otherwise ```false```1143 */1144 async enableNesting(signer: TSigner, collectionId: number, permissions: INestingPermissions): Promise<boolean> {1145 return await this.setPermissions(signer, collectionId, {nesting: permissions});1146 }11471148 /**1149 * Disables nesting for selected collection.1150 *1151 * @param signer keyring of signer1152 * @param collectionId ID of collection1153 * @example disableNesting(aliceKeyring, 10);1154 * @returns ```true``` if extrinsic success, otherwise ```false```1155 */1156 async disableNesting(signer: TSigner, collectionId: number): Promise<boolean> {1157 return await this.setPermissions(signer, collectionId, {nesting: {tokenOwner: false, collectionAdmin: false}});1158 }11591160 /**1161 * Sets onchain properties to the collection.1162 *1163 * @param signer keyring of signer1164 * @param collectionId ID of collection1165 * @param properties array of property objects1166 * @example setProperties(aliceKeyring, 10, [{key: "gender", value: "male"}]);1167 * @returns ```true``` if extrinsic success, otherwise ```false```1168 */1169 async setProperties(signer: TSigner, collectionId: number, properties: IProperty[]): Promise<boolean> {1170 const result = await this.helper.executeExtrinsic(1171 signer,1172 'api.tx.unique.setCollectionProperties', [collectionId, properties],1173 true,1174 );11751176 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionPropertySet');1177 }11781179 /**1180 * Get collection properties.1181 *1182 * @param collectionId ID of collection1183 * @param propertyKeys optionally filter the returned properties to only these keys1184 * @example getProperties(1219, ['location', 'date', 'time', 'isParadise']);1185 * @returns array of key-value pairs1186 */1187 async getProperties(collectionId: number, propertyKeys?: string[] | null): Promise<IProperty[]> {1188 return (await this.helper.callRpc('api.rpc.unique.collectionProperties', [collectionId, propertyKeys])).toHuman();1189 }11901191 async getPropertiesConsumedSpace(collectionId: number): Promise<number> {1192 const api = this.helper.getApi();1193 const props = (await api.query.common.collectionProperties(collectionId)).toJSON();11941195 return (props! as any).consumedSpace;1196 }11971198 async getCollectionOptions(collectionId: number) {1199 return (await this.helper.callRpc('api.rpc.unique.collectionById', [collectionId])).toHuman();1200 }12011202 /**1203 * Deletes onchain properties from the collection.1204 *1205 * @param signer keyring of signer1206 * @param collectionId ID of collection1207 * @param propertyKeys array of property keys to delete1208 * @example deleteProperties(aliceKeyring, 10, ["gender", "age"]);1209 * @returns ```true``` if extrinsic success, otherwise ```false```1210 */1211 async deleteProperties(signer: TSigner, collectionId: number, propertyKeys: string[]): Promise<boolean> {1212 const result = await this.helper.executeExtrinsic(1213 signer,1214 'api.tx.unique.deleteCollectionProperties', [collectionId, propertyKeys],1215 true,1216 );12171218 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionPropertyDeleted');1219 }12201221 /**1222 * Changes the owner of the token.1223 *1224 * @param signer keyring of signer1225 * @param collectionId ID of collection1226 * @param tokenId ID of token1227 * @param addressObj address of a new owner1228 * @param amount amount of tokens to be transfered. For NFT must be set to 1n1229 * @example transferToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})1230 * @returns true if the token success, otherwise false1231 */1232 async transferToken(signer: TSigner, collectionId: number, tokenId: number, addressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1233 const result = await this.helper.executeExtrinsic(1234 signer,1235 'api.tx.unique.transfer', [addressObj, collectionId, tokenId, amount],1236 true, // `Unable to transfer token #${tokenId} from collection #${collectionId}`,1237 );12381239 return this.helper.util.isTokenTransferSuccess(result.result.events, collectionId, tokenId, {Substrate: typeof signer === 'string' ? signer : signer.address}, addressObj, amount);1240 }12411242 /**1243 *1244 * Change ownership of a token(s) on behalf of the owner.1245 *1246 * @param signer keyring of signer1247 * @param collectionId ID of collection1248 * @param tokenId ID of token1249 * @param fromAddressObj address on behalf of which the token will be sent1250 * @param toAddressObj new token owner1251 * @param amount amount of tokens to be transfered. For NFT must be set to 1n1252 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg"}, {Ethereum: "0x9F0583DbB85..."})1253 * @returns true if the token success, otherwise false1254 */1255 async transferTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1256 const result = await this.helper.executeExtrinsic(1257 signer,1258 'api.tx.unique.transferFrom', [fromAddressObj, toAddressObj, collectionId, tokenId, amount],1259 true, // `Unable to transfer token #${tokenId} from collection #${collectionId}`,1260 );1261 return this.helper.util.isTokenTransferSuccess(result.result.events, collectionId, tokenId, fromAddressObj, toAddressObj, amount);1262 }12631264 /**1265 *1266 * Destroys a concrete instance of NFT/RFT or burns a specified amount of fungible tokens.1267 *1268 * @param signer keyring of signer1269 * @param collectionId ID of collection1270 * @param tokenId ID of token1271 * @param amount amount of tokens to be burned. For NFT must be set to 1n1272 * @example burnToken(aliceKeyring, 10, 5);1273 * @returns ```true``` if the extrinsic is successful, otherwise ```false```1274 */1275 async burnToken(signer: TSigner, collectionId: number, tokenId: number, amount = 1n): Promise<boolean> {1276 const burnResult = await this.helper.executeExtrinsic(1277 signer,1278 'api.tx.unique.burnItem', [collectionId, tokenId, amount],1279 true, // `Unable to burn token for ${label}`,1280 );1281 const burnedTokens = this.helper.util.extractTokensFromBurnResult(burnResult);1282 if(burnedTokens.tokens.length > 1) throw Error('Burned multiple tokens');1283 return burnedTokens.success;1284 }12851286 /**1287 * Destroys a concrete instance of NFT on behalf of the owner1288 *1289 * @param signer keyring of signer1290 * @param collectionId ID of collection1291 * @param tokenId ID of token1292 * @param fromAddressObj address on behalf of which the token will be burnt1293 * @param amount amount of tokens to be burned. For NFT must be set to 1n1294 * @example burnTokenFrom(aliceKeyring, 10, {Substrate: "5DyN4Y92vZCjv38fg..."}, 5, {Ethereum: "0x9F0583DbB85..."})1295 * @returns ```true``` if extrinsic success, otherwise ```false```1296 */1297 async burnTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1298 const burnResult = await this.helper.executeExtrinsic(1299 signer,1300 'api.tx.unique.burnFrom', [collectionId, fromAddressObj, tokenId, amount],1301 true, // `Unable to burn token from for ${label}`,1302 );1303 const burnedTokens = this.helper.util.extractTokensFromBurnResult(burnResult);1304 return burnedTokens.success && burnedTokens.tokens.length > 0;1305 }13061307 /**1308 * Set, change, or remove approved address to transfer the ownership of the NFT.1309 *1310 * @param signer keyring of signer1311 * @param collectionId ID of collection1312 * @param tokenId ID of token1313 * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens1314 * @param amount amount of token to be approved. For NFT must be set to 1n1315 * @returns ```true``` if extrinsic success, otherwise ```false```1316 */1317 async approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {1318 const approveResult = await this.helper.executeExtrinsic(1319 signer,1320 'api.tx.unique.approve', [toAddressObj, collectionId, tokenId, amount],1321 true, // `Unable to approve token for ${label}`,1322 );13231324 return this.helper.util.findCollectionInEvents(approveResult.result.events, collectionId, 'common', 'Approved');1325 }13261327 /**1328 * Set, change, or remove approved address to transfer the ownership of the NFT from eth mirror.1329 *1330 * @param signer keyring of signer1331 * @param collectionId ID of collection1332 * @param tokenId ID of token1333 * @param fromAddressObj Signer's Ethereum address containing her tokens1334 * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens1335 * @param amount amount of token to be approved. For NFT must be set to 1n1336 * @returns ```true``` if extrinsic success, otherwise ```false```1337 */1338 async approveTokenFrom(signer: IKeyringPair, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {1339 const approveResult = await this.helper.executeExtrinsic(1340 signer,1341 'api.tx.unique.approveFrom', [fromAddressObj, toAddressObj, collectionId, tokenId, amount],1342 true, // `Unable to approve token for ${label}`,1343 );13441345 return this.helper.util.findCollectionInEvents(approveResult.result.events, collectionId, 'common', 'Approved');1346 }13471348 /**1349 * Set, change, or remove approved address to transfer the ownership of the NFT from eth mirror.1350 *1351 * @param signer keyring of signer1352 * @param collectionId ID of collection1353 * @param tokenId ID of token1354 * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens1355 * @param amount amount of token to be approved. For NFT must be set to 1n1356 * @returns ```true``` if extrinsic success, otherwise ```false```1357 */1358 async approveTokenFromEth(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {1359 const ethMirror = CrossAccountId.fromKeyring(signer).toEthereum();1360 return await this.approveTokenFrom(signer, collectionId, tokenId, ethMirror, toAddressObj, amount);1361 }13621363 /**1364 * Get the amount of token pieces approved to transfer or burn. Normally 0.1365 *1366 * @param collectionId ID of collection1367 * @param tokenId ID of token1368 * @param toAccountObj address which is approved to use token pieces1369 * @param fromAccountObj address which may have allowed the use of its owned tokens1370 * @example getTokenApprovedPieces(10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, {Substrate: "5ERZNF88Mm7UGfPP3mdG..."})1371 * @returns number of approved to transfer pieces1372 */1373 async getTokenApprovedPieces(collectionId: number, tokenId: number, toAccountObj: ICrossAccountId, fromAccountObj: ICrossAccountId): Promise<bigint> {1374 return (await this.helper.callRpc('api.rpc.unique.allowance', [collectionId, fromAccountObj, toAccountObj, tokenId])).toBigInt();1375 }13761377 /**1378 * Get the last created token ID in a collection1379 *1380 * @param collectionId ID of collection1381 * @example getLastTokenId(10);1382 * @returns id of the last created token1383 */1384 async getLastTokenId(collectionId: number): Promise<number> {1385 return (await this.helper.callRpc('api.rpc.unique.lastTokenId', [collectionId])).toNumber();1386 }13871388 /**1389 * Check if token exists1390 *1391 * @param collectionId ID of collection1392 * @param tokenId ID of token1393 * @example doesTokenExist(10, 20);1394 * @returns true if the token exists, otherwise false1395 */1396 async doesTokenExist(collectionId: number, tokenId: number): Promise<boolean> {1397 return (await this.helper.callRpc('api.rpc.unique.tokenExists', [collectionId, tokenId])).toJSON();1398 }1399}14001401class NFTnRFT extends CollectionGroup {1402 /**1403 * Get tokens owned by account1404 *1405 * @param collectionId ID of collection1406 * @param addressObj tokens owner1407 * @example getTokensByAddress(10, {Substrate: "5DyN4Y92vZCjv38fg..."})1408 * @returns array of token ids owned by account1409 */1410 async getTokensByAddress(collectionId: number, addressObj: ICrossAccountId): Promise<number[]> {1411 return (await this.helper.callRpc('api.rpc.unique.accountTokens', [collectionId, addressObj])).toJSON();1412 }14131414 /**1415 * Get token data1416 *1417 * @param collectionId ID of collection1418 * @param tokenId ID of token1419 * @param propertyKeys optionally filter the token properties to only these keys1420 * @param blockHashAt optionally query the data at some block with this hash1421 * @example getToken(10, 5);1422 * @returns human readable token data1423 */1424 async getToken(collectionId: number, tokenId: number, propertyKeys: string[] = [], blockHashAt?: string): Promise<{1425 properties: IProperty[];1426 owner: CrossAccountId;1427 normalizedOwner: CrossAccountId;1428 } | null> {1429 let tokenData;1430 if(typeof blockHashAt === 'undefined') {1431 tokenData = await this.helper.callRpc('api.rpc.unique.tokenData', [collectionId, tokenId]);1432 }1433 else {1434 if(propertyKeys.length == 0) {1435 const collection = (await this.helper.callRpc('api.rpc.unique.collectionById', [collectionId])).toHuman();1436 if(!collection) return null;1437 propertyKeys = collection.tokenPropertyPermissions.map((x: ITokenPropertyPermission) => x.key);1438 }1439 tokenData = await this.helper.callRpc('api.rpc.unique.tokenData', [collectionId, tokenId, propertyKeys, blockHashAt]);1440 }1441 tokenData = tokenData.toHuman();1442 if(tokenData === null || tokenData.owner === null) return null;1443 const owner = {} as any;1444 for(const key of Object.keys(tokenData.owner)) {1445 owner[key.toLocaleLowerCase()] = key.toLocaleLowerCase() == 'substrate'1446 ? CrossAccountId.normalizeSubstrateAddress(tokenData.owner[key])1447 : tokenData.owner[key];1448 }1449 tokenData.normalizedOwner = CrossAccountId.fromLowerCaseKeys(owner);1450 return tokenData;1451 }14521453 /**1454 * Get token's owner1455 * @param collectionId ID of collection1456 * @param tokenId ID of token1457 * @param blockHashAt optionally query the data at the block with this hash1458 * @example getTokenOwner(10, 5);1459 * @returns Address in CrossAccountId format, e.g. {Substrate: "5DnSF6RRjwteE3BrCj..."}1460 */1461 async getTokenOwner(collectionId: number, tokenId: number, blockHashAt?: string): Promise<CrossAccountId> {1462 let owner;1463 if(typeof blockHashAt === 'undefined') {1464 owner = await this.helper.callRpc('api.rpc.unique.tokenOwner', [collectionId, tokenId]);1465 } else {1466 owner = await this.helper.callRpc('api.rpc.unique.tokenOwner', [collectionId, tokenId, blockHashAt]);1467 }1468 return CrossAccountId.fromLowerCaseKeys(owner.toJSON());1469 }14701471 /**1472 * Recursively find the address that owns the token1473 * @param collectionId ID of collection1474 * @param tokenId ID of token1475 * @param blockHashAt1476 * @example getTokenTopmostOwner(10, 5);1477 * @returns address in CrossAccountId format, e.g. {Substrate: "5DyN4Y92vZCjv38fg..."}1478 */1479 async getTokenTopmostOwner(collectionId: number, tokenId: number, blockHashAt?: string): Promise<CrossAccountId | null> {1480 let owner;1481 if(typeof blockHashAt === 'undefined') {1482 owner = await this.helper.callRpc('api.rpc.unique.topmostTokenOwner', [collectionId, tokenId]);1483 } else {1484 owner = await this.helper.callRpc('api.rpc.unique.topmostTokenOwner', [collectionId, tokenId, blockHashAt]);1485 }14861487 if(owner === null) return null;14881489 return owner.toHuman();1490 }14911492 /**1493 * Nest one token into another1494 * @param signer keyring of signer1495 * @param tokenObj token to be nested1496 * @param rootTokenObj token to be parent1497 * @example nestToken(aliceKeyring, {collectionId: 10, tokenId: 5}, {collectionId: 10, tokenId: 4});1498 * @returns ```true``` if extrinsic success, otherwise ```false```1499 */1500 async nestToken(signer: TSigner, tokenObj: IToken, rootTokenObj: IToken): Promise<boolean> {1501 const rootTokenAddress = this.helper.util.getTokenAccount(rootTokenObj);1502 const result = await this.transferToken(signer, tokenObj.collectionId, tokenObj.tokenId, rootTokenAddress);1503 if(!result) {1504 throw Error('Unable to nest token!');1505 }1506 return result;1507 }15081509 /**1510 * Remove token from nested state1511 * @param signer keyring of signer1512 * @param tokenObj token to unnest1513 * @param rootTokenObj parent of a token1514 * @param toAddressObj address of a new token owner1515 * @example unnestToken(aliceKeyring, {collectionId: 10, tokenId: 5}, {collectionId: 10, tokenId: 4}, {Substrate: "5DyN4Y92vZCjv38fg..."});1516 * @returns ```true``` if extrinsic success, otherwise ```false```1517 */1518 async unnestToken(signer: TSigner, tokenObj: IToken, rootTokenObj: IToken, toAddressObj: ICrossAccountId): Promise<boolean> {1519 const rootTokenAddress = this.helper.util.getTokenAccount(rootTokenObj);1520 const result = await this.transferTokenFrom(signer, tokenObj.collectionId, tokenObj.tokenId, rootTokenAddress, toAddressObj);1521 if(!result) {1522 throw Error('Unable to unnest token!');1523 }1524 return result;1525 }15261527 /**1528 * Set permissions to change token properties1529 *1530 * @param signer keyring of signer1531 * @param collectionId ID of collection1532 * @param permissions permissions to change a property by the collection admin or token owner1533 * @example setTokenPropertyPermissions(1534 * aliceKeyring, 10, [{key: "gender", permission: {tokenOwner: true, mutable: true, collectionAdmin: true}}]1535 * )1536 * @returns true if extrinsic success otherwise false1537 */1538 async setTokenPropertyPermissions(signer: TSigner, collectionId: number, permissions: ITokenPropertyPermission[]): Promise<boolean> {1539 const result = await this.helper.executeExtrinsic(1540 signer,1541 'api.tx.unique.setTokenPropertyPermissions', [collectionId, permissions],1542 true,1543 );15441545 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'PropertyPermissionSet');1546 }15471548 /**1549 * Get token property permissions.1550 *1551 * @param collectionId ID of collection1552 * @param propertyKeys optionally filter the returned property permissions to only these keys1553 * @example getPropertyPermissions(1219, ['location', 'date', 'time', 'isParadise']);1554 * @returns array of key-permission pairs1555 */1556 async getPropertyPermissions(collectionId: number, propertyKeys: string[] | null = null): Promise<ITokenPropertyPermission[]> {1557 return (await this.helper.callRpc('api.rpc.unique.propertyPermissions', [collectionId, ...(propertyKeys === null ? [] : [propertyKeys])])).toHuman();1558 }15591560 /**1561 * Set token properties1562 *1563 * @param signer keyring of signer1564 * @param collectionId ID of collection1565 * @param tokenId ID of token1566 * @param properties key-value pairs of metadata which to add to a token. Keys must be permitted in the collection1567 * @example setTokenProperties(aliceKeyring, 10, 5, [{key: "gender", value: "female"}, {key: "age", value: "23"}])1568 * @returns ```true``` if extrinsic success, otherwise ```false```1569 */1570 async setTokenProperties(signer: TSigner, collectionId: number, tokenId: number, properties: IProperty[]): Promise<boolean> {1571 const result = await this.helper.executeExtrinsic(1572 signer,1573 'api.tx.unique.setTokenProperties', [collectionId, tokenId, properties],1574 true,1575 );15761577 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'TokenPropertySet');1578 }15791580 /**1581 * Get properties, metadata assigned to a token.1582 *1583 * @param collectionId ID of collection1584 * @param tokenId ID of token1585 * @param propertyKeys optionally filter the returned properties to only these keys1586 * @example getTokenProperties(1219, ['location', 'date', 'time', 'isParadise']);1587 * @returns array of key-value pairs1588 */1589 async getTokenProperties(collectionId: number, tokenId: number, propertyKeys?: string[] | null): Promise<IProperty[]> {1590 return (await this.helper.callRpc('api.rpc.unique.tokenProperties', [collectionId, tokenId, propertyKeys])).toHuman();1591 }15921593 /**1594 * Delete the provided properties of a token1595 * @param signer keyring of signer1596 * @param collectionId ID of collection1597 * @param tokenId ID of token1598 * @param propertyKeys property keys to be deleted1599 * @example deleteTokenProperties(aliceKeyring, 10, 5, ["gender", "age"])1600 * @returns ```true``` if extrinsic success, otherwise ```false```1601 */1602 async deleteTokenProperties(signer: TSigner, collectionId: number, tokenId: number, propertyKeys: string[]): Promise<boolean> {1603 const result = await this.helper.executeExtrinsic(1604 signer,1605 'api.tx.unique.deleteTokenProperties', [collectionId, tokenId, propertyKeys],1606 true,1607 );16081609 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'TokenPropertyDeleted');1610 }16111612 /**1613 * Mint new collection1614 *1615 * @param signer keyring of signer1616 * @param collectionOptions basic collection options and properties1617 * @param mode NFT or RFT type of a collection1618 * @example mintCollection(aliceKeyring, {name: 'New', description: "New collection", tokenPrefix: "NEW"}, "NFT")1619 * @returns object of the created collection1620 */1621 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions, mode: 'NFT' | 'RFT'): Promise<UniqueBaseCollection> {1622 collectionOptions = JSON.parse(JSON.stringify(collectionOptions)) as ICollectionCreationOptions; // Clone object1623 collectionOptions.mode = (mode === 'NFT') ? {nft: null} : {refungible: null};1624 for(const key of ['name', 'description', 'tokenPrefix']) {1625 if(typeof collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] === 'string') collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] = this.helper.util.str2vec(collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] as string);1626 }1627 const creationResult = await this.helper.executeExtrinsic(1628 signer,1629 'api.tx.unique.createCollectionEx', [collectionOptions],1630 true, // errorLabel,1631 );1632 return this.getCollectionObject(this.helper.util.extractCollectionIdFromCreationResult(creationResult));1633 }16341635 getCollectionObject(_collectionId: number): any {1636 return null;1637 }16381639 getTokenObject(_collectionId: number, _tokenId: number): any {1640 return null;1641 }16421643 /**1644 * Tells whether the given `owner` approves the `operator`.1645 * @param collectionId ID of collection1646 * @param owner owner address1647 * @param operator operator addrees1648 * @returns true if operator is enabled1649 */1650 async allowanceForAll(collectionId: number, owner: ICrossAccountId, operator: ICrossAccountId): Promise<boolean> {1651 return (await this.helper.callRpc('api.rpc.unique.allowanceForAll', [collectionId, owner, operator])).toJSON();1652 }16531654 /** Sets or unsets the approval of a given operator.1655 * The `operator` is allowed to transfer all tokens of the `caller` on their behalf.1656 * @param operator Operator1657 * @param approved Should operator status be granted or revoked?1658 * @returns ```true``` if extrinsic success, otherwise ```false```1659 */1660 async setAllowanceForAll(signer: TSigner, collectionId: number, operator: ICrossAccountId, approved: boolean): Promise<boolean> {1661 const result = await this.helper.executeExtrinsic(1662 signer,1663 'api.tx.unique.setAllowanceForAll', [collectionId, operator, approved],1664 true,1665 );1666 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'ApprovedForAll');1667 }1668}166916701671class NFTGroup extends NFTnRFT {1672 /**1673 * Get collection object1674 * @param collectionId ID of collection1675 * @example getCollectionObject(2);1676 * @returns instance of UniqueNFTCollection1677 */1678 getCollectionObject(collectionId: number): UniqueNFTCollection {1679 return new UniqueNFTCollection(collectionId, this.helper);1680 }16811682 /**1683 * Get token object1684 * @param collectionId ID of collection1685 * @param tokenId ID of token1686 * @example getTokenObject(10, 5);1687 * @returns instance of UniqueNFTToken1688 */1689 getTokenObject(collectionId: number, tokenId: number): UniqueNFToken {1690 return new UniqueNFToken(tokenId, this.getCollectionObject(collectionId));1691 }16921693 /**1694 * Is token approved to transfer1695 * @param collectionId ID of collection1696 * @param tokenId ID of token1697 * @param toAccountObj address to be approved1698 * @returns ```true``` if extrinsic success, otherwise ```false```1699 */1700 async isTokenApproved(collectionId: number, tokenId: number, toAccountObj: ICrossAccountId): Promise<boolean> {1701 return (await this.getTokenApprovedPieces(collectionId, tokenId, toAccountObj, await this.getTokenOwner(collectionId, tokenId))) === 1n;1702 }17031704 /**1705 * Changes the owner of the token.1706 *1707 * @param signer keyring of signer1708 * @param collectionId ID of collection1709 * @param tokenId ID of token1710 * @param addressObj address of a new owner1711 * @example transferToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})1712 * @returns ```true``` if extrinsic success, otherwise ```false```1713 */1714 async transferToken(signer: TSigner, collectionId: number, tokenId: number, addressObj: ICrossAccountId): Promise<boolean> {1715 return await super.transferToken(signer, collectionId, tokenId, addressObj, 1n);1716 }17171718 /**1719 *1720 * Change ownership of a NFT on behalf of the owner.1721 *1722 * @param signer keyring of signer1723 * @param collectionId ID of collection1724 * @param tokenId ID of token1725 * @param fromAddressObj address on behalf of which the token will be sent1726 * @param toAddressObj new token owner1727 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, {Ethereum: "0x9F0583DbB85..."})1728 * @returns ```true``` if extrinsic success, otherwise ```false```1729 */1730 async transferTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId): Promise<boolean> {1731 return await super.transferTokenFrom(signer, collectionId, tokenId, fromAddressObj, toAddressObj, 1n);1732 }17331734 /**1735 * Get tokens nested in the provided token1736 * @param collectionId ID of collection1737 * @param tokenId ID of token1738 * @param blockHashAt optionally query the data at the block with this hash1739 * @example getTokenChildren(10, 5);1740 * @returns tokens whose depth of nesting is <= 51741 */1742 async getTokenChildren(collectionId: number, tokenId: number, blockHashAt?: string): Promise<IToken[]> {1743 let children;1744 if(typeof blockHashAt === 'undefined') {1745 children = await this.helper.callRpc('api.rpc.unique.tokenChildren', [collectionId, tokenId]);1746 } else {1747 children = await this.helper.callRpc('api.rpc.unique.tokenChildren', [collectionId, tokenId, blockHashAt]);1748 }17491750 return children.toJSON().map((x: any) => ({collectionId: x.collection, tokenId: x.token}));1751 }17521753 /**1754 * Mint new collection1755 * @param signer keyring of signer1756 * @param collectionOptions Collection options1757 * @example1758 * mintCollection(aliceKeyring, {1759 * name: 'New',1760 * description: 'New collection',1761 * tokenPrefix: 'NEW',1762 * })1763 * @returns object of the created collection1764 */1765 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions = {}): Promise<UniqueNFTCollection> {1766 return await super.mintCollection(signer, collectionOptions, 'NFT') as UniqueNFTCollection;1767 }17681769 /**1770 * Mint new token1771 * @param signer keyring of signer1772 * @param data token data1773 * @returns created token object1774 */1775 async mintToken(signer: TSigner, data: { collectionId: number; owner: ICrossAccountId | string; properties?: IProperty[]; }): Promise<UniqueNFToken> {1776 const creationResult = await this.helper.executeExtrinsic(1777 signer,1778 'api.tx.unique.createItem', [data.collectionId, (typeof data.owner === 'string') ? {Substrate: data.owner} : data.owner, {1779 NFT: {1780 properties: data.properties,1781 },1782 }],1783 true,1784 );1785 const createdTokens = this.helper.util.extractTokensFromCreationResult(creationResult);1786 if(createdTokens.tokens.length > 1) throw Error('Minted multiple tokens');1787 if(createdTokens.tokens.length < 1) throw Error('No tokens minted');1788 return this.getTokenObject(data.collectionId, createdTokens.tokens[0].tokenId);1789 }17901791 /**1792 * Mint multiple NFT tokens1793 * @param signer keyring of signer1794 * @param collectionId ID of collection1795 * @param tokens array of tokens with owner and properties1796 * @example1797 * mintMultipleTokens(aliceKeyring, 10, [{1798 * owner: {Substrate: "5DyN4Y92vZCjv38fg..."},1799 * properties: [{key: "gender", value: "male"},{key: "age", value: "45"}],1800 * },{1801 * owner: {Ethereum: "0x9F0583DbB855d..."},1802 * properties: [{key: "gender", value: "female"},{key: "age", value: "22"}],1803 * }]);1804 * @returns ```true``` if extrinsic success, otherwise ```false```1805 */1806 async mintMultipleTokens(signer: TSigner, collectionId: number, tokens: { owner: ICrossAccountId, properties?: IProperty[] }[]): Promise<UniqueNFToken[]> {1807 const creationResult = await this.helper.executeExtrinsic(1808 signer,1809 'api.tx.unique.createMultipleItemsEx', [collectionId, {NFT: tokens}],1810 true,1811 );1812 const collection = this.getCollectionObject(collectionId);1813 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));1814 }18151816 /**1817 * Mint multiple NFT tokens with one owner1818 * @param signer keyring of signer1819 * @param collectionId ID of collection1820 * @param owner tokens owner1821 * @param tokens array of tokens with owner and properties1822 * @example1823 * mintMultipleTokensWithOneOwner(aliceKeyring, 10, "5DyN4Y92vZCjv38fg...", [{1824 * properties: [{1825 * key: "gender",1826 * value: "female",1827 * },{1828 * key: "age",1829 * value: "33",1830 * }],1831 * }]);1832 * @returns array of newly created tokens1833 */1834 async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, owner: ICrossAccountId, tokens: { properties?: IProperty[] }[]): Promise<UniqueNFToken[]> {1835 const rawTokens = [];1836 for(const token of tokens) {1837 const raw = {NFT: {properties: token.properties}};1838 rawTokens.push(raw);1839 }1840 const creationResult = await this.helper.executeExtrinsic(1841 signer,1842 'api.tx.unique.createMultipleItems', [collectionId, owner, rawTokens],1843 true,1844 );1845 const collection = this.getCollectionObject(collectionId);1846 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));1847 }18481849 /**1850 * Set, change, or remove approved address to transfer the ownership of the NFT.1851 *1852 * @param signer keyring of signer1853 * @param collectionId ID of collection1854 * @param tokenId ID of token1855 * @param toAddressObj address to approve1856 * @example approveToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})1857 * @returns ```true``` if extrinsic success, otherwise ```false```1858 */1859 approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {1860 return super.approveToken(signer, collectionId, tokenId, toAddressObj, amount);1861 }1862}186318641865class RFTGroup extends NFTnRFT {1866 /**1867 * Get collection object1868 * @param collectionId ID of collection1869 * @example getCollectionObject(2);1870 * @returns instance of UniqueRFTCollection1871 */1872 getCollectionObject(collectionId: number): UniqueRFTCollection {1873 return new UniqueRFTCollection(collectionId, this.helper);1874 }18751876 /**1877 * Get token object1878 * @param collectionId ID of collection1879 * @param tokenId ID of token1880 * @example getTokenObject(10, 5);1881 * @returns instance of UniqueNFTToken1882 */1883 getTokenObject(collectionId: number, tokenId: number): UniqueRFToken {1884 return new UniqueRFToken(tokenId, this.getCollectionObject(collectionId));1885 }18861887 /**1888 * Get top 10 token owners with the largest number of pieces1889 * @param collectionId ID of collection1890 * @param tokenId ID of token1891 * @example getTokenTop10Owners(10, 5);1892 * @returns array of top 10 owners1893 */1894 async getTokenTop10Owners(collectionId: number, tokenId: number): Promise<CrossAccountId[]> {1895 return (await this.helper.callRpc('api.rpc.unique.tokenOwners', [collectionId, tokenId])).toJSON().map(CrossAccountId.fromLowerCaseKeys);1896 }18971898 /**1899 * Get number of pieces owned by address1900 * @param collectionId ID of collection1901 * @param tokenId ID of token1902 * @param addressObj address token owner1903 * @example getTokenBalance(10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."});1904 * @returns number of pieces ownerd by address1905 */1906 async getTokenBalance(collectionId: number, tokenId: number, addressObj: ICrossAccountId): Promise<bigint> {1907 return (await this.helper.callRpc('api.rpc.unique.balance', [collectionId, addressObj, tokenId])).toBigInt();1908 }19091910 /**1911 * Transfer pieces of token to another address1912 * @param signer keyring of signer1913 * @param collectionId ID of collection1914 * @param tokenId ID of token1915 * @param addressObj address of a new owner1916 * @param amount number of pieces to be transfered1917 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, 2000n)1918 * @returns ```true``` if extrinsic success, otherwise ```false```1919 */1920 async transferToken(signer: TSigner, collectionId: number, tokenId: number, addressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1921 return await super.transferToken(signer, collectionId, tokenId, addressObj, amount);1922 }19231924 /**1925 * Change ownership of some pieces of RFT on behalf of the owner.1926 * @param signer keyring of signer1927 * @param collectionId ID of collection1928 * @param tokenId ID of token1929 * @param fromAddressObj address on behalf of which the token will be sent1930 * @param toAddressObj new token owner1931 * @param amount number of pieces to be transfered1932 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, {Substrate: "5DfhbVfww7ThF8q6f3i..."}, 2000n)1933 * @returns ```true``` if extrinsic success, otherwise ```false```1934 */1935 async transferTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1936 return await super.transferTokenFrom(signer, collectionId, tokenId, fromAddressObj, toAddressObj, amount);1937 }19381939 /**1940 * Mint new collection1941 * @param signer keyring of signer1942 * @param collectionOptions Collection options1943 * @example1944 * mintCollection(aliceKeyring, {1945 * name: 'New',1946 * description: 'New collection',1947 * tokenPrefix: 'NEW',1948 * })1949 * @returns object of the created collection1950 */1951 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions = {}): Promise<UniqueRFTCollection> {1952 return await super.mintCollection(signer, collectionOptions, 'RFT') as UniqueRFTCollection;1953 }19541955 /**1956 * Mint new token1957 * @param signer keyring of signer1958 * @param data token data1959 * @example mintToken(aliceKeyring, {collectionId: 10, owner: {Substrate: '5GHoZe9c73RYbVzq...'}, pieces: 10000n});1960 * @returns created token object1961 */1962 async mintToken(signer: TSigner, data: { collectionId: number; owner: ICrossAccountId | string; pieces: bigint; properties?: IProperty[]; }): Promise<UniqueRFToken> {1963 const creationResult = await this.helper.executeExtrinsic(1964 signer,1965 'api.tx.unique.createItem', [data.collectionId, (typeof data.owner === 'string') ? {Substrate: data.owner} : data.owner, {1966 ReFungible: {1967 pieces: data.pieces,1968 properties: data.properties,1969 },1970 }],1971 true,1972 );1973 const createdTokens = this.helper.util.extractTokensFromCreationResult(creationResult);1974 if(createdTokens.tokens.length > 1) throw Error('Minted multiple tokens');1975 if(createdTokens.tokens.length < 1) throw Error('No tokens minted');1976 return this.getTokenObject(data.collectionId, createdTokens.tokens[0].tokenId);1977 }19781979 async mintMultipleTokens(signer: TSigner, collectionId: number, tokens: { owner: ICrossAccountId, pieces: bigint, properties?: IProperty[] }[]): Promise<UniqueRFToken[]> {1980 throw Error('Not implemented');1981 const creationResult = await this.helper.executeExtrinsic(1982 signer,1983 'api.tx.unique.createMultipleItemsEx', [collectionId, {RefungibleMultipleOwners: tokens}],1984 true, // `Unable to mint RFT tokens for ${label}`,1985 );1986 const collection = this.getCollectionObject(collectionId);1987 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));1988 }19891990 /**1991 * Mint multiple RFT tokens with one owner1992 * @param signer keyring of signer1993 * @param collectionId ID of collection1994 * @param owner tokens owner1995 * @param tokens array of tokens with properties and pieces1996 * @example mintMultipleTokensWithOneOwner(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, [{pieces: 100000n, properties: [{key: "gender", value: "male"}]}]);1997 * @returns array of newly created RFT tokens1998 */1999 async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, owner: ICrossAccountId, tokens: { pieces: bigint, properties?: IProperty[] }[]): Promise<UniqueRFToken[]> {2000 const rawTokens = [];2001 for(const token of tokens) {2002 const raw = {ReFungible: {pieces: token.pieces, properties: token.properties}};2003 rawTokens.push(raw);2004 }2005 const creationResult = await this.helper.executeExtrinsic(2006 signer,2007 'api.tx.unique.createMultipleItems', [collectionId, owner, rawTokens],2008 true,2009 );2010 const collection = this.getCollectionObject(collectionId);2011 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));2012 }20132014 /**2015 * Destroys a concrete instance of RFT.2016 * @param signer keyring of signer2017 * @param collectionId ID of collection2018 * @param tokenId ID of token2019 * @param amount number of pieces to be burnt2020 * @example burnToken(aliceKeyring, 10, 5);2021 * @returns ```true``` if the extrinsic is successful, otherwise ```false```2022 */2023 async burnToken(signer: IKeyringPair, collectionId: number, tokenId: number, amount = 1n): Promise<boolean> {2024 return await super.burnToken(signer, collectionId, tokenId, amount);2025 }20262027 /**2028 * Destroys a concrete instance of RFT on behalf of the owner.2029 * @param signer keyring of signer2030 * @param collectionId ID of collection2031 * @param tokenId ID of token2032 * @param fromAddressObj address on behalf of which the token will be burnt2033 * @param amount number of pieces to be burnt2034 * @example burnTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, 2n)2035 * @returns ```true``` if extrinsic success, otherwise ```false```2036 */2037 async burnTokenFrom(signer: IKeyringPair, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {2038 return await super.burnTokenFrom(signer, collectionId, tokenId, fromAddressObj, amount);2039 }20402041 /**2042 * Set, change, or remove approved address to transfer the ownership of the RFT.2043 *2044 * @param signer keyring of signer2045 * @param collectionId ID of collection2046 * @param tokenId ID of token2047 * @param toAddressObj address to approve2048 * @param amount number of pieces to be approved2049 * @example approveToken(aliceKeyring, 10, 5, {Substrate: "5GHoZe9c73RYbVzq..."}, "", 10000n);2050 * @returns true if the token success, otherwise false2051 */2052 approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {2053 return super.approveToken(signer, collectionId, tokenId, toAddressObj, amount);2054 }20552056 /**2057 * Get total number of pieces2058 * @param collectionId ID of collection2059 * @param tokenId ID of token2060 * @example getTokenTotalPieces(10, 5);2061 * @returns number of pieces2062 */2063 async getTokenTotalPieces(collectionId: number, tokenId: number): Promise<bigint> {2064 return (await this.helper.callRpc('api.rpc.unique.totalPieces', [collectionId, tokenId])).unwrap().toBigInt();2065 }20662067 /**2068 * Change number of token pieces. Signer must be the owner of all token pieces.2069 * @param signer keyring of signer2070 * @param collectionId ID of collection2071 * @param tokenId ID of token2072 * @param amount new number of pieces2073 * @example repartitionToken(aliceKeyring, 10, 5, 12345n);2074 * @returns true if the repartion was success, otherwise false2075 */2076 async repartitionToken(signer: TSigner, collectionId: number, tokenId: number, amount: bigint): Promise<boolean> {2077 const currentAmount = await this.getTokenTotalPieces(collectionId, tokenId);2078 const repartitionResult = await this.helper.executeExtrinsic(2079 signer,2080 'api.tx.unique.repartition', [collectionId, tokenId, amount],2081 true,2082 );2083 if(currentAmount < amount) return this.helper.util.findCollectionInEvents(repartitionResult.result.events, collectionId, 'common', 'ItemCreated');2084 return this.helper.util.findCollectionInEvents(repartitionResult.result.events, collectionId, 'common', 'ItemDestroyed');2085 }2086}208720882089class FTGroup extends CollectionGroup {2090 /**2091 * Get collection object2092 * @param collectionId ID of collection2093 * @example getCollectionObject(2);2094 * @returns instance of UniqueFTCollection2095 */2096 getCollectionObject(collectionId: number): UniqueFTCollection {2097 return new UniqueFTCollection(collectionId, this.helper);2098 }20992100 /**2101 * Mint new fungible collection2102 * @param signer keyring of signer2103 * @param collectionOptions Collection options2104 * @param decimalPoints number of token decimals2105 * @example2106 * mintCollection(aliceKeyring, {2107 * name: 'New',2108 * description: 'New collection',2109 * tokenPrefix: 'NEW',2110 * }, 18)2111 * @returns newly created fungible collection2112 */2113 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions = {}, decimalPoints = 0): Promise<UniqueFTCollection> {2114 collectionOptions = JSON.parse(JSON.stringify(collectionOptions)) as ICollectionCreationOptions; // Clone object2115 if(collectionOptions.tokenPropertyPermissions) throw Error('Fungible collections has no tokenPropertyPermissions');2116 collectionOptions.mode = {fungible: decimalPoints};2117 for(const key of ['name', 'description', 'tokenPrefix']) {2118 if(typeof collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] === 'string') collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] = this.helper.util.str2vec(collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] as string);2119 }2120 const creationResult = await this.helper.executeExtrinsic(2121 signer,2122 'api.tx.unique.createCollectionEx', [collectionOptions],2123 true,2124 );2125 return this.getCollectionObject(this.helper.util.extractCollectionIdFromCreationResult(creationResult));2126 }21272128 /**2129 * Mint tokens2130 * @param signer keyring of signer2131 * @param collectionId ID of collection2132 * @param owner address owner of new tokens2133 * @param amount amount of tokens to be meanted2134 * @example mintTokens(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq"}, 1000n);2135 * @returns ```true``` if extrinsic success, otherwise ```false```2136 */2137 async mintTokens(signer: TSigner, collectionId: number, amount: bigint, owner: ICrossAccountId | string): Promise<boolean> {2138 const creationResult = await this.helper.executeExtrinsic(2139 signer,2140 'api.tx.unique.createItem', [collectionId, (typeof owner === 'string') ? {Substrate: owner} : owner, {2141 Fungible: {2142 value: amount,2143 },2144 }],2145 true, // `Unable to mint fungible tokens for ${label}`,2146 );2147 return this.helper.util.findCollectionInEvents(creationResult.result.events, collectionId, 'common', 'ItemCreated');2148 }21492150 /**2151 * Mint multiple Fungible tokens with one owner2152 * @param signer keyring of signer2153 * @param collectionId ID of collection2154 * @param owner tokens owner2155 * @param tokens array of tokens with properties and pieces2156 * @returns ```true``` if extrinsic success, otherwise ```false```2157 */2158 async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, tokens: { value: bigint }[], owner: ICrossAccountId): Promise<boolean> {2159 const rawTokens = [];2160 for(const token of tokens) {2161 const raw = {Fungible: {Value: token.value}};2162 rawTokens.push(raw);2163 }2164 const creationResult = await this.helper.executeExtrinsic(2165 signer,2166 'api.tx.unique.createMultipleItems', [collectionId, owner, rawTokens],2167 true,2168 );2169 return this.helper.util.findCollectionInEvents(creationResult.result.events, collectionId, 'common', 'ItemCreated');2170 }21712172 /**2173 * Get the top 10 owners with the largest balance for the Fungible collection2174 * @param collectionId ID of collection2175 * @example getTop10Owners(10);2176 * @returns array of ```ICrossAccountId```2177 */2178 async getTop10Owners(collectionId: number): Promise<CrossAccountId[]> {2179 return (await this.helper.callRpc('api.rpc.unique.tokenOwners', [collectionId, 0])).toJSON().map(CrossAccountId.fromLowerCaseKeys);2180 }21812182 /**2183 * Get account balance2184 * @param collectionId ID of collection2185 * @param addressObj address of owner2186 * @example getBalance(10, {Substrate: "5GHoZe9c73RYbVzq..."})2187 * @returns amount of fungible tokens owned by address2188 */2189 async getBalance(collectionId: number, addressObj: ICrossAccountId): Promise<bigint> {2190 return (await this.helper.callRpc('api.rpc.unique.balance', [collectionId, addressObj, 0])).toBigInt();2191 }21922193 /**2194 * Transfer tokens to address2195 * @param signer keyring of signer2196 * @param collectionId ID of collection2197 * @param toAddressObj address recipient2198 * @param amount amount of tokens to be sent2199 * @example transfer(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, 1000n);2200 * @returns ```true``` if extrinsic success, otherwise ```false```2201 */2202 async transfer(signer: TSigner, collectionId: number, toAddressObj: ICrossAccountId, amount = 1n) {2203 return await super.transferToken(signer, collectionId, 0, toAddressObj, amount);2204 }22052206 /**2207 * Transfer some tokens on behalf of the owner.2208 * @param signer keyring of signer2209 * @param collectionId ID of collection2210 * @param fromAddressObj address on behalf of which tokens will be sent2211 * @param toAddressObj address where token to be sent2212 * @param amount number of tokens to be sent2213 * @example transferFrom(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, {Substrate: "5DfhbVfww7ThF8q6f3ij..."}, 10000n);2214 * @returns ```true``` if extrinsic success, otherwise ```false```2215 */2216 async transferFrom(signer: TSigner, collectionId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {2217 return await super.transferTokenFrom(signer, collectionId, 0, fromAddressObj, toAddressObj, amount);2218 }22192220 /**2221 * Destroy some amount of tokens2222 * @param signer keyring of signer2223 * @param collectionId ID of collection2224 * @param amount amount of tokens to be destroyed2225 * @example burnTokens(aliceKeyring, 10, 1000n);2226 * @returns ```true``` if extrinsic success, otherwise ```false```2227 */2228 async burnTokens(signer: IKeyringPair, collectionId: number, amount = 1n): Promise<boolean> {2229 return await super.burnToken(signer, collectionId, 0, amount);2230 }22312232 /**2233 * Burn some tokens on behalf of the owner.2234 * @param signer keyring of signer2235 * @param collectionId ID of collection2236 * @param fromAddressObj address on behalf of which tokens will be burnt2237 * @param amount amount of tokens to be burnt2238 * @example burnTokensFrom(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, 1000n);2239 * @returns ```true``` if extrinsic success, otherwise ```false```2240 */2241 async burnTokensFrom(signer: IKeyringPair, collectionId: number, fromAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {2242 return await super.burnTokenFrom(signer, collectionId, 0, fromAddressObj, amount);2243 }22442245 /**2246 * Get total collection supply2247 * @param collectionId2248 * @returns2249 */2250 async getTotalPieces(collectionId: number): Promise<bigint> {2251 return (await this.helper.callRpc('api.rpc.unique.totalPieces', [collectionId, 0])).unwrap().toBigInt();2252 }22532254 /**2255 * Set, change, or remove approved address to transfer tokens.2256 *2257 * @param signer keyring of signer2258 * @param collectionId ID of collection2259 * @param toAddressObj address to be approved2260 * @param amount amount of tokens to be approved2261 * @example approveTokens(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, 1000n)2262 * @returns ```true``` if extrinsic success, otherwise ```false```2263 */2264 approveTokens(signer: IKeyringPair, collectionId: number, toAddressObj: ICrossAccountId, amount = 1n) {2265 return super.approveToken(signer, collectionId, 0, toAddressObj, amount);2266 }22672268 /**2269 * Get amount of fungible tokens approved to transfer2270 * @param collectionId ID of collection2271 * @param fromAddressObj owner of tokens2272 * @param toAddressObj the address approved for the transfer of tokens on behalf of the owner2273 * @returns number of tokens approved for the transfer2274 */2275 getApprovedTokens(collectionId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {2276 return super.getTokenApprovedPieces(collectionId, 0, toAddressObj, fromAddressObj);2277 }2278}227922802281class ChainGroup extends HelperGroup<ChainHelperBase> {2282 /**2283 * Get system properties of a chain2284 * @example getChainProperties();2285 * @returns ss58Format, token decimals, and token symbol2286 */2287 getChainProperties(): IChainProperties {2288 const properties = (this.helper.getApi() as any).registry.getChainProperties().toJSON();2289 return {2290 ss58Format: properties.ss58Format.toJSON(),2291 tokenDecimals: properties.tokenDecimals.toJSON(),2292 tokenSymbol: properties.tokenSymbol.toJSON(),2293 };2294 }22952296 /**2297 * Get chain header2298 * @example getLatestBlockNumber();2299 * @returns the number of the last block2300 */2301 async getLatestBlockNumber(): Promise<number> {2302 return (await this.helper.callRpc('api.rpc.chain.getHeader')).number.toNumber();2303 }23042305 /**2306 * Get block hash by block number2307 * @param blockNumber number of block2308 * @example getBlockHashByNumber(12345);2309 * @returns hash of a block2310 */2311 async getBlockHashByNumber(blockNumber: number): Promise<string | null> {2312 const blockHash = (await this.helper.callRpc('api.rpc.chain.getBlockHash', [blockNumber])).toJSON();2313 if(blockHash === '0x0000000000000000000000000000000000000000000000000000000000000000') return null;2314 return blockHash;2315 }23162317 // TODO add docs2318 async getBlock(blockHashOrNumber: string | number): Promise<IBlock | null> {2319 const blockHash = typeof blockHashOrNumber === 'string' ? blockHashOrNumber : await this.getBlockHashByNumber(blockHashOrNumber);2320 if(!blockHash) return null;2321 return (await this.helper.callRpc('api.rpc.chain.getBlock', [blockHash])).toHuman().block;2322 }23232324 /**2325 * Get latest relay block2326 * @returns {number} relay block2327 */2328 async getRelayBlockNumber(): Promise<bigint> {2329 const blockNumber = (await this.helper.callRpc('api.query.parachainSystem.validationData')).toJSON().relayParentNumber;2330 return BigInt(blockNumber);2331 }23322333 /**2334 * Get account nonce2335 * @param address substrate address2336 * @example getNonce("5GrwvaEF5zXb26Fz...");2337 * @returns number, account's nonce2338 */2339 async getNonce(address: TSubstrateAccount): Promise<number> {2340 return (await this.helper.callRpc('api.query.system.account', [address])).nonce.toNumber();2341 }2342}23432344class SubstrateBalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2345 /**2346 * Get substrate address balance2347 * @param address substrate address2348 * @example getSubstrate("5GrwvaEF5zXb26Fz...")2349 * @returns amount of tokens on address2350 */2351 async getSubstrate(address: TSubstrateAccount): Promise<bigint> {2352 return (await this.helper.callRpc('api.query.system.account', [address])).data.free.toBigInt();2353 }23542355 /**2356 * Transfer tokens to substrate address2357 * @param signer keyring of signer2358 * @param address substrate address of a recipient2359 * @param amount amount of tokens to be transfered2360 * @example transferToSubstrate(aliceKeyring, "5GrwvaEF5zXb26Fz...", 100_000_000_000n);2361 * @returns ```true``` if extrinsic success, otherwise ```false```2362 */2363 async transferToSubstrate(signer: TSigner, address: TSubstrateAccount, amount: bigint | string): Promise<boolean> {2364 const result = await this.helper.executeExtrinsic(signer, 'api.tx.balances.transfer', [address, amount], true/*, `Unable to transfer balance from ${this.helper.getSignerAddress(signer)} to ${address}`*/);23652366 let transfer = {from: null, to: null, amount: 0n} as any;2367 result.result.events.forEach(({event: {data, method, section}}) => {2368 if((section === 'balances') && (method === 'Transfer')) {2369 transfer = {2370 from: this.helper.address.normalizeSubstrate(data[0]),2371 to: this.helper.address.normalizeSubstrate(data[1]),2372 amount: BigInt(data[2]),2373 };2374 }2375 });2376 const isSuccess = this.helper.address.normalizeSubstrate(typeof signer === 'string' ? signer : signer.address) === transfer.from2377 && this.helper.address.normalizeSubstrate(address) === transfer.to2378 && BigInt(amount) === transfer.amount;2379 return isSuccess;2380 }23812382 /**2383 * Get full substrate balance including free, frozen, and reserved2384 * @param address substrate address2385 * @returns2386 */2387 async getSubstrateFull(address: TSubstrateAccount): Promise<ISubstrateBalance> {2388 const accountInfo = (await this.helper.callRpc('api.query.system.account', [address])).data;2389 return {free: accountInfo.free.toBigInt(), frozen: accountInfo.frozen.toBigInt(), reserved: accountInfo.reserved.toBigInt()};2390 }23912392 /**2393 * Get total issuance2394 * @returns2395 */2396 async getTotalIssuance(): Promise<bigint> {2397 const total = (await this.helper.callRpc('api.query.balances.totalIssuance', []));2398 return total.toBigInt();2399 }24002401 async getLocked(address: TSubstrateAccount): Promise<{ id: string, amount: bigint, reason: string }[]> {2402 const locks = (await this.helper.callRpc('api.query.balances.locks', [address])).toHuman();2403 return locks.map((lock: any) => ({id: lock.id, amount: BigInt(lock.amount.replace(/,/g, '')), reasons: lock.reasons}));2404 }2405 async getFrozen(address: TSubstrateAccount): Promise<{ id: string, amount: bigint }[]> {2406 const locks = await this.helper.api!.query.balances.freezes(address);2407 return locks.map(lock => ({id: lock.id.toUtf8(), amount: lock.amount.toBigInt()}));2408 }2409}24102411class EthereumBalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2412 /**2413 * Get ethereum address balance2414 * @param address ethereum address2415 * @example getEthereum("0x9F0583DbB855d...")2416 * @returns amount of tokens on address2417 */2418 async getEthereum(address: TEthereumAccount): Promise<bigint> {2419 return (await this.helper.callRpc('api.rpc.eth.getBalance', [address])).toBigInt();2420 }24212422 /**2423 * Transfer tokens to address2424 * @param signer keyring of signer2425 * @param address Ethereum address of a recipient2426 * @param amount amount of tokens to be transfered2427 * @example transferToEthereum(alithKeyring, "0x9F0583DbB855d...", 100_000_000_000n);2428 * @returns ```true``` if extrinsic success, otherwise ```false```2429 */2430 async transferToEthereum(signer: TSigner, address: TEthereumAccount, amount: bigint | string): Promise<boolean> {2431 const result = await this.helper.executeExtrinsic(signer, 'api.tx.balances.transfer', [address, amount], true);24322433 let transfer = {from: null, to: null, amount: 0n} as any;2434 result.result.events.forEach(({event: {data, method, section}}) => {2435 if((section === 'balances') && (method === 'Transfer')) {2436 transfer = {2437 from: data[0].toString(),2438 to: data[1].toString(),2439 amount: BigInt(data[2]),2440 };2441 }2442 });2443 const isSuccess = (typeof signer === 'string' ? signer : signer.address) === transfer.from2444 && address === transfer.to2445 && BigInt(amount) === transfer.amount;2446 return isSuccess;2447 }2448}24492450class BalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2451 subBalanceGroup: SubstrateBalanceGroup<T>;2452 ethBalanceGroup: EthereumBalanceGroup<T>;24532454 constructor(helper: T) {2455 super(helper);2456 this.subBalanceGroup = new SubstrateBalanceGroup(helper);2457 this.ethBalanceGroup = new EthereumBalanceGroup(helper);2458 }24592460 getCollectionCreationPrice(): bigint {2461 return 2n * this.getOneTokenNominal();2462 }2463 /**2464 * Representation of the native token in the smallest unit - one OPAL (OPL), QUARTZ (QTZ), or UNIQUE (UNQ).2465 * @example getOneTokenNominal()2466 * @returns ```BigInt``` representation of the native token in the smallest unit, e.g. ```1_000_000_000_000_000_000n``` for QTZ.2467 */2468 getOneTokenNominal(): bigint {2469 const chainProperties = this.helper.chain.getChainProperties();2470 return 10n ** BigInt((chainProperties.tokenDecimals || [18])[0]);2471 }24722473 /**2474 * Get substrate address balance2475 * @param address substrate address2476 * @example getSubstrate("5GrwvaEF5zXb26Fz...")2477 * @returns amount of tokens on address2478 */2479 getSubstrate(address: TSubstrateAccount): Promise<bigint> {2480 return this.subBalanceGroup.getSubstrate(address);2481 }24822483 /**2484 * Get full substrate balance including free, miscFrozen, feeFrozen, and reserved2485 * @param address substrate address2486 * @returns2487 */2488 getSubstrateFull(address: TSubstrateAccount): Promise<ISubstrateBalance> {2489 return this.subBalanceGroup.getSubstrateFull(address);2490 }24912492 /**2493 * Get total issuance2494 * @returns2495 */2496 getTotalIssuance(): Promise<bigint> {2497 return this.subBalanceGroup.getTotalIssuance();2498 }24992500 /**2501 * Get locked balances2502 * @param address substrate address2503 * @returns locked balances with reason via api.query.balances.locks2504 * @deprecated all the methods should switch to getFrozen2505 */2506 getLocked(address: TSubstrateAccount) {2507 return this.subBalanceGroup.getLocked(address);2508 }25092510 /**2511 * Get frozen balances2512 * @param address substrate address2513 * @returns frozen balances with id via api.query.balances.freezes2514 */2515 getFrozen(address: TSubstrateAccount) {2516 return this.subBalanceGroup.getFrozen(address);2517 }25182519 /**2520 * Get ethereum address balance2521 * @param address ethereum address2522 * @example getEthereum("0x9F0583DbB855d...")2523 * @returns amount of tokens on address2524 */2525 getEthereum(address: TEthereumAccount): Promise<bigint> {2526 return this.ethBalanceGroup.getEthereum(address);2527 }25282529 async setBalanceSubstrate(signer: TSigner, address: TSubstrateAccount, amount: bigint) {2530 await this.helper.executeExtrinsic(signer, 'api.tx.balances.forceSetBalance', [address, amount], true);2531 }25322533 /**2534 * Transfer tokens to substrate address2535 * @param signer keyring of signer2536 * @param address substrate address of a recipient2537 * @param amount amount of tokens to be transfered2538 * @example transferToSubstrate(aliceKeyring, "5GrwvaEF5zXb26Fz...", 100_000_000_000n);2539 * @returns ```true``` if extrinsic success, otherwise ```false```2540 */2541 transferToSubstrate(signer: TSigner, address: TSubstrateAccount, amount: bigint | string): Promise<boolean> {2542 return this.subBalanceGroup.transferToSubstrate(signer, address, amount);2543 }25442545 async forceTransferToSubstrate(signer: TSigner, from: TSubstrateAccount, to: TSubstrateAccount, amount: bigint | string): Promise<boolean> {2546 const result = await this.helper.executeExtrinsic(signer, 'api.tx.balances.forceTransfer', [from, to, amount], true);25472548 let transfer = {from: null, to: null, amount: 0n} as any;2549 result.result.events.forEach(({event: {data, method, section}}) => {2550 if((section === 'balances') && (method === 'Transfer')) {2551 transfer = {2552 from: this.helper.address.normalizeSubstrate(data[0]),2553 to: this.helper.address.normalizeSubstrate(data[1]),2554 amount: BigInt(data[2]),2555 };2556 }2557 });2558 let isSuccess = this.helper.address.normalizeSubstrate(from) === transfer.from;2559 isSuccess = isSuccess && this.helper.address.normalizeSubstrate(to) === transfer.to;2560 isSuccess = isSuccess && BigInt(amount) === transfer.amount;2561 return isSuccess;2562 }25632564 /**2565 * Transfer tokens with the unlock period2566 * @param signer signers Keyring2567 * @param address Substrate address of recipient2568 * @param schedule Schedule params2569 * @example vestedTransfer(signer, recepient.address, 20000, 100, 10, 50 * nominal); // total amount of vested tokens will be 100 * 50 = 50002570 */2571 async vestedTransfer(signer: TSigner, address: TSubstrateAccount, schedule: { start: bigint, period: bigint, periodCount: bigint, perPeriod: bigint }): Promise<void> {2572 const result = await this.helper.executeExtrinsic(signer, 'api.tx.vesting.vestedTransfer', [address, schedule]);2573 const event = result.result.events2574 .find(e => e.event.section === 'vesting' &&2575 e.event.method === 'VestingScheduleAdded' &&2576 e.event.data[0].toHuman() === signer.address);2577 if(!event) throw Error('Cannot find transfer in events');2578 }25792580 /**2581 * Get schedule for recepient of vested transfer2582 * @param address Substrate address of recipient2583 * @returns2584 */2585 async getVestingSchedules(address: TSubstrateAccount): Promise<{ start: bigint, period: bigint, periodCount: bigint, perPeriod: bigint }[]> {2586 const schedule = (await this.helper.callRpc('api.query.vesting.vestingSchedules', [address])).toJSON();2587 return schedule.map((schedule: any) => ({2588 start: BigInt(schedule.start),2589 period: BigInt(schedule.period),2590 periodCount: BigInt(schedule.periodCount),2591 perPeriod: BigInt(schedule.perPeriod),2592 }));2593 }25942595 /**2596 * Claim vested tokens2597 * @param signer signers Keyring2598 */2599 async claim(signer: TSigner) {2600 const result = await this.helper.executeExtrinsic(signer, 'api.tx.vesting.claim', []);2601 const event = result.result.events2602 .find(e => e.event.section === 'vesting' &&2603 e.event.method === 'Claimed' &&2604 e.event.data[0].toHuman() === signer.address);2605 if(!event) throw Error('Cannot find claim in events');2606 }2607}26082609class AddressGroup extends HelperGroup<ChainHelperBase> {2610 /**2611 * Normalizes the address to the specified ss58 format, by default ```42```.2612 * @param address substrate address2613 * @param ss58Format format for address conversion, by default ```42```2614 * @example normalizeSubstrate("unjKJQJrRd238pkUZZvzDQrfKuM39zBSnQ5zjAGAGcdRhaJTx") // returns 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY2615 * @returns substrate address converted to normalized (i.e., starting with 5) or specified explicitly representation2616 */2617 normalizeSubstrate(address: TSubstrateAccount, ss58Format = 42): TSubstrateAccount {2618 return CrossAccountId.normalizeSubstrateAddress(address, ss58Format);2619 }26202621 /**2622 * Get address in the connected chain format2623 * @param address substrate address2624 * @example normalizeSubstrateToChainFormat("5GrwvaEF5zXb26Fz...") // returns unjKJQJrRd238pkUZZ... for Unique Network2625 * @returns address in chain format2626 */2627 normalizeSubstrateToChainFormat(address: TSubstrateAccount): TSubstrateAccount {2628 return this.normalizeSubstrate(address, this.helper.chain.getChainProperties().ss58Format);2629 }26302631 /**2632 * Get substrate mirror of an ethereum address2633 * @param ethAddress ethereum address2634 * @param toChainFormat false for normalized account2635 * @example ethToSubstrate('0x9F0583DbB855d...')2636 * @returns substrate mirror of a provided ethereum address2637 */2638 ethToSubstrate(ethAddress: TEthereumAccount, toChainFormat = false): TSubstrateAccount {2639 return CrossAccountId.translateEthToSub(ethAddress, toChainFormat ? this.helper.chain.getChainProperties().ss58Format : undefined);2640 }26412642 /**2643 * Get ethereum mirror of a substrate address2644 * @param subAddress substrate account2645 * @example substrateToEth("5DnSF6RRjwteE3BrC...")2646 * @returns ethereum mirror of a provided substrate address2647 */2648 substrateToEth(subAddress: TSubstrateAccount): TEthereumAccount {2649 return CrossAccountId.translateSubToEth(subAddress);2650 }26512652 /**2653 * Encode key to substrate address2654 * @param key key for encoding address2655 * @param ss58Format prefix for encoding to the address of the corresponding network2656 * @returns encoded substrate address2657 */2658 encodeSubstrateAddress(key: Uint8Array | string | bigint, ss58Format = 42): string {2659 const u8a: Uint8Array = typeof key === 'string'2660 ? hexToU8a(key)2661 : typeof key === 'bigint'2662 ? hexToU8a(key.toString(16))2663 : key;26642665 if(ss58Format < 0 || ss58Format > 16383 || [46, 47].includes(ss58Format)) {2666 throw new Error(`ss58Format is not valid, received ${typeofss58Format} "${ss58Format}"`);2667 }26682669 const allowedDecodedLengths = [1, 2, 4, 8, 32, 33];2670 if(!allowedDecodedLengths.includes(u8a.length)) {2671 throw new Error(`key length is not valid, received ${u8a.length}, valid values are ${allowedDecodedLengths.join(', ')}`);2672 }26732674 const u8aPrefix = ss58Format < 642675 ? new Uint8Array([ss58Format])2676 : new Uint8Array([2677 ((ss58Format & 0xfc) >> 2) | 0x40,2678 (ss58Format >> 8) | ((ss58Format & 0x03) << 6),2679 ]);26802681 const input = u8aConcat(u8aPrefix, u8a);26822683 return base58Encode(u8aConcat(2684 input,2685 blake2AsU8a(input).subarray(0, [32, 33].includes(u8a.length) ? 2 : 1),2686 ));2687 }26882689 /**2690 * Restore substrate address from bigint representation2691 * @param number decimal representation of substrate address2692 * @returns substrate address2693 */2694 restoreCrossAccountFromBigInt(number: bigint): TSubstrateAccount {2695 if(this.helper.api === null) {2696 throw 'Not connected';2697 }2698 const res = this.helper.api.registry.createType('AccountId', '0x' + number.toString(16).padStart(64, '0')).toJSON();2699 if(res === undefined || res === null) {2700 throw 'Restore address error';2701 }2702 return res.toString();2703 }27042705 /**2706 * Convert etherium cross account id to substrate cross account id2707 * @param ethCrossAccount etherium cross account2708 * @returns substrate cross account id2709 */2710 convertCrossAccountFromEthCrossAccount(ethCrossAccount: IEthCrossAccountId): ICrossAccountId {2711 if(ethCrossAccount.sub === '0') {2712 return {Ethereum: ethCrossAccount.eth.toLocaleLowerCase()};2713 }27142715 const ss58 = this.restoreCrossAccountFromBigInt(BigInt(ethCrossAccount.sub));2716 return {Substrate: ss58};2717 }27182719 paraSiblingSovereignAccount(paraid: number) {2720 // We are getting a *sibling* parachain sovereign account,2721 // so we need a sibling prefix: encoded(b"sibl") == 0x7369626c2722 const siblingPrefix = '0x7369626c';27232724 const encodedParaId = this.helper.getApi().createType('u32', paraid).toHex(true).substring(2);2725 const suffix = '000000000000000000000000000000000000000000000000';27262727 return siblingPrefix + encodedParaId + suffix;2728 }2729}27302731class StakingGroup extends HelperGroup<UniqueHelper> {2732 /**2733 * Stake tokens for App Promotion2734 * @param signer keyring of signer2735 * @param amountToStake amount of tokens to stake2736 * @param label extra label for log2737 * @returns2738 */2739 async stake(signer: TSigner, amountToStake: bigint, label?: string): Promise<boolean> {2740 if(typeof label === 'undefined') label = `${signer.address} amount: ${amountToStake}`;2741 const _stakeResult = await this.helper.executeExtrinsic(2742 signer, 'api.tx.appPromotion.stake',2743 [amountToStake], true,2744 );2745 // TODO extract info from stakeResult2746 return true;2747 }27482749 /**2750 * Unstake all staked tokens2751 * @param signer keyring of signer2752 * @param amountToUnstake amount of tokens to unstake2753 * @param label extra label for log2754 * @returns block hash where unstake happened2755 */2756 async unstakeAll(signer: TSigner, label?: string): Promise<string> {2757 if(typeof label === 'undefined') label = `${signer.address}`;2758 const unstakeResult = await this.helper.executeExtrinsic(2759 signer, 'api.tx.appPromotion.unstakeAll',2760 [], true,2761 );2762 return unstakeResult.blockHash;2763 }27642765 /**2766 * Unstake the part of a staked tokens2767 * @param signer keyring of signer2768 * @param amount amount of tokens to unstake2769 * @param label extra label for log2770 * @returns block hash where unstake happened2771 */2772 async unstakePartial(signer: TSigner, amount: bigint, label?: string): Promise<string> {2773 if(typeof label === 'undefined') label = `${signer.address}`;2774 const unstakeResult = await this.helper.executeExtrinsic(2775 signer, 'api.tx.appPromotion.unstakePartial',2776 [amount], true,2777 );2778 return unstakeResult.blockHash;2779 }27802781 /**2782 * Get total number of active stakes2783 * @param address substrate address2784 * @returns {number}2785 */2786 async getStakesNumber(address: ICrossAccountId): Promise<number> {2787 if('Ethereum' in address) throw Error('only substrate address');2788 return (await this.helper.callRpc('api.query.appPromotion.stakesPerAccount', [address.Substrate])).toNumber();2789 }27902791 /**2792 * Get total staked amount for address2793 * @param address substrate or ethereum address2794 * @returns total staked amount2795 */2796 async getTotalStaked(address?: ICrossAccountId): Promise<bigint> {2797 if(address) return (await this.helper.callRpc('api.rpc.appPromotion.totalStaked', [address])).toBigInt();2798 return (await this.helper.callRpc('api.rpc.appPromotion.totalStaked')).toBigInt();2799 }28002801 /**2802 * Get total staked per block2803 * @param address substrate or ethereum address2804 * @returns array of stakes. `block` – the number of the block in which the stake was made. `amount` - the number of tokens staked in the block2805 */2806 async getTotalStakedPerBlock(address: ICrossAccountId): Promise<IStakingInfo[]> {2807 const rawTotalStakerdPerBlock = await this.helper.callRpc('api.rpc.appPromotion.totalStakedPerBlock', [address]);2808 return rawTotalStakerdPerBlock.map(([block, amount]: any[]) => ({2809 block: block.toBigInt(),2810 amount: amount.toBigInt(),2811 }));2812 }28132814 /**2815 * Get total pending unstake amount for address2816 * @param address substrate or ethereum address2817 * @returns total pending unstake amount2818 */2819 async getPendingUnstake(address: ICrossAccountId): Promise<bigint> {2820 return (await this.helper.callRpc('api.rpc.appPromotion.pendingUnstake', [address])).toBigInt();2821 }28222823 /**2824 * Get pending unstake amount per block for address2825 * @param address substrate or ethereum address2826 * @returns array of pending stakes. `block` – the number of the block in which the unstake was made. `amount` - the number of tokens unstaked in the block2827 */2828 async getPendingUnstakePerBlock(address: ICrossAccountId): Promise<IStakingInfo[]> {2829 const rawUnstakedPerBlock = await this.helper.callRpc('api.rpc.appPromotion.pendingUnstakePerBlock', [address]);2830 const result = rawUnstakedPerBlock.map(([block, amount]: any[]) => ({2831 block: block.toBigInt(),2832 amount: amount.toBigInt(),2833 }));2834 return result;2835 }2836}28372838class SchedulerGroup extends HelperGroup<UniqueHelper> {2839 constructor(helper: UniqueHelper) {2840 super(helper);2841 }28422843 cancelScheduled(signer: TSigner, scheduledId: string) {2844 return this.helper.executeExtrinsic(2845 signer,2846 'api.tx.scheduler.cancelNamed',2847 [scheduledId],2848 true,2849 );2850 }28512852 changePriority(signer: TSigner, scheduledId: string, priority: number) {2853 return this.helper.executeExtrinsic(2854 signer,2855 'api.tx.scheduler.changeNamedPriority',2856 [scheduledId, priority],2857 true,2858 );2859 }28602861 scheduleAt<T extends UniqueHelper>(2862 executionBlockNumber: number,2863 options: ISchedulerOptions = {},2864 ) {2865 return this.schedule<T>('schedule', executionBlockNumber, options);2866 }28672868 scheduleAfter<T extends UniqueHelper>(2869 blocksBeforeExecution: number,2870 options: ISchedulerOptions = {},2871 ) {2872 return this.schedule<T>('scheduleAfter', blocksBeforeExecution, options);2873 }28742875 schedule<T extends UniqueHelper>(2876 scheduleFn: 'schedule' | 'scheduleAfter',2877 blocksNum: number,2878 options: ISchedulerOptions = {},2879 ) {2880 // eslint-disable-next-line @typescript-eslint/naming-convention2881 const ScheduledHelperType = ScheduledUniqueHelper(this.helper.helperBase);2882 return this.helper.clone(ScheduledHelperType, {2883 scheduleFn,2884 blocksNum,2885 options,2886 }) as T;2887 }2888}28892890class CollatorSelectionGroup extends HelperGroup<UniqueHelper> {2891 //todo:collator documentation2892 addInvulnerable(signer: TSigner, address: string) {2893 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.addInvulnerable', [address]);2894 }28952896 removeInvulnerable(signer: TSigner, address: string) {2897 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.removeInvulnerable', [address]);2898 }28992900 async getInvulnerables(): Promise<string[]> {2901 return (await this.helper.callRpc('api.query.collatorSelection.invulnerables')).map((x: any) => x.toHuman());2902 }29032904 /** and also total max invulnerables */2905 maxCollators(): number {2906 return (this.helper.getApi().consts.configuration.defaultCollatorSelectionMaxCollators.toJSON() as number);2907 }29082909 async getDesiredCollators(): Promise<number> {2910 return (await this.helper.callRpc('api.query.configuration.collatorSelectionDesiredCollatorsOverride')).toNumber();2911 }29122913 setLicenseBond(signer: TSigner, amount: bigint) {2914 return this.helper.executeExtrinsic(signer, 'api.tx.configuration.setCollatorSelectionLicenseBond', [amount]);2915 }29162917 async getLicenseBond(): Promise<bigint> {2918 return (await this.helper.callRpc('api.query.configuration.collatorSelectionLicenseBondOverride')).toBigInt();2919 }29202921 obtainLicense(signer: TSigner) {2922 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.getLicense', []);2923 }29242925 releaseLicense(signer: TSigner) {2926 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.releaseLicense', []);2927 }29282929 forceReleaseLicense(signer: TSigner, released: string) {2930 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.forceReleaseLicense', [released]);2931 }29322933 async hasLicense(address: string): Promise<bigint> {2934 return (await this.helper.callRpc('api.query.collatorSelection.licenseDepositOf', [address])).toBigInt();2935 }29362937 onboard(signer: TSigner) {2938 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.onboard', []);2939 }29402941 offboard(signer: TSigner) {2942 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.offboard', []);2943 }29442945 async getCandidates(): Promise<string[]> {2946 return (await this.helper.callRpc('api.query.collatorSelection.candidates')).map((x: any) => x.toHuman());2947 }2948}29492950class PreimageGroup extends HelperGroup<UniqueHelper> {2951 async getPreimageInfo(h256: string) {2952 return (await this.helper.callRpc('api.query.preimage.statusFor', [h256])).toJSON();2953 }29542955 /**2956 * Create a preimage with a hex or a byte array.2957 * @param signer keyring of the signer.2958 * @param bytes preimage encoded in hex or a byte array, e.g. an extrinsic call.2959 * @example await notePreimage(preimageMaker,2960 * helper.constructApiCall('api.tx.identity.forceInsertIdentities', [identitiesToAdd]).method.toHex()2961 * );2962 * @returns promise of extrinsic execution.2963 */2964 notePreimage(signer: TSigner, bytes: string | Uint8Array) {2965 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.notePreimage', [bytes]);2966 }29672968 /**2969 * Delete an existing preimage and return the deposit.2970 * @param signer keyring of the signer - either the owner or the preimage manager (sudo).2971 * @param h256 hash of the preimage.2972 * @returns promise of extrinsic execution.2973 */2974 unnotePreimage(signer: TSigner, h256: string) {2975 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.unnotePreimage', [h256]);2976 }29772978 /**2979 * Request a preimage be uploaded to the chain without paying any fees or deposits.2980 * @param signer keyring of the signer - either the owner or the preimage manager (sudo).2981 * @param h256 hash of the preimage.2982 * @returns promise of extrinsic execution.2983 */2984 requestPreimage(signer: TSigner, h256: string) {2985 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.requestPreimage', [h256]);2986 }29872988 /**2989 * Clear a previously made request for a preimage.2990 * @param signer keyring of the signer - either the owner or the preimage manager (sudo).2991 * @param h256 hash of the preimage.2992 * @returns promise of extrinsic execution.2993 */2994 unrequestPreimage(signer: TSigner, h256: string) {2995 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.unrequestPreimage', [h256]);2996 }2997}29982999class ForeignAssetsGroup extends HelperGroup<UniqueHelper> {3000 async register(signer: TSigner, ownerAddress: TSubstrateAccount, location: any, metadata: IForeignAssetMetadata) {3001 await this.helper.executeExtrinsic(3002 signer,3003 'api.tx.foreignAssets.registerForeignAsset',3004 [ownerAddress, location, metadata],3005 true,3006 );3007 }30083009 async update(signer: TSigner, foreignAssetId: number, location: any, metadata: IForeignAssetMetadata) {3010 await this.helper.executeExtrinsic(3011 signer,3012 'api.tx.foreignAssets.updateForeignAsset',3013 [foreignAssetId, location, metadata],3014 true,3015 );3016 }3017}30183019class XcmGroup<T extends ChainHelperBase> extends HelperGroup<T> {3020 palletName: string;30213022 constructor(helper: T, palletName: string) {3023 super(helper);30243025 this.palletName = palletName;3026 }30273028 async limitedReserveTransferAssets(signer: TSigner, destination: any, beneficiary: any, assets: any, feeAssetItem: number, weightLimit: any) {3029 await this.helper.executeExtrinsic(signer, `api.tx.${this.palletName}.limitedReserveTransferAssets`, [destination, beneficiary, assets, feeAssetItem, weightLimit], true);3030 }30313032 async setSafeXcmVersion(signer: TSigner, version: number) {3033 await this.helper.executeExtrinsic(signer, `api.tx.${this.palletName}.forceDefaultXcmVersion`, [version], true);3034 }30353036 async teleportAssets(signer: TSigner, destination: any, beneficiary: any, assets: any, feeAssetItem: number) {3037 await this.helper.executeExtrinsic(signer, `api.tx.${this.palletName}.teleportAssets`, [destination, beneficiary, assets, feeAssetItem], true);3038 }30393040 async teleportNativeAsset(signer: TSigner, destinationParaId: number, targetAccount: Uint8Array, amount: bigint, xcmVersion = 3) {3041 const destinationContent = {3042 parents: 0,3043 interior: {3044 X1: {3045 Parachain: destinationParaId,3046 },3047 },3048 };30493050 const beneficiaryContent = {3051 parents: 0,3052 interior: {3053 X1: {3054 AccountId32: {3055 network: 'Any',3056 id: targetAccount,3057 },3058 },3059 },3060 };30613062 const assetsContent = [3063 {3064 id: {3065 Concrete: {3066 parents: 0,3067 interior: 'Here',3068 },3069 },3070 fun: {3071 Fungible: amount,3072 },3073 },3074 ];30753076 let destination;3077 let beneficiary;3078 let assets;30793080 if(xcmVersion == 2) {3081 destination = {V1: destinationContent};3082 beneficiary = {V1: beneficiaryContent};3083 assets = {V1: assetsContent};30843085 } else if(xcmVersion == 3) {3086 destination = {V2: destinationContent};3087 beneficiary = {V2: beneficiaryContent};3088 assets = {V2: assetsContent};30893090 } else {3091 throw Error('Unknown XCM version: ' + xcmVersion);3092 }30933094 const feeAssetItem = 0;30953096 await this.teleportAssets(signer, destination, beneficiary, assets, feeAssetItem);3097 }30983099 async send(signer: IKeyringPair, destination: any, message: any) {3100 await this.helper.executeExtrinsic(3101 signer,3102 `api.tx.${this.palletName}.send`,3103 [3104 destination,3105 message,3106 ],3107 true,3108 );3109 }3110}31113112class XTokensGroup<T extends ChainHelperBase> extends HelperGroup<T> {3113 async transfer(signer: TSigner, currencyId: any, amount: bigint, destination: any, destWeight: any) {3114 await this.helper.executeExtrinsic(signer, 'api.tx.xTokens.transfer', [currencyId, amount, destination, destWeight], true);3115 }31163117 async transferMultiasset(signer: TSigner, asset: any, destination: any, destWeight: any) {3118 await this.helper.executeExtrinsic(signer, 'api.tx.xTokens.transferMultiasset', [asset, destination, destWeight], true);3119 }31203121 async transferMulticurrencies(signer: TSigner, currencies: any[], feeItem: number, destLocation: any, destWeight: any) {3122 await this.helper.executeExtrinsic(signer, 'api.tx.xTokens.transferMulticurrencies', [currencies, feeItem, destLocation, destWeight], true);3123 }3124}31253126class TokensGroup<T extends ChainHelperBase> extends HelperGroup<T> {3127 async accounts(address: string, currencyId: any) {3128 const {free} = (await this.helper.callRpc('api.query.tokens.accounts', [address, currencyId])).toJSON() as any;3129 return BigInt(free);3130 }3131}31323133class AssetsGroup<T extends ChainHelperBase> extends HelperGroup<T> {3134 async create(signer: TSigner, assetId: number, admin: string, minimalBalance: bigint) {3135 await this.helper.executeExtrinsic(signer, 'api.tx.assets.create', [assetId, admin, minimalBalance], true);3136 }31373138 async setMetadata(signer: TSigner, assetId: number, name: string, symbol: string, decimals: number) {3139 await this.helper.executeExtrinsic(signer, 'api.tx.assets.setMetadata', [assetId, name, symbol, decimals], true);3140 }31413142 async mint(signer: TSigner, assetId: number, beneficiary: string, amount: bigint) {3143 await this.helper.executeExtrinsic(signer, 'api.tx.assets.mint', [assetId, beneficiary, amount], true);3144 }31453146 async account(assetId: string | number, address: string) {3147 const accountAsset = (3148 await this.helper.callRpc('api.query.assets.account', [assetId, address])3149 ).toJSON()! as any;31503151 if(accountAsset !== null) {3152 return BigInt(accountAsset['balance']);3153 } else {3154 return null;3155 }3156 }3157}31583159class AcalaAssetRegistryGroup extends HelperGroup<AcalaHelper> {3160 async registerForeignAsset(signer: TSigner, destination: any, metadata: AcalaAssetMetadata) {3161 await this.helper.executeExtrinsic(signer, 'api.tx.assetRegistry.registerForeignAsset', [destination, metadata], true);3162 }3163}31643165class MoonbeamAssetManagerGroup extends HelperGroup<MoonbeamHelper> {3166 makeRegisterForeignAssetProposal(assetInfo: MoonbeamAssetInfo) {3167 const apiPrefix = 'api.tx.assetManager.';31683169 const registerTx = this.helper.constructApiCall(3170 apiPrefix + 'registerForeignAsset',3171 [assetInfo.location, assetInfo.metadata, assetInfo.existentialDeposit, assetInfo.isSufficient],3172 );31733174 const setUnitsTx = this.helper.constructApiCall(3175 apiPrefix + 'setAssetUnitsPerSecond',3176 [assetInfo.location, assetInfo.unitsPerSecond, assetInfo.numAssetsWeightHint],3177 );31783179 const batchCall = this.helper.getApi().tx.utility.batchAll([registerTx, setUnitsTx]);3180 const encodedProposal = batchCall?.method.toHex() || '';3181 return encodedProposal;3182 }31833184 async assetTypeId(location: any) {3185 return await this.helper.callRpc('api.query.assetManager.assetTypeId', [location]);3186 }3187}31883189class MoonbeamDemocracyGroup extends HelperGroup<MoonbeamHelper> {3190 notePreimagePallet: string;31913192 constructor(helper: MoonbeamHelper, options: { [key: string]: any } = {}) {3193 super(helper);3194 this.notePreimagePallet = options.notePreimagePallet;3195 }31963197 async notePreimage(signer: TSigner, encodedProposal: string) {3198 await this.helper.executeExtrinsic(signer, `api.tx.${this.notePreimagePallet}.notePreimage`, [encodedProposal], true);3199 }32003201 externalProposeMajority(proposal: any) {3202 return this.helper.constructApiCall('api.tx.democracy.externalProposeMajority', [proposal]);3203 }32043205 fastTrack(proposalHash: string, votingPeriod: number, delayPeriod: number) {3206 return this.helper.constructApiCall('api.tx.democracy.fastTrack', [proposalHash, votingPeriod, delayPeriod]);3207 }32083209 async referendumVote(signer: TSigner, referendumIndex: number, accountVote: DemocracyStandardAccountVote) {3210 await this.helper.executeExtrinsic(signer, 'api.tx.democracy.vote', [referendumIndex, {Standard: accountVote}], true);3211 }3212}32133214class MoonbeamCollectiveGroup extends HelperGroup<MoonbeamHelper> {3215 collective: string;32163217 constructor(helper: MoonbeamHelper, collective: string) {3218 super(helper);32193220 this.collective = collective;3221 }32223223 async propose(signer: TSigner, threshold: number, proposalHash: string, lengthBound: number) {3224 await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.propose`, [threshold, proposalHash, lengthBound], true);3225 }32263227 async vote(signer: TSigner, proposalHash: string, proposalIndex: number, approve: boolean) {3228 await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.vote`, [proposalHash, proposalIndex, approve], true);3229 }32303231 async close(signer: TSigner, proposalHash: string, proposalIndex: number, weightBound: any, lengthBound: number) {3232 await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.close`, [proposalHash, proposalIndex, weightBound, lengthBound], true);3233 }32343235 async proposalCount() {3236 return Number(await this.helper.callRpc(`api.query.${this.collective}.proposalCount`, []));3237 }3238}32393240export type ChainHelperBaseConstructor = new (...args: any[]) => ChainHelperBase;3241export type UniqueHelperConstructor = new (...args: any[]) => UniqueHelper;32423243export class UniqueHelper extends ChainHelperBase {3244 balance: BalanceGroup<UniqueHelper>;3245 collection: CollectionGroup;3246 nft: NFTGroup;3247 rft: RFTGroup;3248 ft: FTGroup;3249 staking: StakingGroup;3250 scheduler: SchedulerGroup;3251 collatorSelection: CollatorSelectionGroup;3252 preimage: PreimageGroup;3253 foreignAssets: ForeignAssetsGroup;3254 xcm: XcmGroup<UniqueHelper>;3255 xTokens: XTokensGroup<UniqueHelper>;3256 tokens: TokensGroup<UniqueHelper>;32573258 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3259 super(logger, options.helperBase ?? UniqueHelper);32603261 this.balance = new BalanceGroup(this);3262 this.collection = new CollectionGroup(this);3263 this.nft = new NFTGroup(this);3264 this.rft = new RFTGroup(this);3265 this.ft = new FTGroup(this);3266 this.staking = new StakingGroup(this);3267 this.scheduler = new SchedulerGroup(this);3268 this.collatorSelection = new CollatorSelectionGroup(this);3269 this.preimage = new PreimageGroup(this);3270 this.foreignAssets = new ForeignAssetsGroup(this);3271 this.xcm = new XcmGroup(this, 'polkadotXcm');3272 this.xTokens = new XTokensGroup(this);3273 this.tokens = new TokensGroup(this);3274 }32753276 getSudo<T extends UniqueHelper>() {3277 // eslint-disable-next-line @typescript-eslint/naming-convention3278 const SudoHelperType = SudoHelper(this.helperBase);3279 return this.clone(SudoHelperType) as T;3280 }3281}32823283export class XcmChainHelper extends ChainHelperBase {3284 async connect(wsEndpoint: string, _listeners?: any): Promise<void> {3285 const wsProvider = new WsProvider(wsEndpoint);3286 this.api = new ApiPromise({3287 provider: wsProvider,3288 });3289 await this.api.isReadyOrError;3290 this.network = await UniqueHelper.detectNetwork(this.api);3291 }3292}32933294export class RelayHelper extends XcmChainHelper {3295 balance: SubstrateBalanceGroup<RelayHelper>;3296 xcm: XcmGroup<RelayHelper>;32973298 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3299 super(logger, options.helperBase ?? RelayHelper);33003301 this.balance = new SubstrateBalanceGroup(this);3302 this.xcm = new XcmGroup(this, 'xcmPallet');3303 }3304}33053306export class WestmintHelper extends XcmChainHelper {3307 balance: SubstrateBalanceGroup<WestmintHelper>;3308 xcm: XcmGroup<WestmintHelper>;3309 assets: AssetsGroup<WestmintHelper>;3310 xTokens: XTokensGroup<WestmintHelper>;33113312 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3313 super(logger, options.helperBase ?? WestmintHelper);33143315 this.balance = new SubstrateBalanceGroup(this);3316 this.xcm = new XcmGroup(this, 'polkadotXcm');3317 this.assets = new AssetsGroup(this);3318 this.xTokens = new XTokensGroup(this);3319 }3320}33213322export class MoonbeamHelper extends XcmChainHelper {3323 balance: EthereumBalanceGroup<MoonbeamHelper>;3324 assetManager: MoonbeamAssetManagerGroup;3325 assets: AssetsGroup<MoonbeamHelper>;3326 xTokens: XTokensGroup<MoonbeamHelper>;3327 democracy: MoonbeamDemocracyGroup;3328 collective: {3329 council: MoonbeamCollectiveGroup,3330 techCommittee: MoonbeamCollectiveGroup,3331 };33323333 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3334 super(logger, options.helperBase ?? MoonbeamHelper);33353336 this.balance = new EthereumBalanceGroup(this);3337 this.assetManager = new MoonbeamAssetManagerGroup(this);3338 this.assets = new AssetsGroup(this);3339 this.xTokens = new XTokensGroup(this);3340 this.democracy = new MoonbeamDemocracyGroup(this, options);3341 this.collective = {3342 council: new MoonbeamCollectiveGroup(this, 'councilCollective'),3343 techCommittee: new MoonbeamCollectiveGroup(this, 'techCommitteeCollective'),3344 };3345 }3346}33473348export class AstarHelper extends XcmChainHelper {3349 balance: SubstrateBalanceGroup<AstarHelper>;3350 assets: AssetsGroup<AstarHelper>;3351 xcm: XcmGroup<AstarHelper>;33523353 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3354 super(logger, options.helperBase ?? AstarHelper);33553356 this.balance = new SubstrateBalanceGroup(this);3357 this.assets = new AssetsGroup(this);3358 this.xcm = new XcmGroup(this, 'polkadotXcm');3359 }33603361 getSudo<T extends UniqueHelper>() {3362 // eslint-disable-next-line @typescript-eslint/naming-convention3363 const SudoHelperType = SudoHelper(this.helperBase);3364 return this.clone(SudoHelperType) as T;3365 }3366}33673368export class AcalaHelper extends XcmChainHelper {3369 balance: SubstrateBalanceGroup<AcalaHelper>;3370 assetRegistry: AcalaAssetRegistryGroup;3371 xTokens: XTokensGroup<AcalaHelper>;3372 tokens: TokensGroup<AcalaHelper>;3373 xcm: XcmGroup<AcalaHelper>;33743375 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3376 super(logger, options.helperBase ?? AcalaHelper);33773378 this.balance = new SubstrateBalanceGroup(this);3379 this.assetRegistry = new AcalaAssetRegistryGroup(this);3380 this.xTokens = new XTokensGroup(this);3381 this.tokens = new TokensGroup(this);3382 this.xcm = new XcmGroup(this, 'polkadotXcm');3383 }33843385 getSudo<T extends AcalaHelper>() {3386 // eslint-disable-next-line @typescript-eslint/naming-convention3387 const SudoHelperType = SudoHelper(this.helperBase);3388 return this.clone(SudoHelperType) as T;3389 }3390}33913392// eslint-disable-next-line @typescript-eslint/naming-convention3393function ScheduledUniqueHelper<T extends UniqueHelperConstructor>(Base: T) {3394 return class extends Base {3395 scheduleFn: 'schedule' | 'scheduleAfter';3396 blocksNum: number;3397 options: ISchedulerOptions;33983399 constructor(...args: any[]) {3400 const logger = args[0] as ILogger;3401 const options = args[1] as {3402 scheduleFn: 'schedule' | 'scheduleAfter',3403 blocksNum: number,3404 options: ISchedulerOptions3405 };34063407 super(logger);34083409 this.scheduleFn = options.scheduleFn;3410 this.blocksNum = options.blocksNum;3411 this.options = options.options;3412 }34133414 executeExtrinsic(sender: IKeyringPair, scheduledExtrinsic: string, scheduledParams: any[], expectSuccess?: boolean): Promise<ITransactionResult> {3415 const scheduledTx = this.constructApiCall(scheduledExtrinsic, scheduledParams);34163417 const mandatorySchedArgs = [3418 this.blocksNum,3419 this.options.periodic ? [this.options.periodic.period, this.options.periodic.repetitions] : null,3420 this.options.priority ?? null,3421 scheduledTx,3422 ];34233424 let schedArgs;3425 let scheduleFn;34263427 if(this.options.scheduledId) {3428 schedArgs = [this.options.scheduledId!, ...mandatorySchedArgs];34293430 if(this.scheduleFn == 'schedule') {3431 scheduleFn = 'scheduleNamed';3432 } else if(this.scheduleFn == 'scheduleAfter') {3433 scheduleFn = 'scheduleNamedAfter';3434 }3435 } else {3436 schedArgs = mandatorySchedArgs;3437 scheduleFn = this.scheduleFn;3438 }34393440 const extrinsic = 'api.tx.scheduler.' + scheduleFn;34413442 return super.executeExtrinsic(3443 sender,3444 extrinsic as any,3445 schedArgs,3446 expectSuccess,3447 );3448 }3449 };3450}34513452// eslint-disable-next-line @typescript-eslint/naming-convention3453function SudoHelper<T extends ChainHelperBaseConstructor>(Base: T) {3454 return class extends Base {3455 constructor(...args: any[]) {3456 super(...args);3457 }34583459 async executeExtrinsic(3460 sender: IKeyringPair,3461 extrinsic: string,3462 params: any[],3463 expectSuccess?: boolean,3464 options: Partial<SignerOptions> | null = null,3465 ): Promise<ITransactionResult> {3466 const call = this.constructApiCall(extrinsic, params);3467 const result = await super.executeExtrinsic(3468 sender,3469 'api.tx.sudo.sudo',3470 [call],3471 expectSuccess,3472 options,3473 );34743475 if(result.status === 'Fail') return result;34763477 const data = (result.result.events.find(x => x.event.section == 'sudo' && x.event.method == 'Sudid')?.event.data as any).sudoResult;3478 if(data.isErr) {3479 if(data.asErr.isModule) {3480 const error = (result.result.events[1].event.data as any).sudoResult.asErr.asModule;3481 const metaError = super.getApi()?.registry.findMetaError(error);3482 throw new Error(`${metaError.section}.${metaError.name}`);3483 } else if(data.asErr.isToken) {3484 throw new Error(`Token: ${data.asErr.asToken}`);3485 }3486 // May be [object Object] in case of unhandled non-unit enum3487 throw new Error(`Misc: ${data.asErr.toHuman()}`);3488 }3489 return result;3490 }3491 };3492}34933494export class UniqueBaseCollection {3495 helper: UniqueHelper;3496 collectionId: number;34973498 constructor(collectionId: number, uniqueHelper: UniqueHelper) {3499 this.collectionId = collectionId;3500 this.helper = uniqueHelper;3501 }35023503 async getData() {3504 return await this.helper.collection.getData(this.collectionId);3505 }35063507 async getLastTokenId() {3508 return await this.helper.collection.getLastTokenId(this.collectionId);3509 }35103511 async doesTokenExist(tokenId: number) {3512 return await this.helper.collection.doesTokenExist(this.collectionId, tokenId);3513 }35143515 async getAdmins() {3516 return await this.helper.collection.getAdmins(this.collectionId);3517 }35183519 async getAllowList() {3520 return await this.helper.collection.getAllowList(this.collectionId);3521 }35223523 async getEffectiveLimits() {3524 return await this.helper.collection.getEffectiveLimits(this.collectionId);3525 }35263527 async getProperties(propertyKeys?: string[] | null) {3528 return await this.helper.collection.getProperties(this.collectionId, propertyKeys);3529 }35303531 async getPropertiesConsumedSpace() {3532 return await this.helper.collection.getPropertiesConsumedSpace(this.collectionId);3533 }35343535 async getTokenNextSponsored(tokenId: number, addressObj: ICrossAccountId) {3536 return await this.helper.collection.getTokenNextSponsored(this.collectionId, tokenId, addressObj);3537 }35383539 async getOptions() {3540 return await this.helper.collection.getCollectionOptions(this.collectionId);3541 }35423543 async setSponsor(signer: TSigner, sponsorAddress: TSubstrateAccount) {3544 return await this.helper.collection.setSponsor(signer, this.collectionId, sponsorAddress);3545 }35463547 async confirmSponsorship(signer: TSigner) {3548 return await this.helper.collection.confirmSponsorship(signer, this.collectionId);3549 }35503551 async removeSponsor(signer: TSigner) {3552 return await this.helper.collection.removeSponsor(signer, this.collectionId);3553 }35543555 async setLimits(signer: TSigner, limits: ICollectionLimits) {3556 return await this.helper.collection.setLimits(signer, this.collectionId, limits);3557 }35583559 async changeOwner(signer: TSigner, ownerAddress: TSubstrateAccount) {3560 return await this.helper.collection.changeOwner(signer, this.collectionId, ownerAddress);3561 }35623563 async addAdmin(signer: TSigner, adminAddressObj: ICrossAccountId) {3564 return await this.helper.collection.addAdmin(signer, this.collectionId, adminAddressObj);3565 }35663567 async addToAllowList(signer: TSigner, addressObj: ICrossAccountId) {3568 return await this.helper.collection.addToAllowList(signer, this.collectionId, addressObj);3569 }35703571 async removeFromAllowList(signer: TSigner, addressObj: ICrossAccountId) {3572 return await this.helper.collection.removeFromAllowList(signer, this.collectionId, addressObj);3573 }35743575 async removeAdmin(signer: TSigner, adminAddressObj: ICrossAccountId) {3576 return await this.helper.collection.removeAdmin(signer, this.collectionId, adminAddressObj);3577 }35783579 async setProperties(signer: TSigner, properties: IProperty[]) {3580 return await this.helper.collection.setProperties(signer, this.collectionId, properties);3581 }35823583 async deleteProperties(signer: TSigner, propertyKeys: string[]) {3584 return await this.helper.collection.deleteProperties(signer, this.collectionId, propertyKeys);3585 }35863587 async setPermissions(signer: TSigner, permissions: ICollectionPermissions) {3588 return await this.helper.collection.setPermissions(signer, this.collectionId, permissions);3589 }35903591 async enableNesting(signer: TSigner, permissions: INestingPermissions) {3592 return await this.helper.collection.enableNesting(signer, this.collectionId, permissions);3593 }35943595 async disableNesting(signer: TSigner) {3596 return await this.helper.collection.disableNesting(signer, this.collectionId);3597 }35983599 async burn(signer: TSigner) {3600 return await this.helper.collection.burn(signer, this.collectionId);3601 }36023603 scheduleAt<T extends UniqueHelper>(3604 executionBlockNumber: number,3605 options: ISchedulerOptions = {},3606 ) {3607 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3608 return new UniqueBaseCollection(this.collectionId, scheduledHelper);3609 }36103611 scheduleAfter<T extends UniqueHelper>(3612 blocksBeforeExecution: number,3613 options: ISchedulerOptions = {},3614 ) {3615 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3616 return new UniqueBaseCollection(this.collectionId, scheduledHelper);3617 }36183619 getSudo<T extends UniqueHelper>() {3620 return new UniqueBaseCollection(this.collectionId, this.helper.getSudo<T>());3621 }3622}362336243625export class UniqueNFTCollection extends UniqueBaseCollection {3626 getTokenObject(tokenId: number) {3627 return new UniqueNFToken(tokenId, this);3628 }36293630 async getTokensByAddress(addressObj: ICrossAccountId) {3631 return await this.helper.nft.getTokensByAddress(this.collectionId, addressObj);3632 }36333634 async getToken(tokenId: number, blockHashAt?: string) {3635 return await this.helper.nft.getToken(this.collectionId, tokenId, [], blockHashAt);3636 }36373638 async getTokenOwner(tokenId: number, blockHashAt?: string) {3639 return await this.helper.nft.getTokenOwner(this.collectionId, tokenId, blockHashAt);3640 }36413642 async getTokenTopmostOwner(tokenId: number, blockHashAt?: string) {3643 return await this.helper.nft.getTokenTopmostOwner(this.collectionId, tokenId, blockHashAt);3644 }36453646 async getTokenChildren(tokenId: number, blockHashAt?: string) {3647 return await this.helper.nft.getTokenChildren(this.collectionId, tokenId, blockHashAt);3648 }36493650 async getPropertyPermissions(propertyKeys: string[] | null = null) {3651 return await this.helper.nft.getPropertyPermissions(this.collectionId, propertyKeys);3652 }36533654 async getTokenProperties(tokenId: number, propertyKeys?: string[] | null) {3655 return await this.helper.nft.getTokenProperties(this.collectionId, tokenId, propertyKeys);3656 }36573658 async getTokenPropertiesConsumedSpace(tokenId: number): Promise<number> {3659 const api = this.helper.getApi();3660 const props = (await api.query.nonfungible.tokenProperties(this.collectionId, tokenId)).toJSON();36613662 return (props! as any).consumedSpace;3663 }36643665 async transferToken(signer: TSigner, tokenId: number, addressObj: ICrossAccountId) {3666 return await this.helper.nft.transferToken(signer, this.collectionId, tokenId, addressObj);3667 }36683669 async transferTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {3670 return await this.helper.nft.transferTokenFrom(signer, this.collectionId, tokenId, fromAddressObj, toAddressObj);3671 }36723673 async approveToken(signer: TSigner, tokenId: number, toAddressObj: ICrossAccountId) {3674 return await this.helper.nft.approveToken(signer, this.collectionId, tokenId, toAddressObj);3675 }36763677 async isTokenApproved(tokenId: number, toAddressObj: ICrossAccountId) {3678 return await this.helper.nft.isTokenApproved(this.collectionId, tokenId, toAddressObj);3679 }36803681 async mintToken(signer: TSigner, owner: ICrossAccountId = {Substrate: signer.address}, properties?: IProperty[]) {3682 return await this.helper.nft.mintToken(signer, {collectionId: this.collectionId, owner, properties});3683 }36843685 async mintMultipleTokens(signer: TSigner, tokens: { owner: ICrossAccountId, properties?: IProperty[] }[]) {3686 return await this.helper.nft.mintMultipleTokens(signer, this.collectionId, tokens);3687 }36883689 async burnToken(signer: TSigner, tokenId: number) {3690 return await this.helper.nft.burnToken(signer, this.collectionId, tokenId);3691 }36923693 async burnTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId) {3694 return await this.helper.nft.burnTokenFrom(signer, this.collectionId, tokenId, fromAddressObj);3695 }36963697 async setTokenProperties(signer: TSigner, tokenId: number, properties: IProperty[]) {3698 return await this.helper.nft.setTokenProperties(signer, this.collectionId, tokenId, properties);3699 }37003701 async deleteTokenProperties(signer: TSigner, tokenId: number, propertyKeys: string[]) {3702 return await this.helper.nft.deleteTokenProperties(signer, this.collectionId, tokenId, propertyKeys);3703 }37043705 async setTokenPropertyPermissions(signer: TSigner, permissions: ITokenPropertyPermission[]) {3706 return await this.helper.nft.setTokenPropertyPermissions(signer, this.collectionId, permissions);3707 }37083709 async nestToken(signer: TSigner, tokenId: number, toTokenObj: IToken) {3710 return await this.helper.nft.nestToken(signer, {collectionId: this.collectionId, tokenId}, toTokenObj);3711 }37123713 async unnestToken(signer: TSigner, tokenId: number, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {3714 return await this.helper.nft.unnestToken(signer, {collectionId: this.collectionId, tokenId}, fromTokenObj, toAddressObj);3715 }37163717 scheduleAt<T extends UniqueHelper>(3718 executionBlockNumber: number,3719 options: ISchedulerOptions = {},3720 ) {3721 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3722 return new UniqueNFTCollection(this.collectionId, scheduledHelper);3723 }37243725 scheduleAfter<T extends UniqueHelper>(3726 blocksBeforeExecution: number,3727 options: ISchedulerOptions = {},3728 ) {3729 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3730 return new UniqueNFTCollection(this.collectionId, scheduledHelper);3731 }37323733 getSudo<T extends UniqueHelper>() {3734 return new UniqueNFTCollection(this.collectionId, this.helper.getSudo<T>());3735 }3736}373737383739export class UniqueRFTCollection extends UniqueBaseCollection {3740 getTokenObject(tokenId: number) {3741 return new UniqueRFToken(tokenId, this);3742 }37433744 async getToken(tokenId: number, blockHashAt?: string) {3745 return await this.helper.rft.getToken(this.collectionId, tokenId, [], blockHashAt);3746 }37473748 async getTokenOwner(tokenId: number, blockHashAt?: string) {3749 return await this.helper.rft.getTokenOwner(this.collectionId, tokenId, blockHashAt);3750 }37513752 async getTokensByAddress(addressObj: ICrossAccountId) {3753 return await this.helper.rft.getTokensByAddress(this.collectionId, addressObj);3754 }37553756 async getTop10TokenOwners(tokenId: number) {3757 return await this.helper.rft.getTokenTop10Owners(this.collectionId, tokenId);3758 }37593760 async getTokenTopmostOwner(tokenId: number, blockHashAt?: string) {3761 return await this.helper.rft.getTokenTopmostOwner(this.collectionId, tokenId, blockHashAt);3762 }37633764 async getTokenBalance(tokenId: number, addressObj: ICrossAccountId) {3765 return await this.helper.rft.getTokenBalance(this.collectionId, tokenId, addressObj);3766 }37673768 async getTokenTotalPieces(tokenId: number) {3769 return await this.helper.rft.getTokenTotalPieces(this.collectionId, tokenId);3770 }37713772 async getTokenApprovedPieces(tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {3773 return await this.helper.rft.getTokenApprovedPieces(this.collectionId, tokenId, toAddressObj, fromAddressObj);3774 }37753776 async getPropertyPermissions(propertyKeys: string[] | null = null) {3777 return await this.helper.rft.getPropertyPermissions(this.collectionId, propertyKeys);3778 }37793780 async getTokenProperties(tokenId: number, propertyKeys?: string[] | null) {3781 return await this.helper.rft.getTokenProperties(this.collectionId, tokenId, propertyKeys);3782 }37833784 async getTokenPropertiesConsumedSpace(tokenId: number): Promise<number> {3785 const api = this.helper.getApi();3786 const props = (await api.query.refungible.tokenProperties(this.collectionId, tokenId)).toJSON();37873788 return (props! as any).consumedSpace;3789 }37903791 async transferToken(signer: TSigner, tokenId: number, addressObj: ICrossAccountId, amount = 1n) {3792 return await this.helper.rft.transferToken(signer, this.collectionId, tokenId, addressObj, amount);3793 }37943795 async transferTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {3796 return await this.helper.rft.transferTokenFrom(signer, this.collectionId, tokenId, fromAddressObj, toAddressObj, amount);3797 }37983799 async approveToken(signer: TSigner, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {3800 return await this.helper.rft.approveToken(signer, this.collectionId, tokenId, toAddressObj, amount);3801 }38023803 async repartitionToken(signer: TSigner, tokenId: number, amount: bigint) {3804 return await this.helper.rft.repartitionToken(signer, this.collectionId, tokenId, amount);3805 }38063807 async mintToken(signer: TSigner, pieces = 1n, owner: ICrossAccountId = {Substrate: signer.address}, properties?: IProperty[]) {3808 return await this.helper.rft.mintToken(signer, {collectionId: this.collectionId, owner, pieces, properties});3809 }38103811 async mintMultipleTokens(signer: TSigner, tokens: { pieces: bigint, owner: ICrossAccountId, properties?: IProperty[] }[]) {3812 return await this.helper.rft.mintMultipleTokens(signer, this.collectionId, tokens);3813 }38143815 async burnToken(signer: TSigner, tokenId: number, amount = 1n) {3816 return await this.helper.rft.burnToken(signer, this.collectionId, tokenId, amount);3817 }38183819 async burnTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId, amount = 1n) {3820 return await this.helper.rft.burnTokenFrom(signer, this.collectionId, tokenId, fromAddressObj, amount);3821 }38223823 async setTokenProperties(signer: TSigner, tokenId: number, properties: IProperty[]) {3824 return await this.helper.rft.setTokenProperties(signer, this.collectionId, tokenId, properties);3825 }38263827 async deleteTokenProperties(signer: TSigner, tokenId: number, propertyKeys: string[]) {3828 return await this.helper.rft.deleteTokenProperties(signer, this.collectionId, tokenId, propertyKeys);3829 }38303831 async setTokenPropertyPermissions(signer: TSigner, permissions: ITokenPropertyPermission[]) {3832 return await this.helper.rft.setTokenPropertyPermissions(signer, this.collectionId, permissions);3833 }38343835 async nestToken(signer: TSigner, tokenId: number, toTokenObj: IToken) {3836 return await this.helper.rft.nestToken(signer, {collectionId: this.collectionId, tokenId}, toTokenObj);3837 }38383839 async unnestToken(signer: TSigner, tokenId: number, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {3840 return await this.helper.rft.unnestToken(signer, {collectionId: this.collectionId, tokenId}, fromTokenObj, toAddressObj);3841 }38423843 scheduleAt<T extends UniqueHelper>(3844 executionBlockNumber: number,3845 options: ISchedulerOptions = {},3846 ) {3847 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3848 return new UniqueRFTCollection(this.collectionId, scheduledHelper);3849 }38503851 scheduleAfter<T extends UniqueHelper>(3852 blocksBeforeExecution: number,3853 options: ISchedulerOptions = {},3854 ) {3855 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3856 return new UniqueRFTCollection(this.collectionId, scheduledHelper);3857 }38583859 getSudo<T extends UniqueHelper>() {3860 return new UniqueRFTCollection(this.collectionId, this.helper.getSudo<T>());3861 }3862}386338643865export class UniqueFTCollection extends UniqueBaseCollection {3866 async getBalance(addressObj: ICrossAccountId) {3867 return await this.helper.ft.getBalance(this.collectionId, addressObj);3868 }38693870 async getTotalPieces() {3871 return await this.helper.ft.getTotalPieces(this.collectionId);3872 }38733874 async getApprovedTokens(fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {3875 return await this.helper.ft.getApprovedTokens(this.collectionId, fromAddressObj, toAddressObj);3876 }38773878 async getTop10Owners() {3879 return await this.helper.ft.getTop10Owners(this.collectionId);3880 }38813882 async mint(signer: TSigner, amount = 1n, owner: ICrossAccountId = {Substrate: signer.address}) {3883 return await this.helper.ft.mintTokens(signer, this.collectionId, amount, owner);3884 }38853886 async mintWithOneOwner(signer: TSigner, tokens: { value: bigint }[], owner: ICrossAccountId = {Substrate: signer.address}) {3887 return await this.helper.ft.mintMultipleTokensWithOneOwner(signer, this.collectionId, tokens, owner);3888 }38893890 async transfer(signer: TSigner, toAddressObj: ICrossAccountId, amount = 1n) {3891 return await this.helper.ft.transfer(signer, this.collectionId, toAddressObj, amount);3892 }38933894 async transferFrom(signer: TSigner, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {3895 return await this.helper.ft.transferFrom(signer, this.collectionId, fromAddressObj, toAddressObj, amount);3896 }38973898 async burnTokens(signer: TSigner, amount = 1n) {3899 return await this.helper.ft.burnTokens(signer, this.collectionId, amount);3900 }39013902 async burnTokensFrom(signer: TSigner, fromAddressObj: ICrossAccountId, amount = 1n) {3903 return await this.helper.ft.burnTokensFrom(signer, this.collectionId, fromAddressObj, amount);3904 }39053906 async approveTokens(signer: TSigner, toAddressObj: ICrossAccountId, amount = 1n) {3907 return await this.helper.ft.approveTokens(signer, this.collectionId, toAddressObj, amount);3908 }39093910 scheduleAt<T extends UniqueHelper>(3911 executionBlockNumber: number,3912 options: ISchedulerOptions = {},3913 ) {3914 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3915 return new UniqueFTCollection(this.collectionId, scheduledHelper);3916 }39173918 scheduleAfter<T extends UniqueHelper>(3919 blocksBeforeExecution: number,3920 options: ISchedulerOptions = {},3921 ) {3922 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3923 return new UniqueFTCollection(this.collectionId, scheduledHelper);3924 }39253926 getSudo<T extends UniqueHelper>() {3927 return new UniqueFTCollection(this.collectionId, this.helper.getSudo<T>());3928 }3929}393039313932export class UniqueBaseToken {3933 collection: UniqueNFTCollection | UniqueRFTCollection;3934 collectionId: number;3935 tokenId: number;39363937 constructor(tokenId: number, collection: UniqueNFTCollection | UniqueRFTCollection) {3938 this.collection = collection;3939 this.collectionId = collection.collectionId;3940 this.tokenId = tokenId;3941 }39423943 async getNextSponsored(addressObj: ICrossAccountId) {3944 return await this.collection.getTokenNextSponsored(this.tokenId, addressObj);3945 }39463947 async getProperties(propertyKeys?: string[] | null) {3948 return await this.collection.getTokenProperties(this.tokenId, propertyKeys);3949 }39503951 async getTokenPropertiesConsumedSpace() {3952 return await this.collection.getTokenPropertiesConsumedSpace(this.tokenId);3953 }39543955 async setProperties(signer: TSigner, properties: IProperty[]) {3956 return await this.collection.setTokenProperties(signer, this.tokenId, properties);3957 }39583959 async deleteProperties(signer: TSigner, propertyKeys: string[]) {3960 return await this.collection.deleteTokenProperties(signer, this.tokenId, propertyKeys);3961 }39623963 async doesExist() {3964 return await this.collection.doesTokenExist(this.tokenId);3965 }39663967 nestingAccount() {3968 return this.collection.helper.util.getTokenAccount(this);3969 }39703971 scheduleAt<T extends UniqueHelper>(3972 executionBlockNumber: number,3973 options: ISchedulerOptions = {},3974 ) {3975 const scheduledCollection = this.collection.scheduleAt<T>(executionBlockNumber, options);3976 return new UniqueBaseToken(this.tokenId, scheduledCollection);3977 }39783979 scheduleAfter<T extends UniqueHelper>(3980 blocksBeforeExecution: number,3981 options: ISchedulerOptions = {},3982 ) {3983 const scheduledCollection = this.collection.scheduleAfter<T>(blocksBeforeExecution, options);3984 return new UniqueBaseToken(this.tokenId, scheduledCollection);3985 }39863987 getSudo<T extends UniqueHelper>() {3988 return new UniqueBaseToken(this.tokenId, this.collection.getSudo<T>());3989 }3990}399139923993export class UniqueNFToken extends UniqueBaseToken {3994 collection: UniqueNFTCollection;39953996 constructor(tokenId: number, collection: UniqueNFTCollection) {3997 super(tokenId, collection);3998 this.collection = collection;3999 }40004001 async getData(blockHashAt?: string) {4002 return await this.collection.getToken(this.tokenId, blockHashAt);4003 }40044005 async getOwner(blockHashAt?: string) {4006 return await this.collection.getTokenOwner(this.tokenId, blockHashAt);4007 }40084009 async getTopmostOwner(blockHashAt?: string) {4010 return await this.collection.getTokenTopmostOwner(this.tokenId, blockHashAt);4011 }40124013 async getChildren(blockHashAt?: string) {4014 return await this.collection.getTokenChildren(this.tokenId, blockHashAt);4015 }40164017 async nest(signer: TSigner, toTokenObj: IToken) {4018 return await this.collection.nestToken(signer, this.tokenId, toTokenObj);4019 }40204021 async unnest(signer: TSigner, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {4022 return await this.collection.unnestToken(signer, this.tokenId, fromTokenObj, toAddressObj);4023 }40244025 async transfer(signer: TSigner, addressObj: ICrossAccountId) {4026 return await this.collection.transferToken(signer, this.tokenId, addressObj);4027 }40284029 async transferFrom(signer: TSigner, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {4030 return await this.collection.transferTokenFrom(signer, this.tokenId, fromAddressObj, toAddressObj);4031 }40324033 async approve(signer: TSigner, toAddressObj: ICrossAccountId) {4034 return await this.collection.approveToken(signer, this.tokenId, toAddressObj);4035 }40364037 async isApproved(toAddressObj: ICrossAccountId) {4038 return await this.collection.isTokenApproved(this.tokenId, toAddressObj);4039 }40404041 async burn(signer: TSigner) {4042 return await this.collection.burnToken(signer, this.tokenId);4043 }40444045 async burnFrom(signer: TSigner, fromAddressObj: ICrossAccountId) {4046 return await this.collection.burnTokenFrom(signer, this.tokenId, fromAddressObj);4047 }40484049 scheduleAt<T extends UniqueHelper>(4050 executionBlockNumber: number,4051 options: ISchedulerOptions = {},4052 ) {4053 const scheduledCollection = this.collection.scheduleAt<T>(executionBlockNumber, options);4054 return new UniqueNFToken(this.tokenId, scheduledCollection);4055 }40564057 scheduleAfter<T extends UniqueHelper>(4058 blocksBeforeExecution: number,4059 options: ISchedulerOptions = {},4060 ) {4061 const scheduledCollection = this.collection.scheduleAfter<T>(blocksBeforeExecution, options);4062 return new UniqueNFToken(this.tokenId, scheduledCollection);4063 }40644065 getSudo<T extends UniqueHelper>() {4066 return new UniqueNFToken(this.tokenId, this.collection.getSudo<T>());4067 }4068}40694070export class UniqueRFToken extends UniqueBaseToken {4071 collection: UniqueRFTCollection;40724073 constructor(tokenId: number, collection: UniqueRFTCollection) {4074 super(tokenId, collection);4075 this.collection = collection;4076 }40774078 async getData(blockHashAt?: string) {4079 return await this.collection.getToken(this.tokenId, blockHashAt);4080 }40814082 async getOwner(blockHashAt?: string) {4083 return await this.collection.getTokenOwner(this.tokenId, blockHashAt);4084 }40854086 async getTop10Owners() {4087 return await this.collection.getTop10TokenOwners(this.tokenId);4088 }40894090 async getTopmostOwner(blockHashAt?: string) {4091 return await this.collection.getTokenTopmostOwner(this.tokenId, blockHashAt);4092 }40934094 async nest(signer: TSigner, toTokenObj: IToken) {4095 return await this.collection.nestToken(signer, this.tokenId, toTokenObj);4096 }40974098 async unnest(signer: TSigner, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {4099 return await this.collection.unnestToken(signer, this.tokenId, fromTokenObj, toAddressObj);4100 }41014102 async getBalance(addressObj: ICrossAccountId) {4103 return await this.collection.getTokenBalance(this.tokenId, addressObj);4104 }41054106 async getTotalPieces() {4107 return await this.collection.getTokenTotalPieces(this.tokenId);4108 }41094110 async getApprovedPieces(fromAddressObj: ICrossAccountId, toAccountObj: ICrossAccountId) {4111 return await this.collection.getTokenApprovedPieces(this.tokenId, fromAddressObj, toAccountObj);4112 }41134114 async transfer(signer: TSigner, addressObj: ICrossAccountId, amount = 1n) {4115 return await this.collection.transferToken(signer, this.tokenId, addressObj, amount);4116 }41174118 async transferFrom(signer: TSigner, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {4119 return await this.collection.transferTokenFrom(signer, this.tokenId, fromAddressObj, toAddressObj, amount);4120 }41214122 async approve(signer: TSigner, toAddressObj: ICrossAccountId, amount = 1n) {4123 return await this.collection.approveToken(signer, this.tokenId, toAddressObj, amount);4124 }41254126 async repartition(signer: TSigner, amount: bigint) {4127 return await this.collection.repartitionToken(signer, this.tokenId, amount);4128 }41294130 async burn(signer: TSigner, amount = 1n) {4131 return await this.collection.burnToken(signer, this.tokenId, amount);4132 }41334134 async burnFrom(signer: TSigner, fromAddressObj: ICrossAccountId, amount = 1n) {4135 return await this.collection.burnTokenFrom(signer, this.tokenId, fromAddressObj, amount);4136 }41374138 scheduleAt<T extends UniqueHelper>(4139 executionBlockNumber: number,4140 options: ISchedulerOptions = {},4141 ) {4142 const scheduledCollection = this.collection.scheduleAt<T>(executionBlockNumber, options);4143 return new UniqueRFToken(this.tokenId, scheduledCollection);4144 }41454146 scheduleAfter<T extends UniqueHelper>(4147 blocksBeforeExecution: number,4148 options: ISchedulerOptions = {},4149 ) {4150 const scheduledCollection = this.collection.scheduleAfter<T>(blocksBeforeExecution, options);4151 return new UniqueRFToken(this.tokenId, scheduledCollection);4152 }41534154 getSudo<T extends UniqueHelper>() {4155 return new UniqueRFToken(this.tokenId, this.collection.getSudo<T>());4156 }4157}1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// SPDX-License-Identifier: Apache-2.034/* eslint-disable @typescript-eslint/no-var-requires */5/* eslint-disable function-call-argument-newline */6/* eslint-disable no-prototype-builtins */78import { ApiPromise, WsProvider, Keyring } from '@polkadot/api';9import { SignerOptions } from '@polkadot/api/types/submittable';10import '../../interfaces/augment-api';11import { AugmentedSubmittables } from '@polkadot/api-base/types/submittable';12import { ApiInterfaceEvents } from '@polkadot/api/types';13import { encodeAddress, decodeAddress, keccakAsHex, evmToAddress, addressToEvm, base58Encode, blake2AsU8a } from '@polkadot/util-crypto';14import { IKeyringPair } from '@polkadot/types/types';15import { hexToU8a } from '@polkadot/util/hex';16import { u8aConcat } from '@polkadot/util/u8a';17import {18 IApiListeners,19 IBlock,20 IEvent,21 IChainProperties,22 ICollectionCreationOptions,23 ICollectionLimits,24 ICollectionPermissions,25 ICrossAccountId,26 ICrossAccountIdLower,27 ILogger,28 INestingPermissions,29 IProperty,30 IStakingInfo,31 ISchedulerOptions,32 ISubstrateBalance,33 IToken,34 ITokenPropertyPermission,35 ITransactionResult,36 IUniqueHelperLog,37 TApiAllowedListeners,38 TEthereumAccount,39 TSigner,40 TSubstrateAccount,41 TNetworks,42 IForeignAssetMetadata,43 AcalaAssetMetadata,44 MoonbeamAssetInfo,45 DemocracyStandardAccountVote,46 IEthCrossAccountId,47} from './types';48import { RuntimeDispatchInfo } from '@polkadot/types/interfaces';49import type { Vec } from '@polkadot/types-codec';50import { FrameSystemEventRecord, PalletBalancesIdAmount } from '@polkadot/types/lookup';5152export class CrossAccountId {53 Substrate!: TSubstrateAccount;54 Ethereum!: TEthereumAccount;5556 constructor(account: ICrossAccountId) {57 if ('Substrate' in account) this.Substrate = account.Substrate;58 else this.Ethereum = account.Ethereum;59 }6061 static fromKeyring(account: IKeyringPair, domain: 'Substrate' | 'Ethereum' = 'Substrate') {62 switch (domain) {63 case 'Substrate': return new CrossAccountId({ Substrate: account.address });64 case 'Ethereum': return new CrossAccountId({ Substrate: account.address }).toEthereum();65 }66 }6768 static fromLowerCaseKeys(address: ICrossAccountIdLower): CrossAccountId {69 if ('substrate' in address) return new CrossAccountId({ Substrate: address.substrate });70 else return new CrossAccountId({ Ethereum: address.ethereum });71 }7273 static normalizeSubstrateAddress(address: TSubstrateAccount, ss58Format = 42): TSubstrateAccount {74 return encodeAddress(decodeAddress(address), ss58Format);75 }7677 static withNormalizedSubstrate(address: TSubstrateAccount, ss58Format = 42): CrossAccountId {78 return new CrossAccountId({ Substrate: CrossAccountId.normalizeSubstrateAddress(address, ss58Format) });79 }8081 withNormalizedSubstrate(ss58Format = 42): CrossAccountId {82 if (this.Substrate) return CrossAccountId.withNormalizedSubstrate(this.Substrate, ss58Format);83 return this;84 }8586 static translateSubToEth(address: TSubstrateAccount): TEthereumAccount {87 return nesting.toChecksumAddress('0x' + Array.from(addressToEvm(address), i => i.toString(16).padStart(2, '0')).join(''));88 }8990 toEthereum(): CrossAccountId {91 if (this.Substrate) return new CrossAccountId({ Ethereum: CrossAccountId.translateSubToEth(this.Substrate) });92 return this;93 }9495 static translateEthToSub(address: TEthereumAccount, ss58Format?: number): TSubstrateAccount {96 return evmToAddress(address, ss58Format);97 }9899 toSubstrate(ss58Format?: number): CrossAccountId {100 if (this.Ethereum) return new CrossAccountId({ Substrate: CrossAccountId.translateEthToSub(this.Ethereum, ss58Format) });101 return this;102 }103104 toLowerCase(): CrossAccountId {105 if (this.Substrate) this.Substrate = this.Substrate.toLowerCase();106 if (this.Ethereum) this.Ethereum = this.Ethereum.toLowerCase();107 return this;108 }109}110111const nesting = {112 toChecksumAddress(address: string): string {113 if (typeof address === 'undefined') return '';114115 if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) throw new Error(`Given address "${address}" is not a valid Ethereum address.`);116117 address = address.toLowerCase().replace(/^0x/i, '');118 const addressHash = keccakAsHex(address).replace(/^0x/i, '');119 const checksumAddress = ['0x'];120121 for (let i = 0; i < address.length; i++) {122 // If ith character is 8 to f then make it uppercase123 if (parseInt(addressHash[i], 16) > 7) {124 checksumAddress.push(address[i].toUpperCase());125 } else {126 checksumAddress.push(address[i]);127 }128 }129 return checksumAddress.join('');130 },131 tokenIdToAddress(collectionId: number, tokenId: number) {132 return this.toChecksumAddress(`0xf8238ccfff8ed887463fd5e0${collectionId.toString(16).padStart(8,'0')}${tokenId.toString(16).padStart(8,'0')}`);133 },134};135136class UniqueUtil {137 static transactionStatus = {138 NOT_READY: 'NotReady',139 FAIL: 'Fail',140 SUCCESS: 'Success',141 };142143 static chainLogType = {144 EXTRINSIC: 'extrinsic',145 RPC: 'rpc',146 };147148 static getTokenAccount(token: IToken): CrossAccountId {149 return new CrossAccountId({ Ethereum: this.getTokenAddress(token) });150 }151152 static getTokenAddress(token: IToken): string {153 return nesting.tokenIdToAddress(token.collectionId, token.tokenId);154 }155156 static getDefaultLogger(): ILogger {157 return {158 log(msg: any, level = 'INFO') {159 console[level.toLocaleLowerCase() === 'error' ? 'error' : 'log'](...(Array.isArray(msg) ? msg : [msg]));160 },161 level: {162 ERROR: 'ERROR',163 WARNING: 'WARNING',164 INFO: 'INFO',165 },166 };167 }168169 static vec2str(arr: string[] | number[]) {170 return arr.map(x => String.fromCharCode(parseInt(x.toString()))).join('');171 }172173 static str2vec(string: string) {174 if (typeof string !== 'string') return string;175 return Array.from(string).map(x => x.charCodeAt(0));176 }177178 static fromSeed(seed: string, ss58Format = 42) {179 const keyring = new Keyring({ type: 'sr25519', ss58Format });180 return keyring.addFromUri(seed);181 }182183 static extractCollectionIdFromCreationResult(creationResult: ITransactionResult): number {184 if (creationResult.status !== this.transactionStatus.SUCCESS) {185 throw Error('Unable to create collection!');186 }187188 let collectionId = null;189 creationResult.result.events.forEach(({ event: { data, method, section } }) => {190 if ((section === 'common') && (method === 'CollectionCreated')) {191 collectionId = parseInt(data[0].toString(), 10);192 }193 });194195 if (collectionId === null) {196 throw Error('No CollectionCreated event was found!');197 }198199 return collectionId;200 }201202 static extractTokensFromCreationResult(creationResult: ITransactionResult): {203 success: boolean,204 tokens: { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[],205 } {206 if (creationResult.status !== this.transactionStatus.SUCCESS) {207 throw Error('Unable to create tokens!');208 }209 let success = false;210 const tokens = [] as { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[];211 creationResult.result.events.forEach(({ event: { data, method, section } }) => {212 if (method === 'ExtrinsicSuccess') {213 success = true;214 } else if ((section === 'common') && (method === 'ItemCreated')) {215 tokens.push({216 collectionId: parseInt(data[0].toString(), 10),217 tokenId: parseInt(data[1].toString(), 10),218 owner: data[2].toHuman(),219 amount: data[3].toBigInt(),220 });221 }222 });223 return { success, tokens };224 }225226 static extractTokensFromBurnResult(burnResult: ITransactionResult): {227 success: boolean,228 tokens: { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[],229 } {230 if (burnResult.status !== this.transactionStatus.SUCCESS) {231 throw Error('Unable to burn tokens!');232 }233 let success = false;234 const tokens = [] as { collectionId: number, tokenId: number, owner: CrossAccountId, amount: bigint }[];235 burnResult.result.events.forEach(({ event: { data, method, section } }) => {236 if (method === 'ExtrinsicSuccess') {237 success = true;238 } else if ((section === 'common') && (method === 'ItemDestroyed')) {239 tokens.push({240 collectionId: parseInt(data[0].toString(), 10),241 tokenId: parseInt(data[1].toString(), 10),242 owner: data[2].toHuman(),243 amount: data[3].toBigInt(),244 });245 }246 });247 return { success, tokens };248 }249250 static findCollectionInEvents(events: { event: IEvent }[], collectionId: number, expectedSection: string, expectedMethod: string): boolean {251 let eventId = null;252 events.forEach(({ event: { data, method, section } }) => {253 if ((section === expectedSection) && (method === expectedMethod)) {254 eventId = parseInt(data[0].toString(), 10);255 }256 });257258 if (eventId === null) {259 throw Error(`No ${expectedMethod} event was found!`);260 }261 return eventId === collectionId;262 }263264 static isTokenTransferSuccess(events: { event: IEvent }[], collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {265 const normalizeAddress = (address: string | ICrossAccountId) => {266 if (typeof address === 'string') return address;267 const obj = {} as any;268 Object.keys(address).forEach(k => {269 obj[k.toLocaleLowerCase()] = (address as any)[k];270 });271 if (obj.substrate) return CrossAccountId.withNormalizedSubstrate(obj.substrate);272 if (obj.ethereum) return CrossAccountId.fromLowerCaseKeys(obj).toLowerCase();273 return address;274 };275 let transfer = { collectionId: null, tokenId: null, from: null, to: null, amount: 1 } as any;276 events.forEach(({ event: { data, method, section } }) => {277 if ((section === 'common') && (method === 'Transfer')) {278 const hData = (data as any).toJSON();279 transfer = {280 collectionId: hData[0],281 tokenId: hData[1],282 from: normalizeAddress(hData[2]),283 to: normalizeAddress(hData[3]),284 amount: BigInt(hData[4]),285 };286 }287 });288 let isSuccess = parseInt(collectionId.toString()) === transfer.collectionId && parseInt(tokenId.toString()) === transfer.tokenId;289 isSuccess = isSuccess && JSON.stringify(normalizeAddress(fromAddressObj)) === JSON.stringify(transfer.from);290 isSuccess = isSuccess && JSON.stringify(normalizeAddress(toAddressObj)) === JSON.stringify(transfer.to);291 isSuccess = isSuccess && amount === transfer.amount;292 return isSuccess;293 }294295 static bigIntToDecimals(number: bigint, decimals = 18) {296 const numberStr = number.toString();297 const dotPos = numberStr.length - decimals;298299 if (dotPos <= 0) {300 return '0.' + '0'.repeat(Math.abs(dotPos)) + numberStr;301 } else {302 const intPart = numberStr.substring(0, dotPos);303 const fractPart = numberStr.substring(dotPos);304 return intPart + '.' + fractPart;305 }306 }307}308309class UniqueEventHelper {310 private static extractIndex(index: any): [number, number] | string {311 if (index.toRawType() === '[u8;2]') return [index[0], index[1]];312 return index.toJSON();313 }314315 private static extractSub(data: any, subTypes: any): { [key: string]: any } {316 let obj: any = {};317 let index = 0;318319 if (data.entries) {320 for (const [key, value] of data.entries()) {321 obj[key] = this.extractData(value, subTypes[index]);322 index++;323 }324 } else obj = data.toJSON();325326 return obj;327 }328329 private static toHuman(data: any) {330 return data && data.toHuman ? data.toHuman() : `${data}`;331 }332333 private static extractData(data: any, type: any): any {334 if (!type) return this.toHuman(data);335 if (['u16', 'u32'].indexOf(type.type) > -1) return data.toNumber();336 if (['u64', 'u128', 'u256'].indexOf(type.type) > -1) return data.toBigInt();337 if (type.hasOwnProperty('sub')) return this.extractSub(data, type.sub);338 return this.toHuman(data);339 }340341 public static extractEvents(events: { event: any, phase: any }[]): IEvent[] {342 const parsedEvents: IEvent[] = [];343344 events.forEach((record) => {345 const { event, phase } = record;346 const types = event.typeDef;347348 const eventData: IEvent = {349 section: event.section.toString(),350 method: event.method.toString(),351 index: this.extractIndex(event.index),352 data: [],353 phase: phase.toJSON(),354 };355356 event.data.forEach((val: any, index: number) => {357 eventData.data.push(this.extractData(val, types[index]));358 });359360 parsedEvents.push(eventData);361 });362363 return parsedEvents;364 }365}366const InvalidTypeSymbol = Symbol('Invalid type');367// eslint-disable-next-line @typescript-eslint/no-unused-vars368export type Invalid<ErrorMessage> =369 | ((370 invalidType: typeof InvalidTypeSymbol,371 ..._: typeof InvalidTypeSymbol[]372 ) => typeof InvalidTypeSymbol)373 | null374 | undefined;375// Has slightly better error messages than Get376type Get2<T, P extends string, E> =377 P extends `${infer Key}.${infer Key2}` ? Key extends keyof T ? Key2 extends keyof T[Key] ? T[Key][Key2] : E : E : E;378type ForceFunction<T> = T extends (...args: any) => any ? T : (...args: any) => Invalid<'not a function'>;379380export class ChainHelperBase {381 helperBase: any;382383 transactionStatus = UniqueUtil.transactionStatus;384 chainLogType = UniqueUtil.chainLogType;385 util: typeof UniqueUtil;386 eventHelper: typeof UniqueEventHelper;387 logger: ILogger;388 api: ApiPromise | null;389 forcedNetwork: TNetworks | null;390 network: TNetworks | null;391 wsEndpoint: string | null;392 chainLog: IUniqueHelperLog[];393 children: ChainHelperBase[];394 address: AddressGroup;395 chain: ChainGroup;396397 constructor(logger?: ILogger, helperBase?: any) {398 this.helperBase = helperBase;399400 this.util = UniqueUtil;401 this.eventHelper = UniqueEventHelper;402 if (typeof logger == 'undefined') logger = this.util.getDefaultLogger();403 this.logger = logger;404 this.api = null;405 this.forcedNetwork = null;406 this.network = null;407 this.wsEndpoint = null;408 this.chainLog = [];409 this.children = [];410 this.address = new AddressGroup(this);411 this.chain = new ChainGroup(this);412 }413414 clone(helperCls: ChainHelperBaseConstructor, options: { [key: string]: any } = {}) {415 Object.setPrototypeOf(helperCls.prototype, this);416 const newHelper = new helperCls(this.logger, options);417418 newHelper.api = this.api;419 newHelper.network = this.network;420 newHelper.forceNetwork = this.forceNetwork;421422 this.children.push(newHelper);423424 return newHelper;425 }426427 getEndpoint(): string {428 if (this.wsEndpoint === null) throw Error('No connection was established');429 return this.wsEndpoint;430 }431432 getApi(): ApiPromise {433 if (this.api === null) throw Error('API not initialized');434 return this.api;435 }436437 async subscribeEvents(expectedEvents: { section: string, names: string[] }[]) {438 const collectedEvents: IEvent[] = [];439 const unsubscribe = await this.getApi().query.system.events((events: Vec<FrameSystemEventRecord>) => {440 const ievents = this.eventHelper.extractEvents(events);441 ievents.forEach((event) => {442 expectedEvents.forEach((e => {443 if (event.section === e.section && e.names.includes(event.method)) {444 collectedEvents.push(event);445 }446 }));447 });448 });449 return { unsubscribe: unsubscribe as any, collectedEvents };450 }451452 clearChainLog(): void {453 this.chainLog = [];454 }455456 forceNetwork(value: TNetworks): void {457 this.forcedNetwork = value;458 }459460 async connect(wsEndpoint: string, listeners?: IApiListeners) {461 if (this.api !== null) throw Error('Already connected');462 const { api, network } = await ChainHelperBase.createConnection(wsEndpoint, listeners, this.forcedNetwork);463 this.wsEndpoint = wsEndpoint;464 this.api = api;465 this.network = network;466 }467468 async disconnect() {469 for (const child of this.children) {470 child.clearApi();471 }472473 if (this.api === null) return;474 await this.api.disconnect();475 this.clearApi();476 }477478 clearApi() {479 this.api = null;480 this.network = null;481 }482483 static async detectNetwork(api: ApiPromise): Promise<TNetworks> {484 const spec = (await api.query.system.lastRuntimeUpgrade()).toJSON() as any;485 const xcmChains = ['rococo', 'westend', 'westmint', 'acala', 'karura', 'moonbeam', 'moonriver'];486487 if (xcmChains.indexOf(spec.specName) > -1) return spec.specName;488489 if (['quartz', 'unique', 'sapphire'].indexOf(spec.specName) > -1) return spec.specName;490 return 'opal';491 }492493 static async detectNetworkByWsEndpoint(wsEndpoint: string): Promise<TNetworks> {494 const api = new ApiPromise({ provider: new WsProvider(wsEndpoint) });495 await api.isReady;496497 const network = await this.detectNetwork(api);498499 await api.disconnect();500501 return network;502 }503504 static async createConnection(wsEndpoint: string, listeners?: IApiListeners, network?: TNetworks | null): Promise<{505 api: ApiPromise;506 network: TNetworks;507 }> {508 if (typeof network === 'undefined' || network === null) network = 'opal';509 const supportedRPC = {510 opal: {511 unique: require('@unique-nft/opal-testnet-types/definitions').unique.rpc,512 },513 quartz: {514 unique: require('@unique-nft/quartz-mainnet-types/definitions').unique.rpc,515 },516 unique: {517 unique: require('@unique-nft/unique-mainnet-types/definitions').unique.rpc,518 },519 rococo: {},520 westend: {},521 moonbeam: {},522 moonriver: {},523 acala: {},524 karura: {},525 westmint: {},526 };527 if (!supportedRPC.hasOwnProperty(network)) network = await this.detectNetworkByWsEndpoint(wsEndpoint);528 const rpc = supportedRPC[network];529530 // TODO: investigate how to replace rpc in runtime531 // api._rpcCore.addUserInterfaces(rpc);532533 const api = new ApiPromise({ provider: new WsProvider(wsEndpoint), rpc });534535 await api.isReadyOrError;536537 if (typeof listeners === 'undefined') listeners = {};538 for (const event of ['connected', 'disconnected', 'error', 'ready', 'decorated']) {539 if (!listeners.hasOwnProperty(event) || typeof listeners[event as TApiAllowedListeners] === 'undefined') continue;540 api.on(event as ApiInterfaceEvents, listeners[event as TApiAllowedListeners] as (...args: any[]) => any);541 }542543 return { api, network };544 }545546 getTransactionStatus(data: { events: { event: IEvent }[], status: any }) {547 const { events, status } = data;548 if (status.isReady) {549 return this.transactionStatus.NOT_READY;550 }551 if (status.isBroadcast) {552 return this.transactionStatus.NOT_READY;553 }554 if (status.isInBlock || status.isFinalized) {555 const errors = events.filter(e => e.event.method === 'ExtrinsicFailed');556 if (errors.length > 0) {557 return this.transactionStatus.FAIL;558 }559 if (events.filter(e => e.event.method === 'ExtrinsicSuccess').length > 0) {560 return this.transactionStatus.SUCCESS;561 }562 }563564 return this.transactionStatus.FAIL;565 }566567 signTransaction(sender: TSigner, transaction: any, options: Partial<SignerOptions> | null = null, label = 'transaction') {568 const sign = (callback: any) => {569 if (options !== null) return transaction.signAndSend(sender, options, callback);570 return transaction.signAndSend(sender, callback);571 };572 // eslint-disable-next-line no-async-promise-executor573 return new Promise(async (resolve, reject) => {574 try {575 const unsub = await sign((result: any) => {576 const status = this.getTransactionStatus(result);577578 if (status === this.transactionStatus.SUCCESS) {579 this.logger.log(`${label} successful`);580 unsub();581 resolve({ result, status, blockHash: result.status.asInBlock.toHuman() });582 } else if (status === this.transactionStatus.FAIL) {583 let moduleError = null;584585 if (result.hasOwnProperty('dispatchError')) {586 const dispatchError = result['dispatchError'];587588 if (dispatchError) {589 if (dispatchError.isModule) {590 const modErr = dispatchError.asModule;591 const errorMeta = dispatchError.registry.findMetaError(modErr);592593 moduleError = `${errorMeta.section}.${errorMeta.name}`;594 } else if (dispatchError.isToken) {595 moduleError = `Token: ${dispatchError.asToken}`;596 } else {597 // May be [object Object] in case of unhandled non-unit enum598 moduleError = `Misc: ${dispatchError.toHuman()}`;599 }600 } else {601 this.logger.log(result, this.logger.level.ERROR);602 }603 }604605 this.logger.log(`Something went wrong with ${label}. Status: ${status}`, this.logger.level.ERROR);606 unsub();607 reject({ status, moduleError, result });608 }609 });610 } catch (e) {611 this.logger.log(e, this.logger.level.ERROR);612 reject(e);613 }614 });615 }616617 async signTransactionWithoutSending(signer: TSigner, tx: any) {618 const api = this.getApi();619 const signingInfo = await api.derive.tx.signingInfo(signer.address);620621 tx.sign(signer, {622 blockHash: api.genesisHash,623 genesisHash: api.genesisHash,624 runtimeVersion: api.runtimeVersion,625 nonce: signingInfo.nonce,626 });627628 return tx.toHex();629 }630631 async getPaymentInfo(signer: TSigner, tx: any, len: number | null) {632 const api = this.getApi();633 const signingInfo = await api.derive.tx.signingInfo(signer.address);634635 // We need to sign the tx because636 // unsigned transactions does not have an inclusion fee637 tx.sign(signer, {638 blockHash: api.genesisHash,639 genesisHash: api.genesisHash,640 runtimeVersion: api.runtimeVersion,641 nonce: signingInfo.nonce,642 });643644 if (len === null) {645 return (await this.callRpc('api.rpc.payment.queryInfo', [tx.toHex()])) as RuntimeDispatchInfo;646 } else {647 return (await api.call.transactionPaymentApi.queryInfo(tx, len)) as RuntimeDispatchInfo;648 }649 }650651 constructApiCall(apiCall: string, params: any[]) {652 if (!apiCall.startsWith('api.')) throw Error(`Invalid api call: ${apiCall}`);653 let call = this.getApi() as any;654 for (const part of apiCall.slice(4).split('.')) {655 call = call[part];656 if (!call) {657 const advice = part.includes('_') ? ' Looks like it needs to be converted to camel case.' : '';658 throw Error(`Function ${part} of api call ${apiCall} not found.${advice}`);659 }660 }661 return call(...params);662 }663664 encodeApiCall(apiCall: string, params: any[]) {665 return this.constructApiCall(apiCall, params).method.toHex();666 }667668 async executeExtrinsic<669 E extends string,670 V extends (671 ...args: any) => any = ForceFunction<672 Get2<673 AugmentedSubmittables<'promise'>,674 E, (...args: any) => Invalid<'not found'>675 >676 >677 >(678 sender: TSigner,679 extrinsic: `api.tx.${E}`,680 params: Parameters<V>,681 expectSuccess = true,682 options: Partial<SignerOptions> | null = null,/*, failureMessage='expected success'*/683 ): Promise<ITransactionResult> {684 if (this.api === null) throw Error('API not initialized');685686 const startTime = (new Date()).getTime();687 let result: ITransactionResult;688 let events: IEvent[] = [];689 try {690 result = await this.signTransaction(sender, this.constructApiCall(extrinsic, params), options, extrinsic) as ITransactionResult;691 events = this.eventHelper.extractEvents(result.result.events);692 const errorEvent = events.find((event) => event.method == 'ExecutedFailed' || event.method == 'CreatedFailed');693 if (errorEvent)694 throw Error(errorEvent.method + ': ' + extrinsic);695 }696 catch (e) {697 if (!(e as object).hasOwnProperty('status')) throw e;698 result = e as ITransactionResult;699 }700701 const endTime = (new Date()).getTime();702703 const log = {704 executedAt: endTime,705 executionTime: endTime - startTime,706 type: this.chainLogType.EXTRINSIC,707 status: result.status,708 call: extrinsic,709 signer: this.getSignerAddress(sender),710 params,711 } as IUniqueHelperLog;712713 let errorMessage = '';714715 if (result.status !== this.transactionStatus.SUCCESS) {716 if (result.moduleError) {717 errorMessage = typeof result.moduleError === 'string'718 ? result.moduleError719 : `${Object.keys(result.moduleError)[0]}: ${Object.values(result.moduleError)[0]}`;720 log.moduleError = errorMessage;721 }722 else if (result.result.dispatchError) log.dispatchError = result.result.dispatchError;723 }724 if (events.length > 0) log.events = events;725726 this.chainLog.push(log);727728 if (expectSuccess && result.status !== this.transactionStatus.SUCCESS) {729 if (result.moduleError) throw Error(`${errorMessage}`);730 else if (result.result.dispatchError) throw Error(JSON.stringify(result.result.dispatchError));731 }732 return result as any;733 }734735 async callRpc736 // TODO: make it strongly typed, or use api.query/api.rpc directly737 // <738 // K extends 'rpc' | 'query',739 // E extends string,740 // V extends (...args: any) => any = ForceFunction<741 // Get2<742 // K extends 'rpc' ? DecoratedRpc<'promise', RpcInterface> : QueryableStorage<'promise'>,743 // E, (...args: any) => Invalid<'not found'>744 // >745 // >,746 // P = Parameters<V>,747 // >748 (rpc: string, params?: any[]): Promise<any> {749750 if (typeof params === 'undefined') params = [] as any;751 if (this.api === null) throw Error('API not initialized');752 if (!rpc.startsWith('api.rpc.') && !rpc.startsWith('api.query.')) throw Error(`${rpc} is not RPC call`);753754 const startTime = (new Date()).getTime();755 let result;756 let error = null;757 const log = {758 type: this.chainLogType.RPC,759 call: rpc,760 params,761 } as any as IUniqueHelperLog;762763 try {764 result = await this.constructApiCall(rpc, params as any);765 }766 catch (e) {767 error = e;768 }769770 const endTime = (new Date()).getTime();771772 log.executedAt = endTime;773 log.status = (error === null ? this.transactionStatus.SUCCESS : this.transactionStatus.FAIL) as 'Fail' | 'Success';774 log.executionTime = endTime - startTime;775776 this.chainLog.push(log);777778 if (error !== null) throw error;779780 return result;781 }782783 getSignerAddress(signer: IKeyringPair | string): string {784 if (typeof signer === 'string') return signer;785 return signer.address;786 }787788 fetchAllPalletNames(): string[] {789 if (this.api === null) throw Error('API not initialized');790 return this.api.runtimeMetadata.asLatest.pallets.map(m => m.name.toString().toLowerCase()).sort();791 }792793 fetchMissingPalletNames(requiredPallets: readonly string[]): string[] {794 const palletNames = this.fetchAllPalletNames();795 return requiredPallets.filter(p => !palletNames.includes(p));796 }797}798799800class HelperGroup<T extends ChainHelperBase> {801 helper: T;802803 constructor(uniqueHelper: T) {804 this.helper = uniqueHelper;805 }806}807808809class CollectionGroup extends HelperGroup<UniqueHelper> {810 /**811 * Get number of blocks when sponsored transaction is available.812 *813 * @param collectionId ID of collection814 * @param tokenId ID of token815 * @param addressObj address for which the sponsorship is checked816 * @example await getTokenNextSponsored(1, 2, {Substrate: '5DfhbVfww7ThF8q6f3...'});817 * @returns number of blocks or null if sponsorship hasn't been set818 */819 async getTokenNextSponsored(collectionId: number, tokenId: number, addressObj: ICrossAccountId): Promise<number | null> {820 return (await this.helper.callRpc('api.rpc.unique.nextSponsored', [collectionId, addressObj, tokenId])).toJSON();821 }822823 /**824 * Get the number of created collections.825 *826 * @returns number of created collections827 */828 async getTotalCount(): Promise<number> {829 return (await this.helper.callRpc('api.rpc.unique.collectionStats')).created.toNumber();830 }831832 /**833 * Get information about the collection with additional data,834 * including the number of tokens it contains, its administrators,835 * the normalized address of the collection's owner, and decoded name and description.836 *837 * @param collectionId ID of collection838 * @example await getData(2)839 * @returns collection information object840 */841 async getData(collectionId: number): Promise<{842 id: number;843 name: string;844 description: string;845 tokensCount: number;846 admins: CrossAccountId[];847 normalizedOwner: TSubstrateAccount;848 raw: any849 } | null> {850 const collection = await this.helper.callRpc('api.rpc.unique.collectionById', [collectionId]);851 const humanCollection = collection.toHuman(), collectionData = {852 id: collectionId, name: null, description: null, tokensCount: 0, admins: [],853 raw: humanCollection,854 } as any, jsonCollection = collection.toJSON();855 if (humanCollection === null) return null;856 collectionData.raw.limits = jsonCollection.limits;857 collectionData.raw.permissions = jsonCollection.permissions;858 collectionData.normalizedOwner = this.helper.address.normalizeSubstrate(collectionData.raw.owner);859 for (const key of ['name', 'description']) {860 collectionData[key] = this.helper.util.vec2str(humanCollection[key]);861 }862863 collectionData.tokensCount = (['RFT', 'NFT'].includes(humanCollection.mode))864 ? await this.helper[humanCollection.mode.toLocaleLowerCase() as 'nft' | 'rft'].getLastTokenId(collectionId)865 : 0;866 collectionData.admins = await this.getAdmins(collectionId);867868 return collectionData;869 }870871 /**872 * Get the addresses of the collection's administrators, optionally normalized.873 *874 * @param collectionId ID of collection875 * @param normalize whether to normalize the addresses to the default ss58 format876 * @example await getAdmins(1)877 * @returns array of administrators878 */879 async getAdmins(collectionId: number, normalize = false): Promise<CrossAccountId[]> {880 const admins = (await this.helper.callRpc('api.rpc.unique.adminlist', [collectionId])).toHuman();881882 return normalize883 ? admins.map((address: CrossAccountId) => address.withNormalizedSubstrate())884 : admins;885 }886887 /**888 * Get the addresses added to the collection allow-list, optionally normalized.889 * @param collectionId ID of collection890 * @param normalize whether to normalize the addresses to the default ss58 format891 * @example await getAllowList(1)892 * @returns array of allow-listed addresses893 */894 async getAllowList(collectionId: number, normalize = false): Promise<CrossAccountId[]> {895 const allowListed = (await this.helper.callRpc('api.rpc.unique.allowlist', [collectionId])).toHuman();896 return normalize897 ? allowListed.map((address: CrossAccountId) => address.withNormalizedSubstrate())898 : allowListed;899 }900901 /**902 * Get the effective limits of the collection instead of null for default values903 *904 * @param collectionId ID of collection905 * @example await getEffectiveLimits(2)906 * @returns object of collection limits907 */908 async getEffectiveLimits(collectionId: number): Promise<ICollectionLimits> {909 return (await this.helper.callRpc('api.rpc.unique.effectiveCollectionLimits', [collectionId])).toJSON();910 }911912 /**913 * Burns the collection if the signer has sufficient permissions and collection is empty.914 *915 * @param signer keyring of signer916 * @param collectionId ID of collection917 * @example await helper.collection.burn(aliceKeyring, 3);918 * @returns ```true``` if extrinsic success, otherwise ```false```919 */920 async burn(signer: TSigner, collectionId: number): Promise<boolean> {921 const result = await this.helper.executeExtrinsic(922 signer,923 'api.tx.unique.destroyCollection', [collectionId],924 true,925 );926927 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionDestroyed');928 }929930 /**931 * Sets the sponsor for the collection (Requires the Substrate address). Needs confirmation by the sponsor.932 *933 * @param signer keyring of signer934 * @param collectionId ID of collection935 * @param sponsorAddress Sponsor substrate address936 * @example setSponsor(aliceKeyring, 10, "5DyN4Y92vZCjv38fg...")937 * @returns ```true``` if extrinsic success, otherwise ```false```938 */939 async setSponsor(signer: TSigner, collectionId: number, sponsorAddress: TSubstrateAccount): Promise<boolean> {940 const result = await this.helper.executeExtrinsic(941 signer,942 'api.tx.unique.setCollectionSponsor', [collectionId, sponsorAddress],943 true,944 );945946 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionSponsorSet');947 }948949 /**950 * Confirms consent to sponsor the collection on behalf of the signer.951 *952 * @param signer keyring of signer953 * @param collectionId ID of collection954 * @example confirmSponsorship(aliceKeyring, 10)955 * @returns ```true``` if extrinsic success, otherwise ```false```956 */957 async confirmSponsorship(signer: TSigner, collectionId: number): Promise<boolean> {958 const result = await this.helper.executeExtrinsic(959 signer,960 'api.tx.unique.confirmSponsorship', [collectionId],961 true,962 );963964 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'SponsorshipConfirmed');965 }966967 /**968 * Removes the sponsor of a collection, regardless if it consented or not.969 *970 * @param signer keyring of signer971 * @param collectionId ID of collection972 * @example removeSponsor(aliceKeyring, 10)973 * @returns ```true``` if extrinsic success, otherwise ```false```974 */975 async removeSponsor(signer: TSigner, collectionId: number): Promise<boolean> {976 const result = await this.helper.executeExtrinsic(977 signer,978 'api.tx.unique.removeCollectionSponsor', [collectionId],979 true,980 );981982 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionSponsorRemoved');983 }984985 /**986 * Sets the limits of the collection. At least one limit must be specified for a correct call.987 *988 * @param signer keyring of signer989 * @param collectionId ID of collection990 * @param limits collection limits object991 * @example992 * await setLimits(993 * aliceKeyring,994 * 10,995 * {996 * sponsorTransferTimeout: 0,997 * ownerCanDestroy: false998 * }999 * )1000 * @returns ```true``` if extrinsic success, otherwise ```false```1001 */1002 async setLimits(signer: TSigner, collectionId: number, limits: ICollectionLimits): Promise<boolean> {1003 const result = await this.helper.executeExtrinsic(1004 signer,1005 'api.tx.unique.setCollectionLimits', [collectionId, limits],1006 true,1007 );10081009 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionLimitSet');1010 }10111012 /**1013 * Changes the owner of the collection to the new Substrate address.1014 *1015 * @param signer keyring of signer1016 * @param collectionId ID of collection1017 * @param ownerAddress substrate address of new owner1018 * @example changeOwner(aliceKeyring, 10, "5DyN4Y92vZCjv38fg...")1019 * @returns ```true``` if extrinsic success, otherwise ```false```1020 */1021 async changeOwner(signer: TSigner, collectionId: number, ownerAddress: TSubstrateAccount): Promise<boolean> {1022 const result = await this.helper.executeExtrinsic(1023 signer,1024 'api.tx.unique.changeCollectionOwner', [collectionId, ownerAddress],1025 true,1026 );10271028 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionOwnerChanged');1029 }10301031 /**1032 * Adds a collection administrator.1033 *1034 * @param signer keyring of signer1035 * @param collectionId ID of collection1036 * @param adminAddressObj Administrator address (substrate or ethereum)1037 * @example addAdmin(aliceKeyring, 10, {Substrate: "5DyN4Y92vZCjv38fg..."})1038 * @returns ```true``` if extrinsic success, otherwise ```false```1039 */1040 async addAdmin(signer: TSigner, collectionId: number, adminAddressObj: ICrossAccountId): Promise<boolean> {1041 const result = await this.helper.executeExtrinsic(1042 signer,1043 'api.tx.unique.addCollectionAdmin', [collectionId, adminAddressObj],1044 true,1045 );10461047 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionAdminAdded');1048 }10491050 /**1051 * Removes a collection administrator.1052 *1053 * @param signer keyring of signer1054 * @param collectionId ID of collection1055 * @param adminAddressObj Administrator address (substrate or ethereum)1056 * @example removeAdmin(aliceKeyring, 10, {Substrate: "5DyN4Y92vZCjv38fg..."})1057 * @returns ```true``` if extrinsic success, otherwise ```false```1058 */1059 async removeAdmin(signer: TSigner, collectionId: number, adminAddressObj: ICrossAccountId): Promise<boolean> {1060 const result = await this.helper.executeExtrinsic(1061 signer,1062 'api.tx.unique.removeCollectionAdmin', [collectionId, adminAddressObj],1063 true,1064 );10651066 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionAdminRemoved');1067 }10681069 /**1070 * Check if user is in allow list.1071 *1072 * @param collectionId ID of collection1073 * @param user Account to check1074 * @example await getAdmins(1)1075 * @returns is user in allow list1076 */1077 async allowed(collectionId: number, user: ICrossAccountId): Promise<boolean> {1078 return (await this.helper.callRpc('api.rpc.unique.allowed', [collectionId, user])).toJSON();1079 }10801081 /**1082 * Adds an address to allow list1083 * @param signer keyring of signer1084 * @param collectionId ID of collection1085 * @param addressObj address to add to the allow list1086 * @returns ```true``` if extrinsic success, otherwise ```false```1087 */1088 async addToAllowList(signer: TSigner, collectionId: number, addressObj: ICrossAccountId): Promise<boolean> {1089 const result = await this.helper.executeExtrinsic(1090 signer,1091 'api.tx.unique.addToAllowList', [collectionId, addressObj],1092 true,1093 );10941095 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'AllowListAddressAdded');1096 }10971098 /**1099 * Removes an address from allow list1100 *1101 * @param signer keyring of signer1102 * @param collectionId ID of collection1103 * @param addressObj address to remove from the allow list1104 * @returns ```true``` if extrinsic success, otherwise ```false```1105 */1106 async removeFromAllowList(signer: TSigner, collectionId: number, addressObj: ICrossAccountId): Promise<boolean> {1107 const result = await this.helper.executeExtrinsic(1108 signer,1109 'api.tx.unique.removeFromAllowList', [collectionId, addressObj],1110 true,1111 );11121113 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'AllowListAddressRemoved');1114 }11151116 /**1117 * Sets onchain permissions for selected collection.1118 *1119 * @param signer keyring of signer1120 * @param collectionId ID of collection1121 * @param permissions collection permissions object1122 * @example setPermissions(aliceKeyring, 10, {access:'AllowList', mintMode: true, nesting: {collectionAdmin: true, tokenOwner: true}});1123 * @returns ```true``` if extrinsic success, otherwise ```false```1124 */1125 async setPermissions(signer: TSigner, collectionId: number, permissions: ICollectionPermissions): Promise<boolean> {1126 const result = await this.helper.executeExtrinsic(1127 signer,1128 'api.tx.unique.setCollectionPermissions', [collectionId, permissions],1129 true,1130 );11311132 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionPermissionSet');1133 }11341135 /**1136 * Enables nesting for selected collection. If `restricted` set, you can nest only tokens from specified collections.1137 *1138 * @param signer keyring of signer1139 * @param collectionId ID of collection1140 * @param permissions nesting permissions object1141 * @example enableNesting(aliceKeyring, 10, {collectionAdmin: true, tokenOwner: true});1142 * @returns ```true``` if extrinsic success, otherwise ```false```1143 */1144 async enableNesting(signer: TSigner, collectionId: number, permissions: INestingPermissions): Promise<boolean> {1145 return await this.setPermissions(signer, collectionId, { nesting: permissions });1146 }11471148 /**1149 * Disables nesting for selected collection.1150 *1151 * @param signer keyring of signer1152 * @param collectionId ID of collection1153 * @example disableNesting(aliceKeyring, 10);1154 * @returns ```true``` if extrinsic success, otherwise ```false```1155 */1156 async disableNesting(signer: TSigner, collectionId: number): Promise<boolean> {1157 return await this.setPermissions(signer, collectionId, { nesting: { tokenOwner: false, collectionAdmin: false } });1158 }11591160 /**1161 * Sets onchain properties to the collection.1162 *1163 * @param signer keyring of signer1164 * @param collectionId ID of collection1165 * @param properties array of property objects1166 * @example setProperties(aliceKeyring, 10, [{key: "gender", value: "male"}]);1167 * @returns ```true``` if extrinsic success, otherwise ```false```1168 */1169 async setProperties(signer: TSigner, collectionId: number, properties: IProperty[]): Promise<boolean> {1170 const result = await this.helper.executeExtrinsic(1171 signer,1172 'api.tx.unique.setCollectionProperties', [collectionId, properties],1173 true,1174 );11751176 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionPropertySet');1177 }11781179 /**1180 * Get collection properties.1181 *1182 * @param collectionId ID of collection1183 * @param propertyKeys optionally filter the returned properties to only these keys1184 * @example getProperties(1219, ['location', 'date', 'time', 'isParadise']);1185 * @returns array of key-value pairs1186 */1187 async getProperties(collectionId: number, propertyKeys?: string[] | null): Promise<IProperty[]> {1188 return (await this.helper.callRpc('api.rpc.unique.collectionProperties', [collectionId, propertyKeys])).toHuman();1189 }11901191 async getPropertiesConsumedSpace(collectionId: number): Promise<number> {1192 const api = this.helper.getApi();1193 const props = (await api.query.common.collectionProperties(collectionId)).toJSON();11941195 return (props! as any).consumedSpace;1196 }11971198 async getCollectionOptions(collectionId: number) {1199 return (await this.helper.callRpc('api.rpc.unique.collectionById', [collectionId])).toHuman();1200 }12011202 /**1203 * Deletes onchain properties from the collection.1204 *1205 * @param signer keyring of signer1206 * @param collectionId ID of collection1207 * @param propertyKeys array of property keys to delete1208 * @example deleteProperties(aliceKeyring, 10, ["gender", "age"]);1209 * @returns ```true``` if extrinsic success, otherwise ```false```1210 */1211 async deleteProperties(signer: TSigner, collectionId: number, propertyKeys: string[]): Promise<boolean> {1212 const result = await this.helper.executeExtrinsic(1213 signer,1214 'api.tx.unique.deleteCollectionProperties', [collectionId, propertyKeys],1215 true,1216 );12171218 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'CollectionPropertyDeleted');1219 }12201221 /**1222 * Changes the owner of the token.1223 *1224 * @param signer keyring of signer1225 * @param collectionId ID of collection1226 * @param tokenId ID of token1227 * @param addressObj address of a new owner1228 * @param amount amount of tokens to be transfered. For NFT must be set to 1n1229 * @example transferToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})1230 * @returns true if the token success, otherwise false1231 */1232 async transferToken(signer: TSigner, collectionId: number, tokenId: number, addressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1233 const result = await this.helper.executeExtrinsic(1234 signer,1235 'api.tx.unique.transfer', [addressObj, collectionId, tokenId, amount],1236 true, // `Unable to transfer token #${tokenId} from collection #${collectionId}`,1237 );12381239 return this.helper.util.isTokenTransferSuccess(result.result.events, collectionId, tokenId, { Substrate: typeof signer === 'string' ? signer : signer.address }, addressObj, amount);1240 }12411242 /**1243 *1244 * Change ownership of a token(s) on behalf of the owner.1245 *1246 * @param signer keyring of signer1247 * @param collectionId ID of collection1248 * @param tokenId ID of token1249 * @param fromAddressObj address on behalf of which the token will be sent1250 * @param toAddressObj new token owner1251 * @param amount amount of tokens to be transfered. For NFT must be set to 1n1252 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg"}, {Ethereum: "0x9F0583DbB85..."})1253 * @returns true if the token success, otherwise false1254 */1255 async transferTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1256 const result = await this.helper.executeExtrinsic(1257 signer,1258 'api.tx.unique.transferFrom', [fromAddressObj, toAddressObj, collectionId, tokenId, amount],1259 true, // `Unable to transfer token #${tokenId} from collection #${collectionId}`,1260 );1261 return this.helper.util.isTokenTransferSuccess(result.result.events, collectionId, tokenId, fromAddressObj, toAddressObj, amount);1262 }12631264 /**1265 *1266 * Destroys a concrete instance of NFT/RFT or burns a specified amount of fungible tokens.1267 *1268 * @param signer keyring of signer1269 * @param collectionId ID of collection1270 * @param tokenId ID of token1271 * @param amount amount of tokens to be burned. For NFT must be set to 1n1272 * @example burnToken(aliceKeyring, 10, 5);1273 * @returns ```true``` if the extrinsic is successful, otherwise ```false```1274 */1275 async burnToken(signer: TSigner, collectionId: number, tokenId: number, amount = 1n): Promise<boolean> {1276 const burnResult = await this.helper.executeExtrinsic(1277 signer,1278 'api.tx.unique.burnItem', [collectionId, tokenId, amount],1279 true, // `Unable to burn token for ${label}`,1280 );1281 const burnedTokens = this.helper.util.extractTokensFromBurnResult(burnResult);1282 if (burnedTokens.tokens.length > 1) throw Error('Burned multiple tokens');1283 return burnedTokens.success;1284 }12851286 /**1287 * Destroys a concrete instance of NFT on behalf of the owner1288 *1289 * @param signer keyring of signer1290 * @param collectionId ID of collection1291 * @param tokenId ID of token1292 * @param fromAddressObj address on behalf of which the token will be burnt1293 * @param amount amount of tokens to be burned. For NFT must be set to 1n1294 * @example burnTokenFrom(aliceKeyring, 10, {Substrate: "5DyN4Y92vZCjv38fg..."}, 5, {Ethereum: "0x9F0583DbB85..."})1295 * @returns ```true``` if extrinsic success, otherwise ```false```1296 */1297 async burnTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1298 const burnResult = await this.helper.executeExtrinsic(1299 signer,1300 'api.tx.unique.burnFrom', [collectionId, fromAddressObj, tokenId, amount],1301 true, // `Unable to burn token from for ${label}`,1302 );1303 const burnedTokens = this.helper.util.extractTokensFromBurnResult(burnResult);1304 return burnedTokens.success && burnedTokens.tokens.length > 0;1305 }13061307 /**1308 * Set, change, or remove approved address to transfer the ownership of the NFT.1309 *1310 * @param signer keyring of signer1311 * @param collectionId ID of collection1312 * @param tokenId ID of token1313 * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens1314 * @param amount amount of token to be approved. For NFT must be set to 1n1315 * @returns ```true``` if extrinsic success, otherwise ```false```1316 */1317 async approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {1318 const approveResult = await this.helper.executeExtrinsic(1319 signer,1320 'api.tx.unique.approve', [toAddressObj, collectionId, tokenId, amount],1321 true, // `Unable to approve token for ${label}`,1322 );13231324 return this.helper.util.findCollectionInEvents(approveResult.result.events, collectionId, 'common', 'Approved');1325 }13261327 /**1328 * Set, change, or remove approved address to transfer the ownership of the NFT from eth mirror.1329 *1330 * @param signer keyring of signer1331 * @param collectionId ID of collection1332 * @param tokenId ID of token1333 * @param fromAddressObj Signer's Ethereum address containing her tokens1334 * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens1335 * @param amount amount of token to be approved. For NFT must be set to 1n1336 * @returns ```true``` if extrinsic success, otherwise ```false```1337 */1338 async approveTokenFrom(signer: IKeyringPair, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {1339 const approveResult = await this.helper.executeExtrinsic(1340 signer,1341 'api.tx.unique.approveFrom', [fromAddressObj, toAddressObj, collectionId, tokenId, amount],1342 true, // `Unable to approve token for ${label}`,1343 );13441345 return this.helper.util.findCollectionInEvents(approveResult.result.events, collectionId, 'common', 'Approved');1346 }13471348 /**1349 * Set, change, or remove approved address to transfer the ownership of the NFT from eth mirror.1350 *1351 * @param signer keyring of signer1352 * @param collectionId ID of collection1353 * @param tokenId ID of token1354 * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens1355 * @param amount amount of token to be approved. For NFT must be set to 1n1356 * @returns ```true``` if extrinsic success, otherwise ```false```1357 */1358 async approveTokenFromEth(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {1359 const ethMirror = CrossAccountId.fromKeyring(signer).toEthereum();1360 return await this.approveTokenFrom(signer, collectionId, tokenId, ethMirror, toAddressObj, amount);1361 }13621363 /**1364 * Get the amount of token pieces approved to transfer or burn. Normally 0.1365 *1366 * @param collectionId ID of collection1367 * @param tokenId ID of token1368 * @param toAccountObj address which is approved to use token pieces1369 * @param fromAccountObj address which may have allowed the use of its owned tokens1370 * @example getTokenApprovedPieces(10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, {Substrate: "5ERZNF88Mm7UGfPP3mdG..."})1371 * @returns number of approved to transfer pieces1372 */1373 async getTokenApprovedPieces(collectionId: number, tokenId: number, toAccountObj: ICrossAccountId, fromAccountObj: ICrossAccountId): Promise<bigint> {1374 return (await this.helper.callRpc('api.rpc.unique.allowance', [collectionId, fromAccountObj, toAccountObj, tokenId])).toBigInt();1375 }13761377 /**1378 * Get the last created token ID in a collection1379 *1380 * @param collectionId ID of collection1381 * @example getLastTokenId(10);1382 * @returns id of the last created token1383 */1384 async getLastTokenId(collectionId: number): Promise<number> {1385 return (await this.helper.callRpc('api.rpc.unique.lastTokenId', [collectionId])).toNumber();1386 }13871388 /**1389 * Check if token exists1390 *1391 * @param collectionId ID of collection1392 * @param tokenId ID of token1393 * @example doesTokenExist(10, 20);1394 * @returns true if the token exists, otherwise false1395 */1396 async doesTokenExist(collectionId: number, tokenId: number): Promise<boolean> {1397 return (await this.helper.callRpc('api.rpc.unique.tokenExists', [collectionId, tokenId])).toJSON();1398 }1399}14001401class NFTnRFT extends CollectionGroup {1402 /**1403 * Get tokens owned by account1404 *1405 * @param collectionId ID of collection1406 * @param addressObj tokens owner1407 * @example getTokensByAddress(10, {Substrate: "5DyN4Y92vZCjv38fg..."})1408 * @returns array of token ids owned by account1409 */1410 async getTokensByAddress(collectionId: number, addressObj: ICrossAccountId): Promise<number[]> {1411 return (await this.helper.callRpc('api.rpc.unique.accountTokens', [collectionId, addressObj])).toJSON();1412 }14131414 /**1415 * Get token data1416 *1417 * @param collectionId ID of collection1418 * @param tokenId ID of token1419 * @param propertyKeys optionally filter the token properties to only these keys1420 * @param blockHashAt optionally query the data at some block with this hash1421 * @example getToken(10, 5);1422 * @returns human readable token data1423 */1424 async getToken(collectionId: number, tokenId: number, propertyKeys: string[] = [], blockHashAt?: string): Promise<{1425 properties: IProperty[];1426 owner: CrossAccountId;1427 normalizedOwner: CrossAccountId;1428 } | null> {1429 let tokenData;1430 if (typeof blockHashAt === 'undefined') {1431 tokenData = await this.helper.callRpc('api.rpc.unique.tokenData', [collectionId, tokenId]);1432 }1433 else {1434 if (propertyKeys.length == 0) {1435 const collection = (await this.helper.callRpc('api.rpc.unique.collectionById', [collectionId])).toHuman();1436 if (!collection) return null;1437 propertyKeys = collection.tokenPropertyPermissions.map((x: ITokenPropertyPermission) => x.key);1438 }1439 tokenData = await this.helper.callRpc('api.rpc.unique.tokenData', [collectionId, tokenId, propertyKeys, blockHashAt]);1440 }1441 tokenData = tokenData.toHuman();1442 if (tokenData === null || tokenData.owner === null) return null;1443 const owner = {} as any;1444 for (const key of Object.keys(tokenData.owner)) {1445 owner[key.toLocaleLowerCase()] = key.toLocaleLowerCase() == 'substrate'1446 ? CrossAccountId.normalizeSubstrateAddress(tokenData.owner[key])1447 : tokenData.owner[key];1448 }1449 tokenData.normalizedOwner = CrossAccountId.fromLowerCaseKeys(owner);1450 return tokenData;1451 }14521453 /**1454 * Get token's owner1455 * @param collectionId ID of collection1456 * @param tokenId ID of token1457 * @param blockHashAt optionally query the data at the block with this hash1458 * @example getTokenOwner(10, 5);1459 * @returns Address in CrossAccountId format, e.g. {Substrate: "5DnSF6RRjwteE3BrCj..."}1460 */1461 async getTokenOwner(collectionId: number, tokenId: number, blockHashAt?: string): Promise<CrossAccountId> {1462 let owner;1463 if (typeof blockHashAt === 'undefined') {1464 owner = await this.helper.callRpc('api.rpc.unique.tokenOwner', [collectionId, tokenId]);1465 } else {1466 owner = await this.helper.callRpc('api.rpc.unique.tokenOwner', [collectionId, tokenId, blockHashAt]);1467 }1468 return CrossAccountId.fromLowerCaseKeys(owner.toJSON());1469 }14701471 /**1472 * Recursively find the address that owns the token1473 * @param collectionId ID of collection1474 * @param tokenId ID of token1475 * @param blockHashAt1476 * @example getTokenTopmostOwner(10, 5);1477 * @returns address in CrossAccountId format, e.g. {Substrate: "5DyN4Y92vZCjv38fg..."}1478 */1479 async getTokenTopmostOwner(collectionId: number, tokenId: number, blockHashAt?: string): Promise<CrossAccountId | null> {1480 let owner;1481 if (typeof blockHashAt === 'undefined') {1482 owner = await this.helper.callRpc('api.rpc.unique.topmostTokenOwner', [collectionId, tokenId]);1483 } else {1484 owner = await this.helper.callRpc('api.rpc.unique.topmostTokenOwner', [collectionId, tokenId, blockHashAt]);1485 }14861487 if (owner === null) return null;14881489 return owner.toHuman();1490 }14911492 /**1493 * Nest one token into another1494 * @param signer keyring of signer1495 * @param tokenObj token to be nested1496 * @param rootTokenObj token to be parent1497 * @example nestToken(aliceKeyring, {collectionId: 10, tokenId: 5}, {collectionId: 10, tokenId: 4});1498 * @returns ```true``` if extrinsic success, otherwise ```false```1499 */1500 async nestToken(signer: TSigner, tokenObj: IToken, rootTokenObj: IToken): Promise<boolean> {1501 const rootTokenAddress = this.helper.util.getTokenAccount(rootTokenObj);1502 const result = await this.transferToken(signer, tokenObj.collectionId, tokenObj.tokenId, rootTokenAddress);1503 if (!result) {1504 throw Error('Unable to nest token!');1505 }1506 return result;1507 }15081509 /**1510 * Remove token from nested state1511 * @param signer keyring of signer1512 * @param tokenObj token to unnest1513 * @param rootTokenObj parent of a token1514 * @param toAddressObj address of a new token owner1515 * @example unnestToken(aliceKeyring, {collectionId: 10, tokenId: 5}, {collectionId: 10, tokenId: 4}, {Substrate: "5DyN4Y92vZCjv38fg..."});1516 * @returns ```true``` if extrinsic success, otherwise ```false```1517 */1518 async unnestToken(signer: TSigner, tokenObj: IToken, rootTokenObj: IToken, toAddressObj: ICrossAccountId): Promise<boolean> {1519 const rootTokenAddress = this.helper.util.getTokenAccount(rootTokenObj);1520 const result = await this.transferTokenFrom(signer, tokenObj.collectionId, tokenObj.tokenId, rootTokenAddress, toAddressObj);1521 if (!result) {1522 throw Error('Unable to unnest token!');1523 }1524 return result;1525 }15261527 /**1528 * Set permissions to change token properties1529 *1530 * @param signer keyring of signer1531 * @param collectionId ID of collection1532 * @param permissions permissions to change a property by the collection admin or token owner1533 * @example setTokenPropertyPermissions(1534 * aliceKeyring, 10, [{key: "gender", permission: {tokenOwner: true, mutable: true, collectionAdmin: true}}]1535 * )1536 * @returns true if extrinsic success otherwise false1537 */1538 async setTokenPropertyPermissions(signer: TSigner, collectionId: number, permissions: ITokenPropertyPermission[]): Promise<boolean> {1539 const result = await this.helper.executeExtrinsic(1540 signer,1541 'api.tx.unique.setTokenPropertyPermissions', [collectionId, permissions],1542 true,1543 );15441545 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'PropertyPermissionSet');1546 }15471548 /**1549 * Get token property permissions.1550 *1551 * @param collectionId ID of collection1552 * @param propertyKeys optionally filter the returned property permissions to only these keys1553 * @example getPropertyPermissions(1219, ['location', 'date', 'time', 'isParadise']);1554 * @returns array of key-permission pairs1555 */1556 async getPropertyPermissions(collectionId: number, propertyKeys: string[] | null = null): Promise<ITokenPropertyPermission[]> {1557 return (await this.helper.callRpc('api.rpc.unique.propertyPermissions', [collectionId, ...(propertyKeys === null ? [] : [propertyKeys])])).toHuman();1558 }15591560 /**1561 * Set token properties1562 *1563 * @param signer keyring of signer1564 * @param collectionId ID of collection1565 * @param tokenId ID of token1566 * @param properties key-value pairs of metadata which to add to a token. Keys must be permitted in the collection1567 * @example setTokenProperties(aliceKeyring, 10, 5, [{key: "gender", value: "female"}, {key: "age", value: "23"}])1568 * @returns ```true``` if extrinsic success, otherwise ```false```1569 */1570 async setTokenProperties(signer: TSigner, collectionId: number, tokenId: number, properties: IProperty[]): Promise<boolean> {1571 const result = await this.helper.executeExtrinsic(1572 signer,1573 'api.tx.unique.setTokenProperties', [collectionId, tokenId, properties],1574 true,1575 );15761577 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'TokenPropertySet');1578 }15791580 /**1581 * Get properties, metadata assigned to a token.1582 *1583 * @param collectionId ID of collection1584 * @param tokenId ID of token1585 * @param propertyKeys optionally filter the returned properties to only these keys1586 * @example getTokenProperties(1219, ['location', 'date', 'time', 'isParadise']);1587 * @returns array of key-value pairs1588 */1589 async getTokenProperties(collectionId: number, tokenId: number, propertyKeys?: string[] | null): Promise<IProperty[]> {1590 return (await this.helper.callRpc('api.rpc.unique.tokenProperties', [collectionId, tokenId, propertyKeys])).toHuman();1591 }15921593 /**1594 * Delete the provided properties of a token1595 * @param signer keyring of signer1596 * @param collectionId ID of collection1597 * @param tokenId ID of token1598 * @param propertyKeys property keys to be deleted1599 * @example deleteTokenProperties(aliceKeyring, 10, 5, ["gender", "age"])1600 * @returns ```true``` if extrinsic success, otherwise ```false```1601 */1602 async deleteTokenProperties(signer: TSigner, collectionId: number, tokenId: number, propertyKeys: string[]): Promise<boolean> {1603 const result = await this.helper.executeExtrinsic(1604 signer,1605 'api.tx.unique.deleteTokenProperties', [collectionId, tokenId, propertyKeys],1606 true,1607 );16081609 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'TokenPropertyDeleted');1610 }16111612 /**1613 * Mint new collection1614 *1615 * @param signer keyring of signer1616 * @param collectionOptions basic collection options and properties1617 * @param mode NFT or RFT type of a collection1618 * @example mintCollection(aliceKeyring, {name: 'New', description: "New collection", tokenPrefix: "NEW"}, "NFT")1619 * @returns object of the created collection1620 */1621 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions, mode: 'NFT' | 'RFT'): Promise<UniqueBaseCollection> {1622 collectionOptions = JSON.parse(JSON.stringify(collectionOptions)) as ICollectionCreationOptions; // Clone object1623 collectionOptions.mode = (mode === 'NFT') ? { nft: null } : { refungible: null };1624 for (const key of ['name', 'description', 'tokenPrefix']) {1625 if (typeof collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] === 'string') collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] = this.helper.util.str2vec(collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] as string);1626 }1627 const creationResult = await this.helper.executeExtrinsic(1628 signer,1629 'api.tx.unique.createCollectionEx', [collectionOptions],1630 true, // errorLabel,1631 );1632 return this.getCollectionObject(this.helper.util.extractCollectionIdFromCreationResult(creationResult));1633 }16341635 getCollectionObject(_collectionId: number): any {1636 return null;1637 }16381639 getTokenObject(_collectionId: number, _tokenId: number): any {1640 return null;1641 }16421643 /**1644 * Tells whether the given `owner` approves the `operator`.1645 * @param collectionId ID of collection1646 * @param owner owner address1647 * @param operator operator addrees1648 * @returns true if operator is enabled1649 */1650 async allowanceForAll(collectionId: number, owner: ICrossAccountId, operator: ICrossAccountId): Promise<boolean> {1651 return (await this.helper.callRpc('api.rpc.unique.allowanceForAll', [collectionId, owner, operator])).toJSON();1652 }16531654 /** Sets or unsets the approval of a given operator.1655 * The `operator` is allowed to transfer all tokens of the `caller` on their behalf.1656 * @param operator Operator1657 * @param approved Should operator status be granted or revoked?1658 * @returns ```true``` if extrinsic success, otherwise ```false```1659 */1660 async setAllowanceForAll(signer: TSigner, collectionId: number, operator: ICrossAccountId, approved: boolean): Promise<boolean> {1661 const result = await this.helper.executeExtrinsic(1662 signer,1663 'api.tx.unique.setAllowanceForAll', [collectionId, operator, approved],1664 true,1665 );1666 return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'ApprovedForAll');1667 }1668}166916701671class NFTGroup extends NFTnRFT {1672 /**1673 * Get collection object1674 * @param collectionId ID of collection1675 * @example getCollectionObject(2);1676 * @returns instance of UniqueNFTCollection1677 */1678 getCollectionObject(collectionId: number): UniqueNFTCollection {1679 return new UniqueNFTCollection(collectionId, this.helper);1680 }16811682 /**1683 * Get token object1684 * @param collectionId ID of collection1685 * @param tokenId ID of token1686 * @example getTokenObject(10, 5);1687 * @returns instance of UniqueNFTToken1688 */1689 getTokenObject(collectionId: number, tokenId: number): UniqueNFToken {1690 return new UniqueNFToken(tokenId, this.getCollectionObject(collectionId));1691 }16921693 /**1694 * Is token approved to transfer1695 * @param collectionId ID of collection1696 * @param tokenId ID of token1697 * @param toAccountObj address to be approved1698 * @returns ```true``` if extrinsic success, otherwise ```false```1699 */1700 async isTokenApproved(collectionId: number, tokenId: number, toAccountObj: ICrossAccountId): Promise<boolean> {1701 return (await this.getTokenApprovedPieces(collectionId, tokenId, toAccountObj, await this.getTokenOwner(collectionId, tokenId))) === 1n;1702 }17031704 /**1705 * Changes the owner of the token.1706 *1707 * @param signer keyring of signer1708 * @param collectionId ID of collection1709 * @param tokenId ID of token1710 * @param addressObj address of a new owner1711 * @example transferToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})1712 * @returns ```true``` if extrinsic success, otherwise ```false```1713 */1714 async transferToken(signer: TSigner, collectionId: number, tokenId: number, addressObj: ICrossAccountId): Promise<boolean> {1715 return await super.transferToken(signer, collectionId, tokenId, addressObj, 1n);1716 }17171718 /**1719 *1720 * Change ownership of a NFT on behalf of the owner.1721 *1722 * @param signer keyring of signer1723 * @param collectionId ID of collection1724 * @param tokenId ID of token1725 * @param fromAddressObj address on behalf of which the token will be sent1726 * @param toAddressObj new token owner1727 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, {Ethereum: "0x9F0583DbB85..."})1728 * @returns ```true``` if extrinsic success, otherwise ```false```1729 */1730 async transferTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId): Promise<boolean> {1731 return await super.transferTokenFrom(signer, collectionId, tokenId, fromAddressObj, toAddressObj, 1n);1732 }17331734 /**1735 * Get tokens nested in the provided token1736 * @param collectionId ID of collection1737 * @param tokenId ID of token1738 * @param blockHashAt optionally query the data at the block with this hash1739 * @example getTokenChildren(10, 5);1740 * @returns tokens whose depth of nesting is <= 51741 */1742 async getTokenChildren(collectionId: number, tokenId: number, blockHashAt?: string): Promise<IToken[]> {1743 let children;1744 if (typeof blockHashAt === 'undefined') {1745 children = await this.helper.callRpc('api.rpc.unique.tokenChildren', [collectionId, tokenId]);1746 } else {1747 children = await this.helper.callRpc('api.rpc.unique.tokenChildren', [collectionId, tokenId, blockHashAt]);1748 }17491750 return children.toJSON().map((x: any) => ({ collectionId: x.collection, tokenId: x.token }));1751 }17521753 /**1754 * Mint new collection1755 * @param signer keyring of signer1756 * @param collectionOptions Collection options1757 * @example1758 * mintCollection(aliceKeyring, {1759 * name: 'New',1760 * description: 'New collection',1761 * tokenPrefix: 'NEW',1762 * })1763 * @returns object of the created collection1764 */1765 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions = {}): Promise<UniqueNFTCollection> {1766 return await super.mintCollection(signer, collectionOptions, 'NFT') as UniqueNFTCollection;1767 }17681769 /**1770 * Mint new token1771 * @param signer keyring of signer1772 * @param data token data1773 * @returns created token object1774 */1775 async mintToken(signer: TSigner, data: { collectionId: number; owner: ICrossAccountId | string; properties?: IProperty[]; }): Promise<UniqueNFToken> {1776 const creationResult = await this.helper.executeExtrinsic(1777 signer,1778 'api.tx.unique.createItem', [data.collectionId, (typeof data.owner === 'string') ? { Substrate: data.owner } : data.owner, {1779 NFT: {1780 properties: data.properties,1781 },1782 }],1783 true,1784 );1785 const createdTokens = this.helper.util.extractTokensFromCreationResult(creationResult);1786 if (createdTokens.tokens.length > 1) throw Error('Minted multiple tokens');1787 if (createdTokens.tokens.length < 1) throw Error('No tokens minted');1788 return this.getTokenObject(data.collectionId, createdTokens.tokens[0].tokenId);1789 }17901791 /**1792 * Mint multiple NFT tokens1793 * @param signer keyring of signer1794 * @param collectionId ID of collection1795 * @param tokens array of tokens with owner and properties1796 * @example1797 * mintMultipleTokens(aliceKeyring, 10, [{1798 * owner: {Substrate: "5DyN4Y92vZCjv38fg..."},1799 * properties: [{key: "gender", value: "male"},{key: "age", value: "45"}],1800 * },{1801 * owner: {Ethereum: "0x9F0583DbB855d..."},1802 * properties: [{key: "gender", value: "female"},{key: "age", value: "22"}],1803 * }]);1804 * @returns ```true``` if extrinsic success, otherwise ```false```1805 */1806 async mintMultipleTokens(signer: TSigner, collectionId: number, tokens: { owner: ICrossAccountId, properties?: IProperty[] }[]): Promise<UniqueNFToken[]> {1807 const creationResult = await this.helper.executeExtrinsic(1808 signer,1809 'api.tx.unique.createMultipleItemsEx', [collectionId, { NFT: tokens }],1810 true,1811 );1812 const collection = this.getCollectionObject(collectionId);1813 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));1814 }18151816 /**1817 * Mint multiple NFT tokens with one owner1818 * @param signer keyring of signer1819 * @param collectionId ID of collection1820 * @param owner tokens owner1821 * @param tokens array of tokens with owner and properties1822 * @example1823 * mintMultipleTokensWithOneOwner(aliceKeyring, 10, "5DyN4Y92vZCjv38fg...", [{1824 * properties: [{1825 * key: "gender",1826 * value: "female",1827 * },{1828 * key: "age",1829 * value: "33",1830 * }],1831 * }]);1832 * @returns array of newly created tokens1833 */1834 async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, owner: ICrossAccountId, tokens: { properties?: IProperty[] }[]): Promise<UniqueNFToken[]> {1835 const rawTokens = [];1836 for (const token of tokens) {1837 const raw = { NFT: { properties: token.properties } };1838 rawTokens.push(raw);1839 }1840 const creationResult = await this.helper.executeExtrinsic(1841 signer,1842 'api.tx.unique.createMultipleItems', [collectionId, owner, rawTokens],1843 true,1844 );1845 const collection = this.getCollectionObject(collectionId);1846 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));1847 }18481849 /**1850 * Set, change, or remove approved address to transfer the ownership of the NFT.1851 *1852 * @param signer keyring of signer1853 * @param collectionId ID of collection1854 * @param tokenId ID of token1855 * @param toAddressObj address to approve1856 * @example approveToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})1857 * @returns ```true``` if extrinsic success, otherwise ```false```1858 */1859 approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {1860 return super.approveToken(signer, collectionId, tokenId, toAddressObj, amount);1861 }1862}186318641865class RFTGroup extends NFTnRFT {1866 /**1867 * Get collection object1868 * @param collectionId ID of collection1869 * @example getCollectionObject(2);1870 * @returns instance of UniqueRFTCollection1871 */1872 getCollectionObject(collectionId: number): UniqueRFTCollection {1873 return new UniqueRFTCollection(collectionId, this.helper);1874 }18751876 /**1877 * Get token object1878 * @param collectionId ID of collection1879 * @param tokenId ID of token1880 * @example getTokenObject(10, 5);1881 * @returns instance of UniqueNFTToken1882 */1883 getTokenObject(collectionId: number, tokenId: number): UniqueRFToken {1884 return new UniqueRFToken(tokenId, this.getCollectionObject(collectionId));1885 }18861887 /**1888 * Get top 10 token owners with the largest number of pieces1889 * @param collectionId ID of collection1890 * @param tokenId ID of token1891 * @example getTokenTop10Owners(10, 5);1892 * @returns array of top 10 owners1893 */1894 async getTokenTop10Owners(collectionId: number, tokenId: number): Promise<CrossAccountId[]> {1895 return (await this.helper.callRpc('api.rpc.unique.tokenOwners', [collectionId, tokenId])).toJSON().map(CrossAccountId.fromLowerCaseKeys);1896 }18971898 /**1899 * Get number of pieces owned by address1900 * @param collectionId ID of collection1901 * @param tokenId ID of token1902 * @param addressObj address token owner1903 * @example getTokenBalance(10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."});1904 * @returns number of pieces ownerd by address1905 */1906 async getTokenBalance(collectionId: number, tokenId: number, addressObj: ICrossAccountId): Promise<bigint> {1907 return (await this.helper.callRpc('api.rpc.unique.balance', [collectionId, addressObj, tokenId])).toBigInt();1908 }19091910 /**1911 * Transfer pieces of token to another address1912 * @param signer keyring of signer1913 * @param collectionId ID of collection1914 * @param tokenId ID of token1915 * @param addressObj address of a new owner1916 * @param amount number of pieces to be transfered1917 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, 2000n)1918 * @returns ```true``` if extrinsic success, otherwise ```false```1919 */1920 async transferToken(signer: TSigner, collectionId: number, tokenId: number, addressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1921 return await super.transferToken(signer, collectionId, tokenId, addressObj, amount);1922 }19231924 /**1925 * Change ownership of some pieces of RFT on behalf of the owner.1926 * @param signer keyring of signer1927 * @param collectionId ID of collection1928 * @param tokenId ID of token1929 * @param fromAddressObj address on behalf of which the token will be sent1930 * @param toAddressObj new token owner1931 * @param amount number of pieces to be transfered1932 * @example transferTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, {Substrate: "5DfhbVfww7ThF8q6f3i..."}, 2000n)1933 * @returns ```true``` if extrinsic success, otherwise ```false```1934 */1935 async transferTokenFrom(signer: TSigner, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {1936 return await super.transferTokenFrom(signer, collectionId, tokenId, fromAddressObj, toAddressObj, amount);1937 }19381939 /**1940 * Mint new collection1941 * @param signer keyring of signer1942 * @param collectionOptions Collection options1943 * @example1944 * mintCollection(aliceKeyring, {1945 * name: 'New',1946 * description: 'New collection',1947 * tokenPrefix: 'NEW',1948 * })1949 * @returns object of the created collection1950 */1951 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions = {}): Promise<UniqueRFTCollection> {1952 return await super.mintCollection(signer, collectionOptions, 'RFT') as UniqueRFTCollection;1953 }19541955 /**1956 * Mint new token1957 * @param signer keyring of signer1958 * @param data token data1959 * @example mintToken(aliceKeyring, {collectionId: 10, owner: {Substrate: '5GHoZe9c73RYbVzq...'}, pieces: 10000n});1960 * @returns created token object1961 */1962 async mintToken(signer: TSigner, data: { collectionId: number; owner: ICrossAccountId | string; pieces: bigint; properties?: IProperty[]; }): Promise<UniqueRFToken> {1963 const creationResult = await this.helper.executeExtrinsic(1964 signer,1965 'api.tx.unique.createItem', [data.collectionId, (typeof data.owner === 'string') ? { Substrate: data.owner } : data.owner, {1966 ReFungible: {1967 pieces: data.pieces,1968 properties: data.properties,1969 },1970 }],1971 true,1972 );1973 const createdTokens = this.helper.util.extractTokensFromCreationResult(creationResult);1974 if (createdTokens.tokens.length > 1) throw Error('Minted multiple tokens');1975 if (createdTokens.tokens.length < 1) throw Error('No tokens minted');1976 return this.getTokenObject(data.collectionId, createdTokens.tokens[0].tokenId);1977 }19781979 async mintMultipleTokens(signer: TSigner, collectionId: number, tokens: { owner: ICrossAccountId, pieces: bigint, properties?: IProperty[] }[]): Promise<UniqueRFToken[]> {1980 throw Error('Not implemented');1981 const creationResult = await this.helper.executeExtrinsic(1982 signer,1983 'api.tx.unique.createMultipleItemsEx', [collectionId, { RefungibleMultipleOwners: tokens }],1984 true, // `Unable to mint RFT tokens for ${label}`,1985 );1986 const collection = this.getCollectionObject(collectionId);1987 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));1988 }19891990 /**1991 * Mint multiple RFT tokens with one owner1992 * @param signer keyring of signer1993 * @param collectionId ID of collection1994 * @param owner tokens owner1995 * @param tokens array of tokens with properties and pieces1996 * @example mintMultipleTokensWithOneOwner(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, [{pieces: 100000n, properties: [{key: "gender", value: "male"}]}]);1997 * @returns array of newly created RFT tokens1998 */1999 async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, owner: ICrossAccountId, tokens: { pieces: bigint, properties?: IProperty[] }[]): Promise<UniqueRFToken[]> {2000 const rawTokens = [];2001 for (const token of tokens) {2002 const raw = { ReFungible: { pieces: token.pieces, properties: token.properties } };2003 rawTokens.push(raw);2004 }2005 const creationResult = await this.helper.executeExtrinsic(2006 signer,2007 'api.tx.unique.createMultipleItems', [collectionId, owner, rawTokens],2008 true,2009 );2010 const collection = this.getCollectionObject(collectionId);2011 return this.helper.util.extractTokensFromCreationResult(creationResult).tokens.map((x: IToken) => collection.getTokenObject(x.tokenId));2012 }20132014 /**2015 * Destroys a concrete instance of RFT.2016 * @param signer keyring of signer2017 * @param collectionId ID of collection2018 * @param tokenId ID of token2019 * @param amount number of pieces to be burnt2020 * @example burnToken(aliceKeyring, 10, 5);2021 * @returns ```true``` if the extrinsic is successful, otherwise ```false```2022 */2023 async burnToken(signer: IKeyringPair, collectionId: number, tokenId: number, amount = 1n): Promise<boolean> {2024 return await super.burnToken(signer, collectionId, tokenId, amount);2025 }20262027 /**2028 * Destroys a concrete instance of RFT on behalf of the owner.2029 * @param signer keyring of signer2030 * @param collectionId ID of collection2031 * @param tokenId ID of token2032 * @param fromAddressObj address on behalf of which the token will be burnt2033 * @param amount number of pieces to be burnt2034 * @example burnTokenFrom(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."}, 2n)2035 * @returns ```true``` if extrinsic success, otherwise ```false```2036 */2037 async burnTokenFrom(signer: IKeyringPair, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {2038 return await super.burnTokenFrom(signer, collectionId, tokenId, fromAddressObj, amount);2039 }20402041 /**2042 * Set, change, or remove approved address to transfer the ownership of the RFT.2043 *2044 * @param signer keyring of signer2045 * @param collectionId ID of collection2046 * @param tokenId ID of token2047 * @param toAddressObj address to approve2048 * @param amount number of pieces to be approved2049 * @example approveToken(aliceKeyring, 10, 5, {Substrate: "5GHoZe9c73RYbVzq..."}, "", 10000n);2050 * @returns true if the token success, otherwise false2051 */2052 approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {2053 return super.approveToken(signer, collectionId, tokenId, toAddressObj, amount);2054 }20552056 /**2057 * Get total number of pieces2058 * @param collectionId ID of collection2059 * @param tokenId ID of token2060 * @example getTokenTotalPieces(10, 5);2061 * @returns number of pieces2062 */2063 async getTokenTotalPieces(collectionId: number, tokenId: number): Promise<bigint> {2064 return (await this.helper.callRpc('api.rpc.unique.totalPieces', [collectionId, tokenId])).unwrap().toBigInt();2065 }20662067 /**2068 * Change number of token pieces. Signer must be the owner of all token pieces.2069 * @param signer keyring of signer2070 * @param collectionId ID of collection2071 * @param tokenId ID of token2072 * @param amount new number of pieces2073 * @example repartitionToken(aliceKeyring, 10, 5, 12345n);2074 * @returns true if the repartion was success, otherwise false2075 */2076 async repartitionToken(signer: TSigner, collectionId: number, tokenId: number, amount: bigint): Promise<boolean> {2077 const currentAmount = await this.getTokenTotalPieces(collectionId, tokenId);2078 const repartitionResult = await this.helper.executeExtrinsic(2079 signer,2080 'api.tx.unique.repartition', [collectionId, tokenId, amount],2081 true,2082 );2083 if (currentAmount < amount) return this.helper.util.findCollectionInEvents(repartitionResult.result.events, collectionId, 'common', 'ItemCreated');2084 return this.helper.util.findCollectionInEvents(repartitionResult.result.events, collectionId, 'common', 'ItemDestroyed');2085 }2086}208720882089class FTGroup extends CollectionGroup {2090 /**2091 * Get collection object2092 * @param collectionId ID of collection2093 * @example getCollectionObject(2);2094 * @returns instance of UniqueFTCollection2095 */2096 getCollectionObject(collectionId: number): UniqueFTCollection {2097 return new UniqueFTCollection(collectionId, this.helper);2098 }20992100 /**2101 * Mint new fungible collection2102 * @param signer keyring of signer2103 * @param collectionOptions Collection options2104 * @param decimalPoints number of token decimals2105 * @example2106 * mintCollection(aliceKeyring, {2107 * name: 'New',2108 * description: 'New collection',2109 * tokenPrefix: 'NEW',2110 * }, 18)2111 * @returns newly created fungible collection2112 */2113 async mintCollection(signer: TSigner, collectionOptions: ICollectionCreationOptions = {}, decimalPoints = 0): Promise<UniqueFTCollection> {2114 collectionOptions = JSON.parse(JSON.stringify(collectionOptions)) as ICollectionCreationOptions; // Clone object2115 if (collectionOptions.tokenPropertyPermissions) throw Error('Fungible collections has no tokenPropertyPermissions');2116 collectionOptions.mode = { fungible: decimalPoints };2117 for (const key of ['name', 'description', 'tokenPrefix']) {2118 if (typeof collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] === 'string') collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] = this.helper.util.str2vec(collectionOptions[key as 'name' | 'description' | 'tokenPrefix'] as string);2119 }2120 const creationResult = await this.helper.executeExtrinsic(2121 signer,2122 'api.tx.unique.createCollectionEx', [collectionOptions],2123 true,2124 );2125 return this.getCollectionObject(this.helper.util.extractCollectionIdFromCreationResult(creationResult));2126 }21272128 /**2129 * Mint tokens2130 * @param signer keyring of signer2131 * @param collectionId ID of collection2132 * @param owner address owner of new tokens2133 * @param amount amount of tokens to be meanted2134 * @example mintTokens(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq"}, 1000n);2135 * @returns ```true``` if extrinsic success, otherwise ```false```2136 */2137 async mintTokens(signer: TSigner, collectionId: number, amount: bigint, owner: ICrossAccountId | string): Promise<boolean> {2138 const creationResult = await this.helper.executeExtrinsic(2139 signer,2140 'api.tx.unique.createItem', [collectionId, (typeof owner === 'string') ? { Substrate: owner } : owner, {2141 Fungible: {2142 value: amount,2143 },2144 }],2145 true, // `Unable to mint fungible tokens for ${label}`,2146 );2147 return this.helper.util.findCollectionInEvents(creationResult.result.events, collectionId, 'common', 'ItemCreated');2148 }21492150 /**2151 * Mint multiple Fungible tokens with one owner2152 * @param signer keyring of signer2153 * @param collectionId ID of collection2154 * @param owner tokens owner2155 * @param tokens array of tokens with properties and pieces2156 * @returns ```true``` if extrinsic success, otherwise ```false```2157 */2158 async mintMultipleTokensWithOneOwner(signer: TSigner, collectionId: number, tokens: { value: bigint }[], owner: ICrossAccountId): Promise<boolean> {2159 const rawTokens = [];2160 for (const token of tokens) {2161 const raw = { Fungible: { Value: token.value } };2162 rawTokens.push(raw);2163 }2164 const creationResult = await this.helper.executeExtrinsic(2165 signer,2166 'api.tx.unique.createMultipleItems', [collectionId, owner, rawTokens],2167 true,2168 );2169 return this.helper.util.findCollectionInEvents(creationResult.result.events, collectionId, 'common', 'ItemCreated');2170 }21712172 /**2173 * Get the top 10 owners with the largest balance for the Fungible collection2174 * @param collectionId ID of collection2175 * @example getTop10Owners(10);2176 * @returns array of ```ICrossAccountId```2177 */2178 async getTop10Owners(collectionId: number): Promise<CrossAccountId[]> {2179 return (await this.helper.callRpc('api.rpc.unique.tokenOwners', [collectionId, 0])).toJSON().map(CrossAccountId.fromLowerCaseKeys);2180 }21812182 /**2183 * Get account balance2184 * @param collectionId ID of collection2185 * @param addressObj address of owner2186 * @example getBalance(10, {Substrate: "5GHoZe9c73RYbVzq..."})2187 * @returns amount of fungible tokens owned by address2188 */2189 async getBalance(collectionId: number, addressObj: ICrossAccountId): Promise<bigint> {2190 return (await this.helper.callRpc('api.rpc.unique.balance', [collectionId, addressObj, 0])).toBigInt();2191 }21922193 /**2194 * Transfer tokens to address2195 * @param signer keyring of signer2196 * @param collectionId ID of collection2197 * @param toAddressObj address recipient2198 * @param amount amount of tokens to be sent2199 * @example transfer(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, 1000n);2200 * @returns ```true``` if extrinsic success, otherwise ```false```2201 */2202 async transfer(signer: TSigner, collectionId: number, toAddressObj: ICrossAccountId, amount = 1n) {2203 return await super.transferToken(signer, collectionId, 0, toAddressObj, amount);2204 }22052206 /**2207 * Transfer some tokens on behalf of the owner.2208 * @param signer keyring of signer2209 * @param collectionId ID of collection2210 * @param fromAddressObj address on behalf of which tokens will be sent2211 * @param toAddressObj address where token to be sent2212 * @param amount number of tokens to be sent2213 * @example transferFrom(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, {Substrate: "5DfhbVfww7ThF8q6f3ij..."}, 10000n);2214 * @returns ```true``` if extrinsic success, otherwise ```false```2215 */2216 async transferFrom(signer: TSigner, collectionId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {2217 return await super.transferTokenFrom(signer, collectionId, 0, fromAddressObj, toAddressObj, amount);2218 }22192220 /**2221 * Destroy some amount of tokens2222 * @param signer keyring of signer2223 * @param collectionId ID of collection2224 * @param amount amount of tokens to be destroyed2225 * @example burnTokens(aliceKeyring, 10, 1000n);2226 * @returns ```true``` if extrinsic success, otherwise ```false```2227 */2228 async burnTokens(signer: IKeyringPair, collectionId: number, amount = 1n): Promise<boolean> {2229 return await super.burnToken(signer, collectionId, 0, amount);2230 }22312232 /**2233 * Burn some tokens on behalf of the owner.2234 * @param signer keyring of signer2235 * @param collectionId ID of collection2236 * @param fromAddressObj address on behalf of which tokens will be burnt2237 * @param amount amount of tokens to be burnt2238 * @example burnTokensFrom(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, 1000n);2239 * @returns ```true``` if extrinsic success, otherwise ```false```2240 */2241 async burnTokensFrom(signer: IKeyringPair, collectionId: number, fromAddressObj: ICrossAccountId, amount = 1n): Promise<boolean> {2242 return await super.burnTokenFrom(signer, collectionId, 0, fromAddressObj, amount);2243 }22442245 /**2246 * Get total collection supply2247 * @param collectionId2248 * @returns2249 */2250 async getTotalPieces(collectionId: number): Promise<bigint> {2251 return (await this.helper.callRpc('api.rpc.unique.totalPieces', [collectionId, 0])).unwrap().toBigInt();2252 }22532254 /**2255 * Set, change, or remove approved address to transfer tokens.2256 *2257 * @param signer keyring of signer2258 * @param collectionId ID of collection2259 * @param toAddressObj address to be approved2260 * @param amount amount of tokens to be approved2261 * @example approveTokens(aliceKeyring, 10, {Substrate: "5GHoZe9c73RYbVzq..."}, 1000n)2262 * @returns ```true``` if extrinsic success, otherwise ```false```2263 */2264 approveTokens(signer: IKeyringPair, collectionId: number, toAddressObj: ICrossAccountId, amount = 1n) {2265 return super.approveToken(signer, collectionId, 0, toAddressObj, amount);2266 }22672268 /**2269 * Get amount of fungible tokens approved to transfer2270 * @param collectionId ID of collection2271 * @param fromAddressObj owner of tokens2272 * @param toAddressObj the address approved for the transfer of tokens on behalf of the owner2273 * @returns number of tokens approved for the transfer2274 */2275 getApprovedTokens(collectionId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {2276 return super.getTokenApprovedPieces(collectionId, 0, toAddressObj, fromAddressObj);2277 }2278}227922802281class ChainGroup extends HelperGroup<ChainHelperBase> {2282 /**2283 * Get system properties of a chain2284 * @example getChainProperties();2285 * @returns ss58Format, token decimals, and token symbol2286 */2287 getChainProperties(): IChainProperties {2288 const properties = (this.helper.getApi() as any).registry.getChainProperties().toJSON();2289 return {2290 ss58Format: properties.ss58Format.toJSON(),2291 tokenDecimals: properties.tokenDecimals.toJSON(),2292 tokenSymbol: properties.tokenSymbol.toJSON(),2293 };2294 }22952296 /**2297 * Get chain header2298 * @example getLatestBlockNumber();2299 * @returns the number of the last block2300 */2301 async getLatestBlockNumber(): Promise<number> {2302 return (await this.helper.callRpc('api.rpc.chain.getHeader')).number.toNumber();2303 }23042305 /**2306 * Get block hash by block number2307 * @param blockNumber number of block2308 * @example getBlockHashByNumber(12345);2309 * @returns hash of a block2310 */2311 async getBlockHashByNumber(blockNumber: number): Promise<string | null> {2312 const blockHash = (await this.helper.callRpc('api.rpc.chain.getBlockHash', [blockNumber])).toJSON();2313 if (blockHash === '0x0000000000000000000000000000000000000000000000000000000000000000') return null;2314 return blockHash;2315 }23162317 // TODO add docs2318 async getBlock(blockHashOrNumber: string | number): Promise<IBlock | null> {2319 const blockHash = typeof blockHashOrNumber === 'string' ? blockHashOrNumber : await this.getBlockHashByNumber(blockHashOrNumber);2320 if (!blockHash) return null;2321 return (await this.helper.callRpc('api.rpc.chain.getBlock', [blockHash])).toHuman().block;2322 }23232324 /**2325 * Get latest relay block2326 * @returns {number} relay block2327 */2328 async getRelayBlockNumber(): Promise<bigint> {2329 const blockNumber = (await this.helper.callRpc('api.query.parachainSystem.validationData')).toJSON().relayParentNumber;2330 return BigInt(blockNumber);2331 }23322333 /**2334 * Get account nonce2335 * @param address substrate address2336 * @example getNonce("5GrwvaEF5zXb26Fz...");2337 * @returns number, account's nonce2338 */2339 async getNonce(address: TSubstrateAccount): Promise<number> {2340 return (await this.helper.callRpc('api.query.system.account', [address])).nonce.toNumber();2341 }2342}23432344class SubstrateBalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2345 /**2346 * Get substrate address balance2347 * @param address substrate address2348 * @example getSubstrate("5GrwvaEF5zXb26Fz...")2349 * @returns amount of tokens on address2350 */2351 async getSubstrate(address: TSubstrateAccount): Promise<bigint> {2352 return (await this.helper.callRpc('api.query.system.account', [address])).data.free.toBigInt();2353 }23542355 /**2356 * Transfer tokens to substrate address2357 * @param signer keyring of signer2358 * @param address substrate address of a recipient2359 * @param amount amount of tokens to be transfered2360 * @example transferToSubstrate(aliceKeyring, "5GrwvaEF5zXb26Fz...", 100_000_000_000n);2361 * @returns ```true``` if extrinsic success, otherwise ```false```2362 */2363 async transferToSubstrate(signer: TSigner, address: TSubstrateAccount, amount: bigint | string): Promise<boolean> {2364 const result = await this.helper.executeExtrinsic(signer, 'api.tx.balances.transfer', [address, amount], true/*, `Unable to transfer balance from ${this.helper.getSignerAddress(signer)} to ${address}`*/);23652366 let transfer = { from: null, to: null, amount: 0n } as any;2367 result.result.events.forEach(({ event: { data, method, section } }) => {2368 if ((section === 'balances') && (method === 'Transfer')) {2369 transfer = {2370 from: this.helper.address.normalizeSubstrate(data[0]),2371 to: this.helper.address.normalizeSubstrate(data[1]),2372 amount: BigInt(data[2]),2373 };2374 }2375 });2376 const isSuccess = this.helper.address.normalizeSubstrate(typeof signer === 'string' ? signer : signer.address) === transfer.from2377 && this.helper.address.normalizeSubstrate(address) === transfer.to2378 && BigInt(amount) === transfer.amount;2379 return isSuccess;2380 }23812382 /**2383 * Get full substrate balance including free, frozen, and reserved2384 * @param address substrate address2385 * @returns2386 */2387 async getSubstrateFull(address: TSubstrateAccount): Promise<ISubstrateBalance> {2388 const accountInfo = (await this.helper.callRpc('api.query.system.account', [address])).data;2389 return { free: accountInfo.free.toBigInt(), frozen: accountInfo.frozen.toBigInt(), reserved: accountInfo.reserved.toBigInt() };2390 }23912392 /**2393 * Get total issuance2394 * @returns2395 */2396 async getTotalIssuance(): Promise<bigint> {2397 const total = (await this.helper.callRpc('api.query.balances.totalIssuance', []));2398 return total.toBigInt();2399 }24002401 async getLocked(address: TSubstrateAccount): Promise<{ id: string, amount: bigint, reason: string }[]> {2402 const locks = (await this.helper.callRpc('api.query.balances.locks', [address])).toHuman();2403 return locks.map((lock: any) => ({ id: lock.id, amount: BigInt(lock.amount.replace(/,/g, '')), reasons: lock.reasons }));2404 }2405 async getFrozen(address: TSubstrateAccount): Promise<{ id: string, amount: bigint }[]> {2406 const locks = (await this.helper.api!.query.balances.freezes(address)) as unknown as Array<any>;2407 return locks.map(lock => ({ id: lock.id.toUtf8(), amount: lock.amount.toBigInt() }));2408 }2409}24102411class EthereumBalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2412 /**2413 * Get ethereum address balance2414 * @param address ethereum address2415 * @example getEthereum("0x9F0583DbB855d...")2416 * @returns amount of tokens on address2417 */2418 async getEthereum(address: TEthereumAccount): Promise<bigint> {2419 return (await this.helper.callRpc('api.rpc.eth.getBalance', [address])).toBigInt();2420 }24212422 /**2423 * Transfer tokens to address2424 * @param signer keyring of signer2425 * @param address Ethereum address of a recipient2426 * @param amount amount of tokens to be transfered2427 * @example transferToEthereum(alithKeyring, "0x9F0583DbB855d...", 100_000_000_000n);2428 * @returns ```true``` if extrinsic success, otherwise ```false```2429 */2430 async transferToEthereum(signer: TSigner, address: TEthereumAccount, amount: bigint | string): Promise<boolean> {2431 const result = await this.helper.executeExtrinsic(signer, 'api.tx.balances.transfer', [address, amount], true);24322433 let transfer = { from: null, to: null, amount: 0n } as any;2434 result.result.events.forEach(({ event: { data, method, section } }) => {2435 if ((section === 'balances') && (method === 'Transfer')) {2436 transfer = {2437 from: data[0].toString(),2438 to: data[1].toString(),2439 amount: BigInt(data[2]),2440 };2441 }2442 });2443 const isSuccess = (typeof signer === 'string' ? signer : signer.address) === transfer.from2444 && address === transfer.to2445 && BigInt(amount) === transfer.amount;2446 return isSuccess;2447 }2448}24492450class BalanceGroup<T extends ChainHelperBase> extends HelperGroup<T> {2451 subBalanceGroup: SubstrateBalanceGroup<T>;2452 ethBalanceGroup: EthereumBalanceGroup<T>;24532454 constructor(helper: T) {2455 super(helper);2456 this.subBalanceGroup = new SubstrateBalanceGroup(helper);2457 this.ethBalanceGroup = new EthereumBalanceGroup(helper);2458 }24592460 getCollectionCreationPrice(): bigint {2461 return 2n * this.getOneTokenNominal();2462 }2463 /**2464 * Representation of the native token in the smallest unit - one OPAL (OPL), QUARTZ (QTZ), or UNIQUE (UNQ).2465 * @example getOneTokenNominal()2466 * @returns ```BigInt``` representation of the native token in the smallest unit, e.g. ```1_000_000_000_000_000_000n``` for QTZ.2467 */2468 getOneTokenNominal(): bigint {2469 const chainProperties = this.helper.chain.getChainProperties();2470 return 10n ** BigInt((chainProperties.tokenDecimals || [18])[0]);2471 }24722473 /**2474 * Get substrate address balance2475 * @param address substrate address2476 * @example getSubstrate("5GrwvaEF5zXb26Fz...")2477 * @returns amount of tokens on address2478 */2479 getSubstrate(address: TSubstrateAccount): Promise<bigint> {2480 return this.subBalanceGroup.getSubstrate(address);2481 }24822483 /**2484 * Get full substrate balance including free, miscFrozen, feeFrozen, and reserved2485 * @param address substrate address2486 * @returns2487 */2488 getSubstrateFull(address: TSubstrateAccount): Promise<ISubstrateBalance> {2489 return this.subBalanceGroup.getSubstrateFull(address);2490 }24912492 /**2493 * Get total issuance2494 * @returns2495 */2496 getTotalIssuance(): Promise<bigint> {2497 return this.subBalanceGroup.getTotalIssuance();2498 }24992500 /**2501 * Get locked balances2502 * @param address substrate address2503 * @returns locked balances with reason via api.query.balances.locks2504 * @deprecated all the methods should switch to getFrozen2505 */2506 getLocked(address: TSubstrateAccount) {2507 return this.subBalanceGroup.getLocked(address);2508 }25092510 /**2511 * Get frozen balances2512 * @param address substrate address2513 * @returns frozen balances with id via api.query.balances.freezes2514 */2515 getFrozen(address: TSubstrateAccount) {2516 return this.subBalanceGroup.getFrozen(address);2517 }25182519 /**2520 * Get ethereum address balance2521 * @param address ethereum address2522 * @example getEthereum("0x9F0583DbB855d...")2523 * @returns amount of tokens on address2524 */2525 getEthereum(address: TEthereumAccount): Promise<bigint> {2526 return this.ethBalanceGroup.getEthereum(address);2527 }25282529 async setBalanceSubstrate(signer: TSigner, address: TSubstrateAccount, amount: bigint) {2530 await this.helper.executeExtrinsic(signer, 'api.tx.balances.forceSetBalance', [address, amount], true);2531 }25322533 /**2534 * Transfer tokens to substrate address2535 * @param signer keyring of signer2536 * @param address substrate address of a recipient2537 * @param amount amount of tokens to be transfered2538 * @example transferToSubstrate(aliceKeyring, "5GrwvaEF5zXb26Fz...", 100_000_000_000n);2539 * @returns ```true``` if extrinsic success, otherwise ```false```2540 */2541 transferToSubstrate(signer: TSigner, address: TSubstrateAccount, amount: bigint | string): Promise<boolean> {2542 return this.subBalanceGroup.transferToSubstrate(signer, address, amount);2543 }25442545 async forceTransferToSubstrate(signer: TSigner, from: TSubstrateAccount, to: TSubstrateAccount, amount: bigint | string): Promise<boolean> {2546 const result = await this.helper.executeExtrinsic(signer, 'api.tx.balances.forceTransfer', [from, to, amount], true);25472548 let transfer = { from: null, to: null, amount: 0n } as any;2549 result.result.events.forEach(({ event: { data, method, section } }) => {2550 if ((section === 'balances') && (method === 'Transfer')) {2551 transfer = {2552 from: this.helper.address.normalizeSubstrate(data[0]),2553 to: this.helper.address.normalizeSubstrate(data[1]),2554 amount: BigInt(data[2]),2555 };2556 }2557 });2558 let isSuccess = this.helper.address.normalizeSubstrate(from) === transfer.from;2559 isSuccess = isSuccess && this.helper.address.normalizeSubstrate(to) === transfer.to;2560 isSuccess = isSuccess && BigInt(amount) === transfer.amount;2561 return isSuccess;2562 }25632564 /**2565 * Transfer tokens with the unlock period2566 * @param signer signers Keyring2567 * @param address Substrate address of recipient2568 * @param schedule Schedule params2569 * @example vestedTransfer(signer, recepient.address, 20000, 100, 10, 50 * nominal); // total amount of vested tokens will be 100 * 50 = 50002570 */2571 async vestedTransfer(signer: TSigner, address: TSubstrateAccount, schedule: { start: bigint, period: bigint, periodCount: bigint, perPeriod: bigint }): Promise<void> {2572 const result = await this.helper.executeExtrinsic(signer, 'api.tx.vesting.vestedTransfer', [address, schedule]);2573 const event = result.result.events2574 .find(e => e.event.section === 'vesting' &&2575 e.event.method === 'VestingScheduleAdded' &&2576 e.event.data[0].toHuman() === signer.address);2577 if (!event) throw Error('Cannot find transfer in events');2578 }25792580 /**2581 * Get schedule for recepient of vested transfer2582 * @param address Substrate address of recipient2583 * @returns2584 */2585 async getVestingSchedules(address: TSubstrateAccount): Promise<{ start: bigint, period: bigint, periodCount: bigint, perPeriod: bigint }[]> {2586 const schedule = (await this.helper.callRpc('api.query.vesting.vestingSchedules', [address])).toJSON();2587 return schedule.map((schedule: any) => ({2588 start: BigInt(schedule.start),2589 period: BigInt(schedule.period),2590 periodCount: BigInt(schedule.periodCount),2591 perPeriod: BigInt(schedule.perPeriod),2592 }));2593 }25942595 /**2596 * Claim vested tokens2597 * @param signer signers Keyring2598 */2599 async claim(signer: TSigner) {2600 const result = await this.helper.executeExtrinsic(signer, 'api.tx.vesting.claim', []);2601 const event = result.result.events2602 .find(e => e.event.section === 'vesting' &&2603 e.event.method === 'Claimed' &&2604 e.event.data[0].toHuman() === signer.address);2605 if (!event) throw Error('Cannot find claim in events');2606 }2607}26082609class AddressGroup extends HelperGroup<ChainHelperBase> {2610 /**2611 * Normalizes the address to the specified ss58 format, by default ```42```.2612 * @param address substrate address2613 * @param ss58Format format for address conversion, by default ```42```2614 * @example normalizeSubstrate("unjKJQJrRd238pkUZZvzDQrfKuM39zBSnQ5zjAGAGcdRhaJTx") // returns 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY2615 * @returns substrate address converted to normalized (i.e., starting with 5) or specified explicitly representation2616 */2617 normalizeSubstrate(address: TSubstrateAccount, ss58Format = 42): TSubstrateAccount {2618 return CrossAccountId.normalizeSubstrateAddress(address, ss58Format);2619 }26202621 /**2622 * Get address in the connected chain format2623 * @param address substrate address2624 * @example normalizeSubstrateToChainFormat("5GrwvaEF5zXb26Fz...") // returns unjKJQJrRd238pkUZZ... for Unique Network2625 * @returns address in chain format2626 */2627 normalizeSubstrateToChainFormat(address: TSubstrateAccount): TSubstrateAccount {2628 return this.normalizeSubstrate(address, this.helper.chain.getChainProperties().ss58Format);2629 }26302631 /**2632 * Get substrate mirror of an ethereum address2633 * @param ethAddress ethereum address2634 * @param toChainFormat false for normalized account2635 * @example ethToSubstrate('0x9F0583DbB855d...')2636 * @returns substrate mirror of a provided ethereum address2637 */2638 ethToSubstrate(ethAddress: TEthereumAccount, toChainFormat = false): TSubstrateAccount {2639 return CrossAccountId.translateEthToSub(ethAddress, toChainFormat ? this.helper.chain.getChainProperties().ss58Format : undefined);2640 }26412642 /**2643 * Get ethereum mirror of a substrate address2644 * @param subAddress substrate account2645 * @example substrateToEth("5DnSF6RRjwteE3BrC...")2646 * @returns ethereum mirror of a provided substrate address2647 */2648 substrateToEth(subAddress: TSubstrateAccount): TEthereumAccount {2649 return CrossAccountId.translateSubToEth(subAddress);2650 }26512652 /**2653 * Encode key to substrate address2654 * @param key key for encoding address2655 * @param ss58Format prefix for encoding to the address of the corresponding network2656 * @returns encoded substrate address2657 */2658 encodeSubstrateAddress(key: Uint8Array | string | bigint, ss58Format = 42): string {2659 const u8a: Uint8Array = typeof key === 'string'2660 ? hexToU8a(key)2661 : typeof key === 'bigint'2662 ? hexToU8a(key.toString(16))2663 : key;26642665 if (ss58Format < 0 || ss58Format > 16383 || [46, 47].includes(ss58Format)) {2666 throw new Error(`ss58Format is not valid, received ${typeofss58Format} "${ss58Format}"`);2667 }26682669 const allowedDecodedLengths = [1, 2, 4, 8, 32, 33];2670 if (!allowedDecodedLengths.includes(u8a.length)) {2671 throw new Error(`key length is not valid, received ${u8a.length}, valid values are ${allowedDecodedLengths.join(', ')}`);2672 }26732674 const u8aPrefix = ss58Format < 642675 ? new Uint8Array([ss58Format])2676 : new Uint8Array([2677 ((ss58Format & 0xfc) >> 2) | 0x40,2678 (ss58Format >> 8) | ((ss58Format & 0x03) << 6),2679 ]);26802681 const input = u8aConcat(u8aPrefix, u8a);26822683 return base58Encode(u8aConcat(2684 input,2685 blake2AsU8a(input).subarray(0, [32, 33].includes(u8a.length) ? 2 : 1),2686 ));2687 }26882689 /**2690 * Restore substrate address from bigint representation2691 * @param number decimal representation of substrate address2692 * @returns substrate address2693 */2694 restoreCrossAccountFromBigInt(number: bigint): TSubstrateAccount {2695 if (this.helper.api === null) {2696 throw 'Not connected';2697 }2698 const res = this.helper.api.registry.createType('AccountId', '0x' + number.toString(16).padStart(64, '0')).toJSON();2699 if (res === undefined || res === null) {2700 throw 'Restore address error';2701 }2702 return res.toString();2703 }27042705 /**2706 * Convert etherium cross account id to substrate cross account id2707 * @param ethCrossAccount etherium cross account2708 * @returns substrate cross account id2709 */2710 convertCrossAccountFromEthCrossAccount(ethCrossAccount: IEthCrossAccountId): ICrossAccountId {2711 if (ethCrossAccount.sub === '0') {2712 return { Ethereum: ethCrossAccount.eth.toLocaleLowerCase() };2713 }27142715 const ss58 = this.restoreCrossAccountFromBigInt(BigInt(ethCrossAccount.sub));2716 return { Substrate: ss58 };2717 }27182719 paraSiblingSovereignAccount(paraid: number) {2720 // We are getting a *sibling* parachain sovereign account,2721 // so we need a sibling prefix: encoded(b"sibl") == 0x7369626c2722 const siblingPrefix = '0x7369626c';27232724 const encodedParaId = this.helper.getApi().createType('u32', paraid).toHex(true).substring(2);2725 const suffix = '000000000000000000000000000000000000000000000000';27262727 return siblingPrefix + encodedParaId + suffix;2728 }2729}27302731class StakingGroup extends HelperGroup<UniqueHelper> {2732 /**2733 * Stake tokens for App Promotion2734 * @param signer keyring of signer2735 * @param amountToStake amount of tokens to stake2736 * @param label extra label for log2737 * @returns2738 */2739 async stake(signer: TSigner, amountToStake: bigint, label?: string): Promise<boolean> {2740 if (typeof label === 'undefined') label = `${signer.address} amount: ${amountToStake}`;2741 const _stakeResult = await this.helper.executeExtrinsic(2742 signer, 'api.tx.appPromotion.stake',2743 [amountToStake], true,2744 );2745 // TODO extract info from stakeResult2746 return true;2747 }27482749 /**2750 * Unstake all staked tokens2751 * @param signer keyring of signer2752 * @param amountToUnstake amount of tokens to unstake2753 * @param label extra label for log2754 * @returns block hash where unstake happened2755 */2756 async unstakeAll(signer: TSigner, label?: string): Promise<string> {2757 if (typeof label === 'undefined') label = `${signer.address}`;2758 const unstakeResult = await this.helper.executeExtrinsic(2759 signer, 'api.tx.appPromotion.unstakeAll',2760 [], true,2761 );2762 return unstakeResult.blockHash;2763 }27642765 /**2766 * Unstake the part of a staked tokens2767 * @param signer keyring of signer2768 * @param amount amount of tokens to unstake2769 * @param label extra label for log2770 * @returns block hash where unstake happened2771 */2772 async unstakePartial(signer: TSigner, amount: bigint, label?: string): Promise<string> {2773 if (typeof label === 'undefined') label = `${signer.address}`;2774 const unstakeResult = await this.helper.executeExtrinsic(2775 signer, 'api.tx.appPromotion.unstakePartial',2776 [amount], true,2777 );2778 return unstakeResult.blockHash;2779 }27802781 /**2782 * Get total number of active stakes2783 * @param address substrate address2784 * @returns {number}2785 */2786 async getStakesNumber(address: ICrossAccountId): Promise<number> {2787 if ('Ethereum' in address) throw Error('only substrate address');2788 return (await this.helper.callRpc('api.query.appPromotion.stakesPerAccount', [address.Substrate])).toNumber();2789 }27902791 /**2792 * Get total staked amount for address2793 * @param address substrate or ethereum address2794 * @returns total staked amount2795 */2796 async getTotalStaked(address?: ICrossAccountId): Promise<bigint> {2797 if (address) return (await this.helper.callRpc('api.rpc.appPromotion.totalStaked', [address])).toBigInt();2798 return (await this.helper.callRpc('api.rpc.appPromotion.totalStaked')).toBigInt();2799 }28002801 /**2802 * Get total staked per block2803 * @param address substrate or ethereum address2804 * @returns array of stakes. `block` – the number of the block in which the stake was made. `amount` - the number of tokens staked in the block2805 */2806 async getTotalStakedPerBlock(address: ICrossAccountId): Promise<IStakingInfo[]> {2807 const rawTotalStakerdPerBlock = await this.helper.callRpc('api.rpc.appPromotion.totalStakedPerBlock', [address]);2808 return rawTotalStakerdPerBlock.map(([block, amount]: any[]) => ({2809 block: block.toBigInt(),2810 amount: amount.toBigInt(),2811 }));2812 }28132814 /**2815 * Get total pending unstake amount for address2816 * @param address substrate or ethereum address2817 * @returns total pending unstake amount2818 */2819 async getPendingUnstake(address: ICrossAccountId): Promise<bigint> {2820 return (await this.helper.callRpc('api.rpc.appPromotion.pendingUnstake', [address])).toBigInt();2821 }28222823 /**2824 * Get pending unstake amount per block for address2825 * @param address substrate or ethereum address2826 * @returns array of pending stakes. `block` – the number of the block in which the unstake was made. `amount` - the number of tokens unstaked in the block2827 */2828 async getPendingUnstakePerBlock(address: ICrossAccountId): Promise<IStakingInfo[]> {2829 const rawUnstakedPerBlock = await this.helper.callRpc('api.rpc.appPromotion.pendingUnstakePerBlock', [address]);2830 const result = rawUnstakedPerBlock.map(([block, amount]: any[]) => ({2831 block: block.toBigInt(),2832 amount: amount.toBigInt(),2833 }));2834 return result;2835 }2836}28372838class SchedulerGroup extends HelperGroup<UniqueHelper> {2839 constructor(helper: UniqueHelper) {2840 super(helper);2841 }28422843 cancelScheduled(signer: TSigner, scheduledId: string) {2844 return this.helper.executeExtrinsic(2845 signer,2846 'api.tx.scheduler.cancelNamed',2847 [scheduledId],2848 true,2849 );2850 }28512852 changePriority(signer: TSigner, scheduledId: string, priority: number) {2853 return this.helper.executeExtrinsic(2854 signer,2855 'api.tx.scheduler.changeNamedPriority',2856 [scheduledId, priority],2857 true,2858 );2859 }28602861 scheduleAt<T extends UniqueHelper>(2862 executionBlockNumber: number,2863 options: ISchedulerOptions = {},2864 ) {2865 return this.schedule<T>('schedule', executionBlockNumber, options);2866 }28672868 scheduleAfter<T extends UniqueHelper>(2869 blocksBeforeExecution: number,2870 options: ISchedulerOptions = {},2871 ) {2872 return this.schedule<T>('scheduleAfter', blocksBeforeExecution, options);2873 }28742875 schedule<T extends UniqueHelper>(2876 scheduleFn: 'schedule' | 'scheduleAfter',2877 blocksNum: number,2878 options: ISchedulerOptions = {},2879 ) {2880 // eslint-disable-next-line @typescript-eslint/naming-convention2881 const ScheduledHelperType = ScheduledUniqueHelper(this.helper.helperBase);2882 return this.helper.clone(ScheduledHelperType, {2883 scheduleFn,2884 blocksNum,2885 options,2886 }) as T;2887 }2888}28892890class CollatorSelectionGroup extends HelperGroup<UniqueHelper> {2891 //todo:collator documentation2892 addInvulnerable(signer: TSigner, address: string) {2893 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.addInvulnerable', [address]);2894 }28952896 removeInvulnerable(signer: TSigner, address: string) {2897 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.removeInvulnerable', [address]);2898 }28992900 async getInvulnerables(): Promise<string[]> {2901 return (await this.helper.callRpc('api.query.collatorSelection.invulnerables')).map((x: any) => x.toHuman());2902 }29032904 /** and also total max invulnerables */2905 maxCollators(): number {2906 return (this.helper.getApi().consts.configuration.defaultCollatorSelectionMaxCollators.toJSON() as number);2907 }29082909 async getDesiredCollators(): Promise<number> {2910 return (await this.helper.callRpc('api.query.configuration.collatorSelectionDesiredCollatorsOverride')).toNumber();2911 }29122913 setLicenseBond(signer: TSigner, amount: bigint) {2914 return this.helper.executeExtrinsic(signer, 'api.tx.configuration.setCollatorSelectionLicenseBond', [amount]);2915 }29162917 async getLicenseBond(): Promise<bigint> {2918 return (await this.helper.callRpc('api.query.configuration.collatorSelectionLicenseBondOverride')).toBigInt();2919 }29202921 obtainLicense(signer: TSigner) {2922 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.getLicense', []);2923 }29242925 releaseLicense(signer: TSigner) {2926 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.releaseLicense', []);2927 }29282929 forceReleaseLicense(signer: TSigner, released: string) {2930 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.forceReleaseLicense', [released]);2931 }29322933 async hasLicense(address: string): Promise<bigint> {2934 return (await this.helper.callRpc('api.query.collatorSelection.licenseDepositOf', [address])).toBigInt();2935 }29362937 onboard(signer: TSigner) {2938 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.onboard', []);2939 }29402941 offboard(signer: TSigner) {2942 return this.helper.executeExtrinsic(signer, 'api.tx.collatorSelection.offboard', []);2943 }29442945 async getCandidates(): Promise<string[]> {2946 return (await this.helper.callRpc('api.query.collatorSelection.candidates')).map((x: any) => x.toHuman());2947 }2948}29492950class PreimageGroup extends HelperGroup<UniqueHelper> {2951 async getPreimageInfo(h256: string) {2952 return (await this.helper.callRpc('api.query.preimage.statusFor', [h256])).toJSON();2953 }29542955 /**2956 * Create a preimage with a hex or a byte array.2957 * @param signer keyring of the signer.2958 * @param bytes preimage encoded in hex or a byte array, e.g. an extrinsic call.2959 * @example await notePreimage(preimageMaker,2960 * helper.constructApiCall('api.tx.identity.forceInsertIdentities', [identitiesToAdd]).method.toHex()2961 * );2962 * @returns promise of extrinsic execution.2963 */2964 notePreimage(signer: TSigner, bytes: string | Uint8Array) {2965 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.notePreimage', [bytes]);2966 }29672968 /**2969 * Delete an existing preimage and return the deposit.2970 * @param signer keyring of the signer - either the owner or the preimage manager (sudo).2971 * @param h256 hash of the preimage.2972 * @returns promise of extrinsic execution.2973 */2974 unnotePreimage(signer: TSigner, h256: string) {2975 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.unnotePreimage', [h256]);2976 }29772978 /**2979 * Request a preimage be uploaded to the chain without paying any fees or deposits.2980 * @param signer keyring of the signer - either the owner or the preimage manager (sudo).2981 * @param h256 hash of the preimage.2982 * @returns promise of extrinsic execution.2983 */2984 requestPreimage(signer: TSigner, h256: string) {2985 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.requestPreimage', [h256]);2986 }29872988 /**2989 * Clear a previously made request for a preimage.2990 * @param signer keyring of the signer - either the owner or the preimage manager (sudo).2991 * @param h256 hash of the preimage.2992 * @returns promise of extrinsic execution.2993 */2994 unrequestPreimage(signer: TSigner, h256: string) {2995 return this.helper.executeExtrinsic(signer, 'api.tx.preimage.unrequestPreimage', [h256]);2996 }2997}29982999class ForeignAssetsGroup extends HelperGroup<UniqueHelper> {3000 async register(signer: TSigner, ownerAddress: TSubstrateAccount, location: any, metadata: IForeignAssetMetadata) {3001 await this.helper.executeExtrinsic(3002 signer,3003 'api.tx.foreignAssets.registerForeignAsset',3004 [ownerAddress, location, metadata],3005 true,3006 );3007 }30083009 async update(signer: TSigner, foreignAssetId: number, location: any, metadata: IForeignAssetMetadata) {3010 await this.helper.executeExtrinsic(3011 signer,3012 'api.tx.foreignAssets.updateForeignAsset',3013 [foreignAssetId, location, metadata],3014 true,3015 );3016 }3017}30183019class XcmGroup<T extends ChainHelperBase> extends HelperGroup<T> {3020 palletName: string;30213022 constructor(helper: T, palletName: string) {3023 super(helper);30243025 this.palletName = palletName;3026 }30273028 async limitedReserveTransferAssets(signer: TSigner, destination: any, beneficiary: any, assets: any, feeAssetItem: number, weightLimit: any) {3029 await this.helper.executeExtrinsic(signer, `api.tx.${this.palletName}.limitedReserveTransferAssets`, [destination, beneficiary, assets, feeAssetItem, weightLimit], true);3030 }30313032 async setSafeXcmVersion(signer: TSigner, version: number) {3033 await this.helper.executeExtrinsic(signer, `api.tx.${this.palletName}.forceDefaultXcmVersion`, [version], true);3034 }30353036 async teleportAssets(signer: TSigner, destination: any, beneficiary: any, assets: any, feeAssetItem: number) {3037 await this.helper.executeExtrinsic(signer, `api.tx.${this.palletName}.teleportAssets`, [destination, beneficiary, assets, feeAssetItem], true);3038 }30393040 async teleportNativeAsset(signer: TSigner, destinationParaId: number, targetAccount: Uint8Array, amount: bigint, xcmVersion = 3) {3041 const destinationContent = {3042 parents: 0,3043 interior: {3044 X1: {3045 Parachain: destinationParaId,3046 },3047 },3048 };30493050 const beneficiaryContent = {3051 parents: 0,3052 interior: {3053 X1: {3054 AccountId32: {3055 network: 'Any',3056 id: targetAccount,3057 },3058 },3059 },3060 };30613062 const assetsContent = [3063 {3064 id: {3065 Concrete: {3066 parents: 0,3067 interior: 'Here',3068 },3069 },3070 fun: {3071 Fungible: amount,3072 },3073 },3074 ];30753076 let destination;3077 let beneficiary;3078 let assets;30793080 if (xcmVersion == 2) {3081 destination = { V1: destinationContent };3082 beneficiary = { V1: beneficiaryContent };3083 assets = { V1: assetsContent };30843085 } else if (xcmVersion == 3) {3086 destination = { V2: destinationContent };3087 beneficiary = { V2: beneficiaryContent };3088 assets = { V2: assetsContent };30893090 } else {3091 throw Error('Unknown XCM version: ' + xcmVersion);3092 }30933094 const feeAssetItem = 0;30953096 await this.teleportAssets(signer, destination, beneficiary, assets, feeAssetItem);3097 }30983099 async send(signer: IKeyringPair, destination: any, message: any) {3100 await this.helper.executeExtrinsic(3101 signer,3102 `api.tx.${this.palletName}.send`,3103 [3104 destination,3105 message,3106 ],3107 true,3108 );3109 }3110}31113112class XTokensGroup<T extends ChainHelperBase> extends HelperGroup<T> {3113 async transfer(signer: TSigner, currencyId: any, amount: bigint, destination: any, destWeight: any) {3114 await this.helper.executeExtrinsic(signer, 'api.tx.xTokens.transfer', [currencyId, amount, destination, destWeight], true);3115 }31163117 async transferMultiasset(signer: TSigner, asset: any, destination: any, destWeight: any) {3118 await this.helper.executeExtrinsic(signer, 'api.tx.xTokens.transferMultiasset', [asset, destination, destWeight], true);3119 }31203121 async transferMulticurrencies(signer: TSigner, currencies: any[], feeItem: number, destLocation: any, destWeight: any) {3122 await this.helper.executeExtrinsic(signer, 'api.tx.xTokens.transferMulticurrencies', [currencies, feeItem, destLocation, destWeight], true);3123 }3124}31253126class TokensGroup<T extends ChainHelperBase> extends HelperGroup<T> {3127 async accounts(address: string, currencyId: any) {3128 const { free } = (await this.helper.callRpc('api.query.tokens.accounts', [address, currencyId])).toJSON() as any;3129 return BigInt(free);3130 }3131}31323133class AssetsGroup<T extends ChainHelperBase> extends HelperGroup<T> {3134 async create(signer: TSigner, assetId: number, admin: string, minimalBalance: bigint) {3135 await this.helper.executeExtrinsic(signer, 'api.tx.assets.create', [assetId, admin, minimalBalance], true);3136 }31373138 async setMetadata(signer: TSigner, assetId: number, name: string, symbol: string, decimals: number) {3139 await this.helper.executeExtrinsic(signer, 'api.tx.assets.setMetadata', [assetId, name, symbol, decimals], true);3140 }31413142 async mint(signer: TSigner, assetId: number, beneficiary: string, amount: bigint) {3143 await this.helper.executeExtrinsic(signer, 'api.tx.assets.mint', [assetId, beneficiary, amount], true);3144 }31453146 async account(assetId: string | number, address: string) {3147 const accountAsset = (3148 await this.helper.callRpc('api.query.assets.account', [assetId, address])3149 ).toJSON()! as any;31503151 if (accountAsset !== null) {3152 return BigInt(accountAsset['balance']);3153 } else {3154 return null;3155 }3156 }3157}31583159class AcalaAssetRegistryGroup extends HelperGroup<AcalaHelper> {3160 async registerForeignAsset(signer: TSigner, destination: any, metadata: AcalaAssetMetadata) {3161 await this.helper.executeExtrinsic(signer, 'api.tx.assetRegistry.registerForeignAsset', [destination, metadata], true);3162 }3163}31643165class MoonbeamAssetManagerGroup extends HelperGroup<MoonbeamHelper> {3166 makeRegisterForeignAssetProposal(assetInfo: MoonbeamAssetInfo) {3167 const apiPrefix = 'api.tx.assetManager.';31683169 const registerTx = this.helper.constructApiCall(3170 apiPrefix + 'registerForeignAsset',3171 [assetInfo.location, assetInfo.metadata, assetInfo.existentialDeposit, assetInfo.isSufficient],3172 );31733174 const setUnitsTx = this.helper.constructApiCall(3175 apiPrefix + 'setAssetUnitsPerSecond',3176 [assetInfo.location, assetInfo.unitsPerSecond, assetInfo.numAssetsWeightHint],3177 );31783179 const batchCall = this.helper.getApi().tx.utility.batchAll([registerTx, setUnitsTx]);3180 const encodedProposal = batchCall?.method.toHex() || '';3181 return encodedProposal;3182 }31833184 async assetTypeId(location: any) {3185 return await this.helper.callRpc('api.query.assetManager.assetTypeId', [location]);3186 }3187}31883189class MoonbeamDemocracyGroup extends HelperGroup<MoonbeamHelper> {3190 notePreimagePallet: string;31913192 constructor(helper: MoonbeamHelper, options: { [key: string]: any } = {}) {3193 super(helper);3194 this.notePreimagePallet = options.notePreimagePallet;3195 }31963197 async notePreimage(signer: TSigner, encodedProposal: string) {3198 await this.helper.executeExtrinsic(signer, `api.tx.${this.notePreimagePallet}.notePreimage`, [encodedProposal], true);3199 }32003201 externalProposeMajority(proposal: any) {3202 return this.helper.constructApiCall('api.tx.democracy.externalProposeMajority', [proposal]);3203 }32043205 fastTrack(proposalHash: string, votingPeriod: number, delayPeriod: number) {3206 return this.helper.constructApiCall('api.tx.democracy.fastTrack', [proposalHash, votingPeriod, delayPeriod]);3207 }32083209 async referendumVote(signer: TSigner, referendumIndex: number, accountVote: DemocracyStandardAccountVote) {3210 await this.helper.executeExtrinsic(signer, 'api.tx.democracy.vote', [referendumIndex, { Standard: accountVote }], true);3211 }3212}32133214class MoonbeamCollectiveGroup extends HelperGroup<MoonbeamHelper> {3215 collective: string;32163217 constructor(helper: MoonbeamHelper, collective: string) {3218 super(helper);32193220 this.collective = collective;3221 }32223223 async propose(signer: TSigner, threshold: number, proposalHash: string, lengthBound: number) {3224 await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.propose`, [threshold, proposalHash, lengthBound], true);3225 }32263227 async vote(signer: TSigner, proposalHash: string, proposalIndex: number, approve: boolean) {3228 await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.vote`, [proposalHash, proposalIndex, approve], true);3229 }32303231 async close(signer: TSigner, proposalHash: string, proposalIndex: number, weightBound: any, lengthBound: number) {3232 await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.close`, [proposalHash, proposalIndex, weightBound, lengthBound], true);3233 }32343235 async proposalCount() {3236 return Number(await this.helper.callRpc(`api.query.${this.collective}.proposalCount`, []));3237 }3238}32393240export type ChainHelperBaseConstructor = new (...args: any[]) => ChainHelperBase;3241export type UniqueHelperConstructor = new (...args: any[]) => UniqueHelper;32423243export class UniqueHelper extends ChainHelperBase {3244 balance: BalanceGroup<UniqueHelper>;3245 collection: CollectionGroup;3246 nft: NFTGroup;3247 rft: RFTGroup;3248 ft: FTGroup;3249 staking: StakingGroup;3250 scheduler: SchedulerGroup;3251 collatorSelection: CollatorSelectionGroup;3252 preimage: PreimageGroup;3253 foreignAssets: ForeignAssetsGroup;3254 xcm: XcmGroup<UniqueHelper>;3255 xTokens: XTokensGroup<UniqueHelper>;3256 tokens: TokensGroup<UniqueHelper>;32573258 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3259 super(logger, options.helperBase ?? UniqueHelper);32603261 this.balance = new BalanceGroup(this);3262 this.collection = new CollectionGroup(this);3263 this.nft = new NFTGroup(this);3264 this.rft = new RFTGroup(this);3265 this.ft = new FTGroup(this);3266 this.staking = new StakingGroup(this);3267 this.scheduler = new SchedulerGroup(this);3268 this.collatorSelection = new CollatorSelectionGroup(this);3269 this.preimage = new PreimageGroup(this);3270 this.foreignAssets = new ForeignAssetsGroup(this);3271 this.xcm = new XcmGroup(this, 'polkadotXcm');3272 this.xTokens = new XTokensGroup(this);3273 this.tokens = new TokensGroup(this);3274 }32753276 getSudo<T extends UniqueHelper>() {3277 // eslint-disable-next-line @typescript-eslint/naming-convention3278 const SudoHelperType = SudoHelper(this.helperBase);3279 return this.clone(SudoHelperType) as T;3280 }3281}32823283export class XcmChainHelper extends ChainHelperBase {3284 async connect(wsEndpoint: string, _listeners?: any): Promise<void> {3285 const wsProvider = new WsProvider(wsEndpoint);3286 this.api = new ApiPromise({3287 provider: wsProvider,3288 });3289 await this.api.isReadyOrError;3290 this.network = await UniqueHelper.detectNetwork(this.api);3291 }3292}32933294export class RelayHelper extends XcmChainHelper {3295 balance: SubstrateBalanceGroup<RelayHelper>;3296 xcm: XcmGroup<RelayHelper>;32973298 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3299 super(logger, options.helperBase ?? RelayHelper);33003301 this.balance = new SubstrateBalanceGroup(this);3302 this.xcm = new XcmGroup(this, 'xcmPallet');3303 }3304}33053306export class WestmintHelper extends XcmChainHelper {3307 balance: SubstrateBalanceGroup<WestmintHelper>;3308 xcm: XcmGroup<WestmintHelper>;3309 assets: AssetsGroup<WestmintHelper>;3310 xTokens: XTokensGroup<WestmintHelper>;33113312 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3313 super(logger, options.helperBase ?? WestmintHelper);33143315 this.balance = new SubstrateBalanceGroup(this);3316 this.xcm = new XcmGroup(this, 'polkadotXcm');3317 this.assets = new AssetsGroup(this);3318 this.xTokens = new XTokensGroup(this);3319 }3320}33213322export class MoonbeamHelper extends XcmChainHelper {3323 balance: EthereumBalanceGroup<MoonbeamHelper>;3324 assetManager: MoonbeamAssetManagerGroup;3325 assets: AssetsGroup<MoonbeamHelper>;3326 xTokens: XTokensGroup<MoonbeamHelper>;3327 democracy: MoonbeamDemocracyGroup;3328 collective: {3329 council: MoonbeamCollectiveGroup,3330 techCommittee: MoonbeamCollectiveGroup,3331 };33323333 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3334 super(logger, options.helperBase ?? MoonbeamHelper);33353336 this.balance = new EthereumBalanceGroup(this);3337 this.assetManager = new MoonbeamAssetManagerGroup(this);3338 this.assets = new AssetsGroup(this);3339 this.xTokens = new XTokensGroup(this);3340 this.democracy = new MoonbeamDemocracyGroup(this, options);3341 this.collective = {3342 council: new MoonbeamCollectiveGroup(this, 'councilCollective'),3343 techCommittee: new MoonbeamCollectiveGroup(this, 'techCommitteeCollective'),3344 };3345 }3346}33473348export class AstarHelper extends XcmChainHelper {3349 balance: SubstrateBalanceGroup<AstarHelper>;3350 assets: AssetsGroup<AstarHelper>;3351 xcm: XcmGroup<AstarHelper>;33523353 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3354 super(logger, options.helperBase ?? AstarHelper);33553356 this.balance = new SubstrateBalanceGroup(this);3357 this.assets = new AssetsGroup(this);3358 this.xcm = new XcmGroup(this, 'polkadotXcm');3359 }33603361 getSudo<T extends UniqueHelper>() {3362 // eslint-disable-next-line @typescript-eslint/naming-convention3363 const SudoHelperType = SudoHelper(this.helperBase);3364 return this.clone(SudoHelperType) as T;3365 }3366}33673368export class AcalaHelper extends XcmChainHelper {3369 balance: SubstrateBalanceGroup<AcalaHelper>;3370 assetRegistry: AcalaAssetRegistryGroup;3371 xTokens: XTokensGroup<AcalaHelper>;3372 tokens: TokensGroup<AcalaHelper>;3373 xcm: XcmGroup<AcalaHelper>;33743375 constructor(logger?: ILogger, options: { [key: string]: any } = {}) {3376 super(logger, options.helperBase ?? AcalaHelper);33773378 this.balance = new SubstrateBalanceGroup(this);3379 this.assetRegistry = new AcalaAssetRegistryGroup(this);3380 this.xTokens = new XTokensGroup(this);3381 this.tokens = new TokensGroup(this);3382 this.xcm = new XcmGroup(this, 'polkadotXcm');3383 }33843385 getSudo<T extends AcalaHelper>() {3386 // eslint-disable-next-line @typescript-eslint/naming-convention3387 const SudoHelperType = SudoHelper(this.helperBase);3388 return this.clone(SudoHelperType) as T;3389 }3390}33913392// eslint-disable-next-line @typescript-eslint/naming-convention3393function ScheduledUniqueHelper<T extends UniqueHelperConstructor>(Base: T) {3394 return class extends Base {3395 scheduleFn: 'schedule' | 'scheduleAfter';3396 blocksNum: number;3397 options: ISchedulerOptions;33983399 constructor(...args: any[]) {3400 const logger = args[0] as ILogger;3401 const options = args[1] as {3402 scheduleFn: 'schedule' | 'scheduleAfter',3403 blocksNum: number,3404 options: ISchedulerOptions3405 };34063407 super(logger);34083409 this.scheduleFn = options.scheduleFn;3410 this.blocksNum = options.blocksNum;3411 this.options = options.options;3412 }34133414 executeExtrinsic(sender: IKeyringPair, scheduledExtrinsic: string, scheduledParams: any[], expectSuccess?: boolean): Promise<ITransactionResult> {3415 const scheduledTx = this.constructApiCall(scheduledExtrinsic, scheduledParams);34163417 const mandatorySchedArgs = [3418 this.blocksNum,3419 this.options.periodic ? [this.options.periodic.period, this.options.periodic.repetitions] : null,3420 this.options.priority ?? null,3421 scheduledTx,3422 ];34233424 let schedArgs;3425 let scheduleFn;34263427 if (this.options.scheduledId) {3428 schedArgs = [this.options.scheduledId!, ...mandatorySchedArgs];34293430 if (this.scheduleFn == 'schedule') {3431 scheduleFn = 'scheduleNamed';3432 } else if (this.scheduleFn == 'scheduleAfter') {3433 scheduleFn = 'scheduleNamedAfter';3434 }3435 } else {3436 schedArgs = mandatorySchedArgs;3437 scheduleFn = this.scheduleFn;3438 }34393440 const extrinsic = 'api.tx.scheduler.' + scheduleFn;34413442 return super.executeExtrinsic(3443 sender,3444 extrinsic as any,3445 schedArgs,3446 expectSuccess,3447 );3448 }3449 };3450}34513452// eslint-disable-next-line @typescript-eslint/naming-convention3453function SudoHelper<T extends ChainHelperBaseConstructor>(Base: T) {3454 return class extends Base {3455 constructor(...args: any[]) {3456 super(...args);3457 }34583459 async executeExtrinsic(3460 sender: IKeyringPair,3461 extrinsic: string,3462 params: any[],3463 expectSuccess?: boolean,3464 options: Partial<SignerOptions> | null = null,3465 ): Promise<ITransactionResult> {3466 const call = this.constructApiCall(extrinsic, params);3467 const result = await super.executeExtrinsic(3468 sender,3469 'api.tx.sudo.sudo',3470 [call],3471 expectSuccess,3472 options,3473 );34743475 if (result.status === 'Fail') return result;34763477 const data = (result.result.events.find(x => x.event.section == 'sudo' && x.event.method == 'Sudid')?.event.data as any).sudoResult;3478 if (data.isErr) {3479 if (data.asErr.isModule) {3480 const error = (result.result.events[1].event.data as any).sudoResult.asErr.asModule;3481 const metaError = super.getApi()?.registry.findMetaError(error);3482 throw new Error(`${metaError.section}.${metaError.name}`);3483 } else if (data.asErr.isToken) {3484 throw new Error(`Token: ${data.asErr.asToken}`);3485 }3486 // May be [object Object] in case of unhandled non-unit enum3487 throw new Error(`Misc: ${data.asErr.toHuman()}`);3488 }3489 return result;3490 }3491 };3492}34933494export class UniqueBaseCollection {3495 helper: UniqueHelper;3496 collectionId: number;34973498 constructor(collectionId: number, uniqueHelper: UniqueHelper) {3499 this.collectionId = collectionId;3500 this.helper = uniqueHelper;3501 }35023503 async getData() {3504 return await this.helper.collection.getData(this.collectionId);3505 }35063507 async getLastTokenId() {3508 return await this.helper.collection.getLastTokenId(this.collectionId);3509 }35103511 async doesTokenExist(tokenId: number) {3512 return await this.helper.collection.doesTokenExist(this.collectionId, tokenId);3513 }35143515 async getAdmins() {3516 return await this.helper.collection.getAdmins(this.collectionId);3517 }35183519 async getAllowList() {3520 return await this.helper.collection.getAllowList(this.collectionId);3521 }35223523 async getEffectiveLimits() {3524 return await this.helper.collection.getEffectiveLimits(this.collectionId);3525 }35263527 async getProperties(propertyKeys?: string[] | null) {3528 return await this.helper.collection.getProperties(this.collectionId, propertyKeys);3529 }35303531 async getPropertiesConsumedSpace() {3532 return await this.helper.collection.getPropertiesConsumedSpace(this.collectionId);3533 }35343535 async getTokenNextSponsored(tokenId: number, addressObj: ICrossAccountId) {3536 return await this.helper.collection.getTokenNextSponsored(this.collectionId, tokenId, addressObj);3537 }35383539 async getOptions() {3540 return await this.helper.collection.getCollectionOptions(this.collectionId);3541 }35423543 async setSponsor(signer: TSigner, sponsorAddress: TSubstrateAccount) {3544 return await this.helper.collection.setSponsor(signer, this.collectionId, sponsorAddress);3545 }35463547 async confirmSponsorship(signer: TSigner) {3548 return await this.helper.collection.confirmSponsorship(signer, this.collectionId);3549 }35503551 async removeSponsor(signer: TSigner) {3552 return await this.helper.collection.removeSponsor(signer, this.collectionId);3553 }35543555 async setLimits(signer: TSigner, limits: ICollectionLimits) {3556 return await this.helper.collection.setLimits(signer, this.collectionId, limits);3557 }35583559 async changeOwner(signer: TSigner, ownerAddress: TSubstrateAccount) {3560 return await this.helper.collection.changeOwner(signer, this.collectionId, ownerAddress);3561 }35623563 async addAdmin(signer: TSigner, adminAddressObj: ICrossAccountId) {3564 return await this.helper.collection.addAdmin(signer, this.collectionId, adminAddressObj);3565 }35663567 async addToAllowList(signer: TSigner, addressObj: ICrossAccountId) {3568 return await this.helper.collection.addToAllowList(signer, this.collectionId, addressObj);3569 }35703571 async removeFromAllowList(signer: TSigner, addressObj: ICrossAccountId) {3572 return await this.helper.collection.removeFromAllowList(signer, this.collectionId, addressObj);3573 }35743575 async removeAdmin(signer: TSigner, adminAddressObj: ICrossAccountId) {3576 return await this.helper.collection.removeAdmin(signer, this.collectionId, adminAddressObj);3577 }35783579 async setProperties(signer: TSigner, properties: IProperty[]) {3580 return await this.helper.collection.setProperties(signer, this.collectionId, properties);3581 }35823583 async deleteProperties(signer: TSigner, propertyKeys: string[]) {3584 return await this.helper.collection.deleteProperties(signer, this.collectionId, propertyKeys);3585 }35863587 async setPermissions(signer: TSigner, permissions: ICollectionPermissions) {3588 return await this.helper.collection.setPermissions(signer, this.collectionId, permissions);3589 }35903591 async enableNesting(signer: TSigner, permissions: INestingPermissions) {3592 return await this.helper.collection.enableNesting(signer, this.collectionId, permissions);3593 }35943595 async disableNesting(signer: TSigner) {3596 return await this.helper.collection.disableNesting(signer, this.collectionId);3597 }35983599 async burn(signer: TSigner) {3600 return await this.helper.collection.burn(signer, this.collectionId);3601 }36023603 scheduleAt<T extends UniqueHelper>(3604 executionBlockNumber: number,3605 options: ISchedulerOptions = {},3606 ) {3607 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3608 return new UniqueBaseCollection(this.collectionId, scheduledHelper);3609 }36103611 scheduleAfter<T extends UniqueHelper>(3612 blocksBeforeExecution: number,3613 options: ISchedulerOptions = {},3614 ) {3615 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3616 return new UniqueBaseCollection(this.collectionId, scheduledHelper);3617 }36183619 getSudo<T extends UniqueHelper>() {3620 return new UniqueBaseCollection(this.collectionId, this.helper.getSudo<T>());3621 }3622}362336243625export class UniqueNFTCollection extends UniqueBaseCollection {3626 getTokenObject(tokenId: number) {3627 return new UniqueNFToken(tokenId, this);3628 }36293630 async getTokensByAddress(addressObj: ICrossAccountId) {3631 return await this.helper.nft.getTokensByAddress(this.collectionId, addressObj);3632 }36333634 async getToken(tokenId: number, blockHashAt?: string) {3635 return await this.helper.nft.getToken(this.collectionId, tokenId, [], blockHashAt);3636 }36373638 async getTokenOwner(tokenId: number, blockHashAt?: string) {3639 return await this.helper.nft.getTokenOwner(this.collectionId, tokenId, blockHashAt);3640 }36413642 async getTokenTopmostOwner(tokenId: number, blockHashAt?: string) {3643 return await this.helper.nft.getTokenTopmostOwner(this.collectionId, tokenId, blockHashAt);3644 }36453646 async getTokenChildren(tokenId: number, blockHashAt?: string) {3647 return await this.helper.nft.getTokenChildren(this.collectionId, tokenId, blockHashAt);3648 }36493650 async getPropertyPermissions(propertyKeys: string[] | null = null) {3651 return await this.helper.nft.getPropertyPermissions(this.collectionId, propertyKeys);3652 }36533654 async getTokenProperties(tokenId: number, propertyKeys?: string[] | null) {3655 return await this.helper.nft.getTokenProperties(this.collectionId, tokenId, propertyKeys);3656 }36573658 async getTokenPropertiesConsumedSpace(tokenId: number): Promise<number> {3659 const api = this.helper.getApi();3660 const props = (await api.query.nonfungible.tokenProperties(this.collectionId, tokenId)).toJSON();36613662 return (props! as any).consumedSpace;3663 }36643665 async transferToken(signer: TSigner, tokenId: number, addressObj: ICrossAccountId) {3666 return await this.helper.nft.transferToken(signer, this.collectionId, tokenId, addressObj);3667 }36683669 async transferTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {3670 return await this.helper.nft.transferTokenFrom(signer, this.collectionId, tokenId, fromAddressObj, toAddressObj);3671 }36723673 async approveToken(signer: TSigner, tokenId: number, toAddressObj: ICrossAccountId) {3674 return await this.helper.nft.approveToken(signer, this.collectionId, tokenId, toAddressObj);3675 }36763677 async isTokenApproved(tokenId: number, toAddressObj: ICrossAccountId) {3678 return await this.helper.nft.isTokenApproved(this.collectionId, tokenId, toAddressObj);3679 }36803681 async mintToken(signer: TSigner, owner: ICrossAccountId = { Substrate: signer.address }, properties?: IProperty[]) {3682 return await this.helper.nft.mintToken(signer, { collectionId: this.collectionId, owner, properties });3683 }36843685 async mintMultipleTokens(signer: TSigner, tokens: { owner: ICrossAccountId, properties?: IProperty[] }[]) {3686 return await this.helper.nft.mintMultipleTokens(signer, this.collectionId, tokens);3687 }36883689 async burnToken(signer: TSigner, tokenId: number) {3690 return await this.helper.nft.burnToken(signer, this.collectionId, tokenId);3691 }36923693 async burnTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId) {3694 return await this.helper.nft.burnTokenFrom(signer, this.collectionId, tokenId, fromAddressObj);3695 }36963697 async setTokenProperties(signer: TSigner, tokenId: number, properties: IProperty[]) {3698 return await this.helper.nft.setTokenProperties(signer, this.collectionId, tokenId, properties);3699 }37003701 async deleteTokenProperties(signer: TSigner, tokenId: number, propertyKeys: string[]) {3702 return await this.helper.nft.deleteTokenProperties(signer, this.collectionId, tokenId, propertyKeys);3703 }37043705 async setTokenPropertyPermissions(signer: TSigner, permissions: ITokenPropertyPermission[]) {3706 return await this.helper.nft.setTokenPropertyPermissions(signer, this.collectionId, permissions);3707 }37083709 async nestToken(signer: TSigner, tokenId: number, toTokenObj: IToken) {3710 return await this.helper.nft.nestToken(signer, { collectionId: this.collectionId, tokenId }, toTokenObj);3711 }37123713 async unnestToken(signer: TSigner, tokenId: number, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {3714 return await this.helper.nft.unnestToken(signer, { collectionId: this.collectionId, tokenId }, fromTokenObj, toAddressObj);3715 }37163717 scheduleAt<T extends UniqueHelper>(3718 executionBlockNumber: number,3719 options: ISchedulerOptions = {},3720 ) {3721 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3722 return new UniqueNFTCollection(this.collectionId, scheduledHelper);3723 }37243725 scheduleAfter<T extends UniqueHelper>(3726 blocksBeforeExecution: number,3727 options: ISchedulerOptions = {},3728 ) {3729 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3730 return new UniqueNFTCollection(this.collectionId, scheduledHelper);3731 }37323733 getSudo<T extends UniqueHelper>() {3734 return new UniqueNFTCollection(this.collectionId, this.helper.getSudo<T>());3735 }3736}373737383739export class UniqueRFTCollection extends UniqueBaseCollection {3740 getTokenObject(tokenId: number) {3741 return new UniqueRFToken(tokenId, this);3742 }37433744 async getToken(tokenId: number, blockHashAt?: string) {3745 return await this.helper.rft.getToken(this.collectionId, tokenId, [], blockHashAt);3746 }37473748 async getTokenOwner(tokenId: number, blockHashAt?: string) {3749 return await this.helper.rft.getTokenOwner(this.collectionId, tokenId, blockHashAt);3750 }37513752 async getTokensByAddress(addressObj: ICrossAccountId) {3753 return await this.helper.rft.getTokensByAddress(this.collectionId, addressObj);3754 }37553756 async getTop10TokenOwners(tokenId: number) {3757 return await this.helper.rft.getTokenTop10Owners(this.collectionId, tokenId);3758 }37593760 async getTokenTopmostOwner(tokenId: number, blockHashAt?: string) {3761 return await this.helper.rft.getTokenTopmostOwner(this.collectionId, tokenId, blockHashAt);3762 }37633764 async getTokenBalance(tokenId: number, addressObj: ICrossAccountId) {3765 return await this.helper.rft.getTokenBalance(this.collectionId, tokenId, addressObj);3766 }37673768 async getTokenTotalPieces(tokenId: number) {3769 return await this.helper.rft.getTokenTotalPieces(this.collectionId, tokenId);3770 }37713772 async getTokenApprovedPieces(tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {3773 return await this.helper.rft.getTokenApprovedPieces(this.collectionId, tokenId, toAddressObj, fromAddressObj);3774 }37753776 async getPropertyPermissions(propertyKeys: string[] | null = null) {3777 return await this.helper.rft.getPropertyPermissions(this.collectionId, propertyKeys);3778 }37793780 async getTokenProperties(tokenId: number, propertyKeys?: string[] | null) {3781 return await this.helper.rft.getTokenProperties(this.collectionId, tokenId, propertyKeys);3782 }37833784 async getTokenPropertiesConsumedSpace(tokenId: number): Promise<number> {3785 const api = this.helper.getApi();3786 const props = (await api.query.refungible.tokenProperties(this.collectionId, tokenId)).toJSON();37873788 return (props! as any).consumedSpace;3789 }37903791 async transferToken(signer: TSigner, tokenId: number, addressObj: ICrossAccountId, amount = 1n) {3792 return await this.helper.rft.transferToken(signer, this.collectionId, tokenId, addressObj, amount);3793 }37943795 async transferTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {3796 return await this.helper.rft.transferTokenFrom(signer, this.collectionId, tokenId, fromAddressObj, toAddressObj, amount);3797 }37983799 async approveToken(signer: TSigner, tokenId: number, toAddressObj: ICrossAccountId, amount = 1n) {3800 return await this.helper.rft.approveToken(signer, this.collectionId, tokenId, toAddressObj, amount);3801 }38023803 async repartitionToken(signer: TSigner, tokenId: number, amount: bigint) {3804 return await this.helper.rft.repartitionToken(signer, this.collectionId, tokenId, amount);3805 }38063807 async mintToken(signer: TSigner, pieces = 1n, owner: ICrossAccountId = { Substrate: signer.address }, properties?: IProperty[]) {3808 return await this.helper.rft.mintToken(signer, { collectionId: this.collectionId, owner, pieces, properties });3809 }38103811 async mintMultipleTokens(signer: TSigner, tokens: { pieces: bigint, owner: ICrossAccountId, properties?: IProperty[] }[]) {3812 return await this.helper.rft.mintMultipleTokens(signer, this.collectionId, tokens);3813 }38143815 async burnToken(signer: TSigner, tokenId: number, amount = 1n) {3816 return await this.helper.rft.burnToken(signer, this.collectionId, tokenId, amount);3817 }38183819 async burnTokenFrom(signer: TSigner, tokenId: number, fromAddressObj: ICrossAccountId, amount = 1n) {3820 return await this.helper.rft.burnTokenFrom(signer, this.collectionId, tokenId, fromAddressObj, amount);3821 }38223823 async setTokenProperties(signer: TSigner, tokenId: number, properties: IProperty[]) {3824 return await this.helper.rft.setTokenProperties(signer, this.collectionId, tokenId, properties);3825 }38263827 async deleteTokenProperties(signer: TSigner, tokenId: number, propertyKeys: string[]) {3828 return await this.helper.rft.deleteTokenProperties(signer, this.collectionId, tokenId, propertyKeys);3829 }38303831 async setTokenPropertyPermissions(signer: TSigner, permissions: ITokenPropertyPermission[]) {3832 return await this.helper.rft.setTokenPropertyPermissions(signer, this.collectionId, permissions);3833 }38343835 async nestToken(signer: TSigner, tokenId: number, toTokenObj: IToken) {3836 return await this.helper.rft.nestToken(signer, { collectionId: this.collectionId, tokenId }, toTokenObj);3837 }38383839 async unnestToken(signer: TSigner, tokenId: number, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {3840 return await this.helper.rft.unnestToken(signer, { collectionId: this.collectionId, tokenId }, fromTokenObj, toAddressObj);3841 }38423843 scheduleAt<T extends UniqueHelper>(3844 executionBlockNumber: number,3845 options: ISchedulerOptions = {},3846 ) {3847 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3848 return new UniqueRFTCollection(this.collectionId, scheduledHelper);3849 }38503851 scheduleAfter<T extends UniqueHelper>(3852 blocksBeforeExecution: number,3853 options: ISchedulerOptions = {},3854 ) {3855 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3856 return new UniqueRFTCollection(this.collectionId, scheduledHelper);3857 }38583859 getSudo<T extends UniqueHelper>() {3860 return new UniqueRFTCollection(this.collectionId, this.helper.getSudo<T>());3861 }3862}386338643865export class UniqueFTCollection extends UniqueBaseCollection {3866 async getBalance(addressObj: ICrossAccountId) {3867 return await this.helper.ft.getBalance(this.collectionId, addressObj);3868 }38693870 async getTotalPieces() {3871 return await this.helper.ft.getTotalPieces(this.collectionId);3872 }38733874 async getApprovedTokens(fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {3875 return await this.helper.ft.getApprovedTokens(this.collectionId, fromAddressObj, toAddressObj);3876 }38773878 async getTop10Owners() {3879 return await this.helper.ft.getTop10Owners(this.collectionId);3880 }38813882 async mint(signer: TSigner, amount = 1n, owner: ICrossAccountId = { Substrate: signer.address }) {3883 return await this.helper.ft.mintTokens(signer, this.collectionId, amount, owner);3884 }38853886 async mintWithOneOwner(signer: TSigner, tokens: { value: bigint }[], owner: ICrossAccountId = { Substrate: signer.address }) {3887 return await this.helper.ft.mintMultipleTokensWithOneOwner(signer, this.collectionId, tokens, owner);3888 }38893890 async transfer(signer: TSigner, toAddressObj: ICrossAccountId, amount = 1n) {3891 return await this.helper.ft.transfer(signer, this.collectionId, toAddressObj, amount);3892 }38933894 async transferFrom(signer: TSigner, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {3895 return await this.helper.ft.transferFrom(signer, this.collectionId, fromAddressObj, toAddressObj, amount);3896 }38973898 async burnTokens(signer: TSigner, amount = 1n) {3899 return await this.helper.ft.burnTokens(signer, this.collectionId, amount);3900 }39013902 async burnTokensFrom(signer: TSigner, fromAddressObj: ICrossAccountId, amount = 1n) {3903 return await this.helper.ft.burnTokensFrom(signer, this.collectionId, fromAddressObj, amount);3904 }39053906 async approveTokens(signer: TSigner, toAddressObj: ICrossAccountId, amount = 1n) {3907 return await this.helper.ft.approveTokens(signer, this.collectionId, toAddressObj, amount);3908 }39093910 scheduleAt<T extends UniqueHelper>(3911 executionBlockNumber: number,3912 options: ISchedulerOptions = {},3913 ) {3914 const scheduledHelper = this.helper.scheduler.scheduleAt<T>(executionBlockNumber, options);3915 return new UniqueFTCollection(this.collectionId, scheduledHelper);3916 }39173918 scheduleAfter<T extends UniqueHelper>(3919 blocksBeforeExecution: number,3920 options: ISchedulerOptions = {},3921 ) {3922 const scheduledHelper = this.helper.scheduler.scheduleAfter<T>(blocksBeforeExecution, options);3923 return new UniqueFTCollection(this.collectionId, scheduledHelper);3924 }39253926 getSudo<T extends UniqueHelper>() {3927 return new UniqueFTCollection(this.collectionId, this.helper.getSudo<T>());3928 }3929}393039313932export class UniqueBaseToken {3933 collection: UniqueNFTCollection | UniqueRFTCollection;3934 collectionId: number;3935 tokenId: number;39363937 constructor(tokenId: number, collection: UniqueNFTCollection | UniqueRFTCollection) {3938 this.collection = collection;3939 this.collectionId = collection.collectionId;3940 this.tokenId = tokenId;3941 }39423943 async getNextSponsored(addressObj: ICrossAccountId) {3944 return await this.collection.getTokenNextSponsored(this.tokenId, addressObj);3945 }39463947 async getProperties(propertyKeys?: string[] | null) {3948 return await this.collection.getTokenProperties(this.tokenId, propertyKeys);3949 }39503951 async getTokenPropertiesConsumedSpace() {3952 return await this.collection.getTokenPropertiesConsumedSpace(this.tokenId);3953 }39543955 async setProperties(signer: TSigner, properties: IProperty[]) {3956 return await this.collection.setTokenProperties(signer, this.tokenId, properties);3957 }39583959 async deleteProperties(signer: TSigner, propertyKeys: string[]) {3960 return await this.collection.deleteTokenProperties(signer, this.tokenId, propertyKeys);3961 }39623963 async doesExist() {3964 return await this.collection.doesTokenExist(this.tokenId);3965 }39663967 nestingAccount() {3968 return this.collection.helper.util.getTokenAccount(this);3969 }39703971 scheduleAt<T extends UniqueHelper>(3972 executionBlockNumber: number,3973 options: ISchedulerOptions = {},3974 ) {3975 const scheduledCollection = this.collection.scheduleAt<T>(executionBlockNumber, options);3976 return new UniqueBaseToken(this.tokenId, scheduledCollection);3977 }39783979 scheduleAfter<T extends UniqueHelper>(3980 blocksBeforeExecution: number,3981 options: ISchedulerOptions = {},3982 ) {3983 const scheduledCollection = this.collection.scheduleAfter<T>(blocksBeforeExecution, options);3984 return new UniqueBaseToken(this.tokenId, scheduledCollection);3985 }39863987 getSudo<T extends UniqueHelper>() {3988 return new UniqueBaseToken(this.tokenId, this.collection.getSudo<T>());3989 }3990}399139923993export class UniqueNFToken extends UniqueBaseToken {3994 collection: UniqueNFTCollection;39953996 constructor(tokenId: number, collection: UniqueNFTCollection) {3997 super(tokenId, collection);3998 this.collection = collection;3999 }40004001 async getData(blockHashAt?: string) {4002 return await this.collection.getToken(this.tokenId, blockHashAt);4003 }40044005 async getOwner(blockHashAt?: string) {4006 return await this.collection.getTokenOwner(this.tokenId, blockHashAt);4007 }40084009 async getTopmostOwner(blockHashAt?: string) {4010 return await this.collection.getTokenTopmostOwner(this.tokenId, blockHashAt);4011 }40124013 async getChildren(blockHashAt?: string) {4014 return await this.collection.getTokenChildren(this.tokenId, blockHashAt);4015 }40164017 async nest(signer: TSigner, toTokenObj: IToken) {4018 return await this.collection.nestToken(signer, this.tokenId, toTokenObj);4019 }40204021 async unnest(signer: TSigner, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {4022 return await this.collection.unnestToken(signer, this.tokenId, fromTokenObj, toAddressObj);4023 }40244025 async transfer(signer: TSigner, addressObj: ICrossAccountId) {4026 return await this.collection.transferToken(signer, this.tokenId, addressObj);4027 }40284029 async transferFrom(signer: TSigner, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId) {4030 return await this.collection.transferTokenFrom(signer, this.tokenId, fromAddressObj, toAddressObj);4031 }40324033 async approve(signer: TSigner, toAddressObj: ICrossAccountId) {4034 return await this.collection.approveToken(signer, this.tokenId, toAddressObj);4035 }40364037 async isApproved(toAddressObj: ICrossAccountId) {4038 return await this.collection.isTokenApproved(this.tokenId, toAddressObj);4039 }40404041 async burn(signer: TSigner) {4042 return await this.collection.burnToken(signer, this.tokenId);4043 }40444045 async burnFrom(signer: TSigner, fromAddressObj: ICrossAccountId) {4046 return await this.collection.burnTokenFrom(signer, this.tokenId, fromAddressObj);4047 }40484049 scheduleAt<T extends UniqueHelper>(4050 executionBlockNumber: number,4051 options: ISchedulerOptions = {},4052 ) {4053 const scheduledCollection = this.collection.scheduleAt<T>(executionBlockNumber, options);4054 return new UniqueNFToken(this.tokenId, scheduledCollection);4055 }40564057 scheduleAfter<T extends UniqueHelper>(4058 blocksBeforeExecution: number,4059 options: ISchedulerOptions = {},4060 ) {4061 const scheduledCollection = this.collection.scheduleAfter<T>(blocksBeforeExecution, options);4062 return new UniqueNFToken(this.tokenId, scheduledCollection);4063 }40644065 getSudo<T extends UniqueHelper>() {4066 return new UniqueNFToken(this.tokenId, this.collection.getSudo<T>());4067 }4068}40694070export class UniqueRFToken extends UniqueBaseToken {4071 collection: UniqueRFTCollection;40724073 constructor(tokenId: number, collection: UniqueRFTCollection) {4074 super(tokenId, collection);4075 this.collection = collection;4076 }40774078 async getData(blockHashAt?: string) {4079 return await this.collection.getToken(this.tokenId, blockHashAt);4080 }40814082 async getOwner(blockHashAt?: string) {4083 return await this.collection.getTokenOwner(this.tokenId, blockHashAt);4084 }40854086 async getTop10Owners() {4087 return await this.collection.getTop10TokenOwners(this.tokenId);4088 }40894090 async getTopmostOwner(blockHashAt?: string) {4091 return await this.collection.getTokenTopmostOwner(this.tokenId, blockHashAt);4092 }40934094 async nest(signer: TSigner, toTokenObj: IToken) {4095 return await this.collection.nestToken(signer, this.tokenId, toTokenObj);4096 }40974098 async unnest(signer: TSigner, fromTokenObj: IToken, toAddressObj: ICrossAccountId) {4099 return await this.collection.unnestToken(signer, this.tokenId, fromTokenObj, toAddressObj);4100 }41014102 async getBalance(addressObj: ICrossAccountId) {4103 return await this.collection.getTokenBalance(this.tokenId, addressObj);4104 }41054106 async getTotalPieces() {4107 return await this.collection.getTokenTotalPieces(this.tokenId);4108 }41094110 async getApprovedPieces(fromAddressObj: ICrossAccountId, toAccountObj: ICrossAccountId) {4111 return await this.collection.getTokenApprovedPieces(this.tokenId, fromAddressObj, toAccountObj);4112 }41134114 async transfer(signer: TSigner, addressObj: ICrossAccountId, amount = 1n) {4115 return await this.collection.transferToken(signer, this.tokenId, addressObj, amount);4116 }41174118 async transferFrom(signer: TSigner, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount = 1n) {4119 return await this.collection.transferTokenFrom(signer, this.tokenId, fromAddressObj, toAddressObj, amount);4120 }41214122 async approve(signer: TSigner, toAddressObj: ICrossAccountId, amount = 1n) {4123 return await this.collection.approveToken(signer, this.tokenId, toAddressObj, amount);4124 }41254126 async repartition(signer: TSigner, amount: bigint) {4127 return await this.collection.repartitionToken(signer, this.tokenId, amount);4128 }41294130 async burn(signer: TSigner, amount = 1n) {4131 return await this.collection.burnToken(signer, this.tokenId, amount);4132 }41334134 async burnFrom(signer: TSigner, fromAddressObj: ICrossAccountId, amount = 1n) {4135 return await this.collection.burnTokenFrom(signer, this.tokenId, fromAddressObj, amount);4136 }41374138 scheduleAt<T extends UniqueHelper>(4139 executionBlockNumber: number,4140 options: ISchedulerOptions = {},4141 ) {4142 const scheduledCollection = this.collection.scheduleAt<T>(executionBlockNumber, options);4143 return new UniqueRFToken(this.tokenId, scheduledCollection);4144 }41454146 scheduleAfter<T extends UniqueHelper>(4147 blocksBeforeExecution: number,4148 options: ISchedulerOptions = {},4149 ) {4150 const scheduledCollection = this.collection.scheduleAfter<T>(blocksBeforeExecution, options);4151 return new UniqueRFToken(this.tokenId, scheduledCollection);4152 }41534154 getSudo<T extends UniqueHelper>() {4155 return new UniqueRFToken(this.tokenId, this.collection.getSudo<T>());4156 }4157}tests/yarn.lockdiffbeforeafterboth--- a/tests/yarn.lock
+++ b/tests/yarn.lock
@@ -2,6 +2,11 @@
# yarn lockfile v1
+"@aashutoshrathi/word-wrap@^1.2.3":
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
+ integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
+
"@colors/colors@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
@@ -14,26 +19,26 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
-"@eslint-community/eslint-utils@^4.2.0":
+"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.4.0":
+"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.5.0":
version "4.5.1"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
-"@eslint/eslintrc@^2.0.3":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
- integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
+"@eslint/eslintrc@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.0.tgz#82256f164cc9e0b59669efc19d57f8092706841d"
+ integrity sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
- espree "^9.5.2"
+ espree "^9.6.0"
globals "^13.19.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
@@ -41,10 +46,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.41.0":
- version "8.41.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.41.0.tgz#080321c3b68253522f7646b55b577dd99d2950b3"
- integrity sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==
+"@eslint/js@8.44.0":
+ version "8.44.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.44.0.tgz#961a5903c74139390478bdc808bcde3fc45ab7af"
+ integrity sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==
"@ethereumjs/common@2.5.0":
version "2.5.0"
@@ -247,10 +252,10 @@
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
-"@humanwhocodes/config-array@^0.11.8":
- version "0.11.8"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
- integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
+"@humanwhocodes/config-array@^0.11.10":
+ version "0.11.10"
+ resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2"
+ integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
debug "^4.1.1"
@@ -284,13 +289,6 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@noble/curves@1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932"
- integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==
- dependencies:
- "@noble/hashes" "1.3.0"
-
"@noble/curves@1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d"
@@ -303,11 +301,6 @@
resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123"
integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==
-"@noble/hashes@1.3.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1"
- integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==
-
"@noble/hashes@1.3.1":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9"
@@ -339,257 +332,128 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@openzeppelin/contracts@^4.6.0":
+"@openzeppelin/contracts@^4.6.0", "@openzeppelin/contracts@^4.9.2":
version "4.9.2"
resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.2.tgz#1cb2d5e4d3360141a17dbc45094a8cad6aac16c1"
integrity sha512-mO+y6JaqXjWeMh9glYVzVu8HYPGknAAnWyxTRhGeckOruyXQMNnlcW6w/Dx9ftLeIQk6N+ZJFuVmTwF7lEIFrg==
-"@openzeppelin/contracts@^4.9.0":
- version "4.9.1"
- resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.1.tgz#afa804d2c68398704b0175acc94d91a54f203645"
- integrity sha512-aLDTLu/If1qYIFW5g4ZibuQaUsFGWQPBq1mZKp/txaebUnGHDmmiBhRLY1tDNedN0m+fJtKZ1zAODS9Yk+V6uA==
-
-"@polkadot/api-augment@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.7.2.tgz#b49aba3a7ac0832b1e21910c21c159e2dd0d3d47"
- integrity sha512-2h3Rk2kYYEn3xtpzD2pwh1posgWK1/xWMISDypmNxChH/L44Ulch+jbbpk/JlOw0x3ClESRczZ8zcJOrKmDY8w==
+"@polkadot/api-augment@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.9.1.tgz#9fc81b81903229bb23b0b16783e97ec52a5d4f1b"
+ integrity sha512-kRZZvCFVcN4hAH4dJ+Qzfdy27/4EEq3oLDf3ihj0LTVrAezSWcKPGE3EVFy+Mn6Lo4SUc7RVyoKvIUhSk2l4Dg==
dependencies:
- "@polkadot/api-base" "10.7.2"
- "@polkadot/rpc-augment" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-augment" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/util" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/api-augment@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-10.8.1.tgz#585b93ef9d09c114b57a8794574a429386c94660"
- integrity sha512-KFfF0OESmFI8hFmuKGuU204+S4SORIxniZr88xUnEPyJQr4R6XYnbGSKcLJM5Y2MK8a7JEoKgg+hfnUTK6Se0w==
- dependencies:
- "@polkadot/api-base" "10.8.1"
- "@polkadot/rpc-augment" "10.8.1"
- "@polkadot/types" "10.8.1"
- "@polkadot/types-augment" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/api-base" "10.9.1"
+ "@polkadot/rpc-augment" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-augment" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/util" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/api-base@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.7.2.tgz#70650dd434163a6ae7c5d6c535267a5007e8d4fc"
- integrity sha512-Gb6ro7B5Xq565lE9x+XBdGoIWFVLnlhtAnG3a4RbQ8D+lr8L5QDtXEJHiGNhV2l/g4xoItJ6IFW4txhKdaJl9A==
- dependencies:
- "@polkadot/rpc-core" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/util" "^12.2.1"
- rxjs "^7.8.1"
- tslib "^2.5.2"
-
-"@polkadot/api-base@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.8.1.tgz#c6df0ff420c1af48ec58c823681d6c342d7b56f5"
- integrity sha512-13BZ04UtiCECQshstL9RBLDJ6nq9HSwWXwMuWZcXUEPSsPhfR3iT0o212dtGrGliakYWgGEU1LGJuGhZ5iK7TA==
+"@polkadot/api-base@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-10.9.1.tgz#27f63c4950814c2f10535f794121fa1384dc2207"
+ integrity sha512-Q3m2KzlceMK2kX8bhnUZWk3RT6emmijeeFZZQgCePpEcrSeNjnqG4qjuTPgkveaOkUT8MAoDc5Avuzcc2jlW9g==
dependencies:
- "@polkadot/rpc-core" "10.8.1"
- "@polkadot/types" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/rpc-core" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/util" "^12.3.1"
rxjs "^7.8.1"
tslib "^2.5.3"
-"@polkadot/api-derive@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.7.2.tgz#4c4f6d27f34f71f0a35d800c0477f25642c8552a"
- integrity sha512-2hrlvE5W0xdR3aT/AEWPfbReV5xm/8SVv9dK1EJd6xzfjB+TCpuDkdXY5OgNv76eJbUeAkR1bHJLGvNfMqhnqQ==
- dependencies:
- "@polkadot/api" "10.7.2"
- "@polkadot/api-augment" "10.7.2"
- "@polkadot/api-base" "10.7.2"
- "@polkadot/rpc-core" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/util" "^12.2.1"
- "@polkadot/util-crypto" "^12.2.1"
- rxjs "^7.8.1"
- tslib "^2.5.2"
-
-"@polkadot/api-derive@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.8.1.tgz#eab3fa9ef975bccad5ab0d5275699f42b51725c7"
- integrity sha512-r1SBY9vu6OZMGp8/KZFwOqh7yS8yl0YbNDWuju2BEMWQ4Xx6WOlQjQV8Np9UFtKcnBFQzQjMLWH3vwrfTDgVEQ==
+"@polkadot/api-derive@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-10.9.1.tgz#04a4ca3285fd215c4cd50cfb3f4791d38dd90050"
+ integrity sha512-mRud1UZCFIc4Z63qAoGSIHh/foyUYADfy1RQYCmPpeFKfIdCIrHpd7xFdJXTOMYOS0BwlM6u4qli/ZT4XigezQ==
dependencies:
- "@polkadot/api" "10.8.1"
- "@polkadot/api-augment" "10.8.1"
- "@polkadot/api-base" "10.8.1"
- "@polkadot/rpc-core" "10.8.1"
- "@polkadot/types" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/util" "^12.2.2"
- "@polkadot/util-crypto" "^12.2.2"
+ "@polkadot/api" "10.9.1"
+ "@polkadot/api-augment" "10.9.1"
+ "@polkadot/api-base" "10.9.1"
+ "@polkadot/rpc-core" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/util" "^12.3.1"
+ "@polkadot/util-crypto" "^12.3.1"
rxjs "^7.8.1"
tslib "^2.5.3"
-"@polkadot/api@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.7.2.tgz#e5e9667f6c048f24294992dc2f508047f42ac8ee"
- integrity sha512-w1d/P359xNAKyCm/uhVDW8pCVBGVVthLYJPjZBqXOQXdLF+0Kjsg6zwNbHlSVPf3zpX6AODUg4X+HpchGIZSpQ==
- dependencies:
- "@polkadot/api-augment" "10.7.2"
- "@polkadot/api-base" "10.7.2"
- "@polkadot/api-derive" "10.7.2"
- "@polkadot/keyring" "^12.2.1"
- "@polkadot/rpc-augment" "10.7.2"
- "@polkadot/rpc-core" "10.7.2"
- "@polkadot/rpc-provider" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-augment" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/types-create" "10.7.2"
- "@polkadot/types-known" "10.7.2"
- "@polkadot/util" "^12.2.1"
- "@polkadot/util-crypto" "^12.2.1"
- eventemitter3 "^5.0.1"
- rxjs "^7.8.1"
- tslib "^2.5.2"
-
-"@polkadot/api@10.8.1", "@polkadot/api@^10.7.3":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.8.1.tgz#ecf4e8a7167d67ba1392ba0b93133c701e088280"
- integrity sha512-Txx1bXmB4FHghzPZ+OVQk6oYgPE03bhwMNiXzmC8Ia/tw5aoFnko2FFl+Y1pEhhMKDmqfyVe4L+HxPjfEQbsfA==
+"@polkadot/api@10.9.1", "@polkadot/api@^10.7.3":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-10.9.1.tgz#156b3436f45ef18218960804988c1f552d2c4e46"
+ integrity sha512-ND/2UqZBWvtt4PfV03OStTKg0mxmPk4UpMAgJKutdgsz/wP9CYJ1KbjwFgPNekL9JnzbKQsWyQNPVrcw7kQk8A==
dependencies:
- "@polkadot/api-augment" "10.8.1"
- "@polkadot/api-base" "10.8.1"
- "@polkadot/api-derive" "10.8.1"
- "@polkadot/keyring" "^12.2.2"
- "@polkadot/rpc-augment" "10.8.1"
- "@polkadot/rpc-core" "10.8.1"
- "@polkadot/rpc-provider" "10.8.1"
- "@polkadot/types" "10.8.1"
- "@polkadot/types-augment" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/types-create" "10.8.1"
- "@polkadot/types-known" "10.8.1"
- "@polkadot/util" "^12.2.2"
- "@polkadot/util-crypto" "^12.2.2"
+ "@polkadot/api-augment" "10.9.1"
+ "@polkadot/api-base" "10.9.1"
+ "@polkadot/api-derive" "10.9.1"
+ "@polkadot/keyring" "^12.3.1"
+ "@polkadot/rpc-augment" "10.9.1"
+ "@polkadot/rpc-core" "10.9.1"
+ "@polkadot/rpc-provider" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-augment" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/types-create" "10.9.1"
+ "@polkadot/types-known" "10.9.1"
+ "@polkadot/util" "^12.3.1"
+ "@polkadot/util-crypto" "^12.3.1"
eventemitter3 "^5.0.1"
rxjs "^7.8.1"
tslib "^2.5.3"
-"@polkadot/keyring@^12.1.2", "@polkadot/keyring@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.2.1.tgz#d131375c0436115d1f35139bd2bbbc069dd5b9fa"
- integrity sha512-YqgpU+97OZgnSUL56DEMib937Dpb1bTTDPYHhBiN1yNCKod7UboWXIe4xPh+1Kzugum+dEyPpdV+fHH10rtDzw==
- dependencies:
- "@polkadot/util" "12.2.1"
- "@polkadot/util-crypto" "12.2.1"
- tslib "^2.5.0"
-
-"@polkadot/keyring@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.2.2.tgz#4efb5333c78222a91949b699d4a65b338c79eede"
- integrity sha512-z8MVdgrhzg/bFiR2i5/W06Ma+IPeisH7EtGuIQ+ZwXiCJlXMAGUy5spfk3fUbXYubCCqNycqFgKTYDM/rDhXSg==
+"@polkadot/keyring@^12.1.2", "@polkadot/keyring@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-12.3.2.tgz#112a0c28816a1f47edad6260dc94222c29465a54"
+ integrity sha512-NTdtDeI0DP9l/45hXynNABeP5VB8piw5YR+CbUxK2e36xpJWVXwbcOepzslg5ghE9rs8UKJb30Z/HqTU4sBY0Q==
dependencies:
- "@polkadot/util" "12.2.2"
- "@polkadot/util-crypto" "12.2.2"
+ "@polkadot/util" "12.3.2"
+ "@polkadot/util-crypto" "12.3.2"
tslib "^2.5.3"
-"@polkadot/networks@12.2.1", "@polkadot/networks@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.2.1.tgz#ce3e2371e3bd02c9c1b233846b9fe1df4601f560"
- integrity sha512-lYLvFv6iQ2UzkP66zJfsiTo2goeaNeKuwiaGoRoFrDwdwVeZK/+rCsz1uAyvbwmpZIaK8K+dTlSBVWlFoAkgcA==
- dependencies:
- "@polkadot/util" "12.2.1"
- "@substrate/ss58-registry" "^1.40.0"
- tslib "^2.5.0"
-
-"@polkadot/networks@12.2.2", "@polkadot/networks@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.2.2.tgz#14b34210ea2dfc3b27897b579eb93c5f0a8f2a1c"
- integrity sha512-SsZognHwXyD2saJkB35G+28noAZBcNpJAXsTI7QTTDHGiQSDp0mPmrk3Rt7BRAeFn4qdXQuRqQYKYUwBM2i9mQ==
+"@polkadot/networks@12.3.2", "@polkadot/networks@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-12.3.2.tgz#131b0439c481add159814dd2cf0286c6c3fe5b3b"
+ integrity sha512-uCkyybKoeEm1daKr0uT/9oNDHDDzCy2/ZdVl346hQqfdR1Ct3BaxMjxqvdmb5N8aCw0cBWSfgsxAYtw8ESmllQ==
dependencies:
- "@polkadot/util" "12.2.2"
+ "@polkadot/util" "12.3.2"
"@substrate/ss58-registry" "^1.40.0"
tslib "^2.5.3"
-"@polkadot/rpc-augment@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.7.2.tgz#27814f8b23e40c843edebfd6fe6367bc4bfaf12c"
- integrity sha512-75tkVmCOJac5zlgizp1b8DO7R4y1YaNGyPEcyoT6Cx0z5LYSnV6TxQvHhrs6RzMKW1ltvuaFp2ptMvxzm8IB+A==
+"@polkadot/rpc-augment@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.9.1.tgz#214ec3ee145d20caa61ea204041a3aadb89c6b0f"
+ integrity sha512-MaLHkNlyqN20ZRYr6uNd1BZr1OsrnX9qLAmsl0mcrri1vPGRH6VHjfFH1RBLkikpWD82v17g0l2hLwdV1ZHMcw==
dependencies:
- "@polkadot/rpc-core" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/util" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/rpc-augment@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-10.8.1.tgz#19bbfdf78ca5b6d493aee7b954bb4a526be6ebe7"
- integrity sha512-FmXAQLyG8cwBI+MwMxxx4qttolR2gFnYXC7PjYrrjYq4AZrrGWd9SvwXx8aA/NLRJ/PJqvri4dsoKPe7NiE+1A==
- dependencies:
- "@polkadot/rpc-core" "10.8.1"
- "@polkadot/types" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/rpc-core" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/util" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/rpc-core@10.7.2", "@polkadot/rpc-core@^10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.7.2.tgz#5435cd6f063358f400b9ba76704b225be969209c"
- integrity sha512-HDHvl4tR2B4zaaWzfaIqrndQSzPSo9WZiuzW35qOEg15u1v0KMJ7NJYvgmoiwx5Adj1rw86Y2Mg1G0uJrSwCZQ==
+"@polkadot/rpc-core@10.9.1", "@polkadot/rpc-core@^10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.9.1.tgz#798c514dbed6f6c2e43098a494c9f51fb144dc31"
+ integrity sha512-ZtA8B8SfXSAwVkBlCcKRHw0eSM7ec/sbiNOM5GasXPeRujUgT7lOwSH2GbUZSqe9RfRDMp6DvO9c2JoGc3LLWw==
dependencies:
- "@polkadot/rpc-augment" "10.7.2"
- "@polkadot/rpc-provider" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/util" "^12.2.1"
- rxjs "^7.8.1"
- tslib "^2.5.2"
-
-"@polkadot/rpc-core@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-10.8.1.tgz#1bc8f7f840164bf3f03fe71851071c7f19f4f166"
- integrity sha512-GTMYBBssiP6wyYvc8hB0glQc4VUneGxiSYjWGijh9NEl/JVBpU01jcK3dfx534AWptctJN1Vk2fWzhaDgnj8zA==
- dependencies:
- "@polkadot/rpc-augment" "10.8.1"
- "@polkadot/rpc-provider" "10.8.1"
- "@polkadot/types" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/rpc-augment" "10.9.1"
+ "@polkadot/rpc-provider" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/util" "^12.3.1"
rxjs "^7.8.1"
tslib "^2.5.3"
-"@polkadot/rpc-provider@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.7.2.tgz#8d1bb9d4ffaf769f83b53e6b785eec7151130b76"
- integrity sha512-gJFsuATdz5qNNUDUdslESn8xaEf8tFz7JbtuXRb08dkCcqX6I/X+2fq07d8uOVlsIdVT2ghzuFun4STzP4wAwA==
+"@polkadot/rpc-provider@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.9.1.tgz#de3a474bbcd26d28d9cd3134acdb3b5ce92b680b"
+ integrity sha512-4QzT2QzD+320+eT6b79sGAA85Tt3Bb8fQvse4r5Mom2iiBd2SO81vOhxSAOaIe4GUsw25VzFJmsbe7+OObItdg==
dependencies:
- "@polkadot/keyring" "^12.2.1"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-support" "10.7.2"
- "@polkadot/util" "^12.2.1"
- "@polkadot/util-crypto" "^12.2.1"
- "@polkadot/x-fetch" "^12.2.1"
- "@polkadot/x-global" "^12.2.1"
- "@polkadot/x-ws" "^12.2.1"
- eventemitter3 "^5.0.1"
- mock-socket "^9.2.1"
- nock "^13.3.1"
- tslib "^2.5.2"
- optionalDependencies:
- "@substrate/connect" "0.7.26"
-
-"@polkadot/rpc-provider@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-10.8.1.tgz#7455b284934151bcc20e89d9605cb09186cea74a"
- integrity sha512-yQdUmaWRMSa/qVGBRP1vGjdv4DnlaYOctJfRpz2MWPbEckH5DmPRxV4BAZ9FVa5lATX0Qkmr3uvBt3qApH7xhQ==
- dependencies:
- "@polkadot/keyring" "^12.2.2"
- "@polkadot/types" "10.8.1"
- "@polkadot/types-support" "10.8.1"
- "@polkadot/util" "^12.2.2"
- "@polkadot/util-crypto" "^12.2.2"
- "@polkadot/x-fetch" "^12.2.2"
- "@polkadot/x-global" "^12.2.2"
- "@polkadot/x-ws" "^12.2.2"
+ "@polkadot/keyring" "^12.3.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-support" "10.9.1"
+ "@polkadot/util" "^12.3.1"
+ "@polkadot/util-crypto" "^12.3.1"
+ "@polkadot/x-fetch" "^12.3.1"
+ "@polkadot/x-global" "^12.3.1"
+ "@polkadot/x-ws" "^12.3.1"
eventemitter3 "^5.0.1"
mock-socket "^9.2.1"
nock "^13.3.1"
@@ -597,205 +461,114 @@
optionalDependencies:
"@substrate/connect" "0.7.26"
-"@polkadot/typegen@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-10.7.2.tgz#1041b9361d353bbe3fe00dde20d8d629aea36d0b"
- integrity sha512-xUnXguZYegfzI4cZVpM5aJjADpSWohM4Qf2fss7vneVeF29NLZe60ZmJr2hk8QKW5ONnYbKlEFb5PDdGLB51/w==
+"@polkadot/typegen@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-10.9.1.tgz#fe509b4f1a1f9094120daac819e9e0c378bca036"
+ integrity sha512-SbG9U8/POyY8QwQUp70qzTnYsRxc6Rrjt4wzIWsBKmzVRy0i19O23EXSUo+81ukOBiLZj551GAJwRa3YBpdR+A==
dependencies:
- "@polkadot/api" "10.7.2"
- "@polkadot/api-augment" "10.7.2"
- "@polkadot/rpc-augment" "10.7.2"
- "@polkadot/rpc-provider" "10.7.2"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-augment" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/types-create" "10.7.2"
- "@polkadot/types-support" "10.7.2"
- "@polkadot/util" "^12.2.1"
- "@polkadot/util-crypto" "^12.2.1"
- "@polkadot/x-ws" "^12.2.1"
+ "@polkadot/api" "10.9.1"
+ "@polkadot/api-augment" "10.9.1"
+ "@polkadot/rpc-augment" "10.9.1"
+ "@polkadot/rpc-provider" "10.9.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-augment" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/types-create" "10.9.1"
+ "@polkadot/types-support" "10.9.1"
+ "@polkadot/util" "^12.3.1"
+ "@polkadot/util-crypto" "^12.3.1"
+ "@polkadot/x-ws" "^12.3.1"
handlebars "^4.7.7"
- tslib "^2.5.2"
+ tslib "^2.5.3"
yargs "^17.7.2"
-"@polkadot/types-augment@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-10.7.2.tgz#9596631f1ba66e5a47c250d9de407eac5eca3030"
- integrity sha512-alZg1NqQkcsxpYfijWkI1w7z++NcOODiksZu1ggKUOWxxTEKOw/VKL9n5/XhFylMgoJyOOq3qPf3VlHSA6eLSw==
- dependencies:
- "@polkadot/types" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/util" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/types-augment@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-10.8.1.tgz#e774f3ba399f9f8961a5f557fb5a9c7c5901625a"
- integrity sha512-rVn8aA4u6YPcxGEnBq2rXVmgXM5kSuiTHIjsusb6Sm3PzO//NcC/TW9sbZjlAJApgSoj9iagM7Y85OPGOZlxwg==
+"@polkadot/types-augment@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-10.9.1.tgz#5f1c1225c04ffbfe243629a46087c9c9de25a6b3"
+ integrity sha512-OY9/jTMFRFqYdkUnfcGwqMLC64A0Q25bjvCuVQCVjsPFKE3wl0Kt5rNT01eV2UmLXrR6fY0xWbR2w80bLA7CIQ==
dependencies:
- "@polkadot/types" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/util" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/types-codec@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.7.2.tgz#b7270250ef2f3e4c3dea6c754b573258fac8cb54"
- integrity sha512-Sy3RM+gT1lZ6WHL694swxkSoqMvAGwnNX5S2oxoGlQ5bncYIMRg+pker4dDBD+EncyrBISLwxM7smOJpiVKOAg==
+"@polkadot/types-codec@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.9.1.tgz#f30026d3dfeaa69c07c45fa66d1c39318fd232cc"
+ integrity sha512-mJ5OegKGraY1FLvEa8FopRCr3pQrhDkcn5RNOjmgJQozENVeRaxhk0NwxYz7IojFvSDnKnc6lNQfKaaSe5pLHg==
dependencies:
- "@polkadot/util" "^12.2.1"
- "@polkadot/x-bigint" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/types-codec@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-10.8.1.tgz#65f886fd2b717e2e12b319a395f9887edd1f9094"
- integrity sha512-8dj4T6GA6JxuwUNShO70omZ4qkChwsJeGAJg5x09UeLEAwBS02BkFSllRUJjGEwnAUb/Iq4s3NBVmYiiZ/wmKg==
- dependencies:
- "@polkadot/util" "^12.2.2"
- "@polkadot/x-bigint" "^12.2.2"
+ "@polkadot/util" "^12.3.1"
+ "@polkadot/x-bigint" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/types-create@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.7.2.tgz#dafaed10692bbf69c9257ef4ed1b56e757562ae5"
- integrity sha512-jBYX365SkoQJ7bJafxl3886z4JouZYLzXXHhroz32hfpzovC/3xAbyVYK7GgyyRRUNRp9Qww9nzn7yTAuDVawg==
- dependencies:
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/util" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/types-create@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.8.1.tgz#f5974a00918e2c4b7fca29c18abd3410536393ad"
- integrity sha512-v2WZHQAjf8TiLipRkR1iPTyWSjGHJJP2SQ5uVO5UJlHilpE8lODqY1rr/9hGN+sbRhU0vEy6ZceDEKuNbtJB3Q==
+"@polkadot/types-create@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-10.9.1.tgz#087d7e2af51cce558b67e3859613b932a3bdc0a3"
+ integrity sha512-OVz50MGTTuiuVnRP/zAx4CTuLioc0hsiwNwqN2lNhmIJGtnQ4Vy/7mQRsIWehiYz6g0Vzzm5B3qWkTXO1NSN5w==
dependencies:
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/util" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/types-known@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.7.2.tgz#bb39696e9d35a4b21a232dd372b85d65ff988eb0"
- integrity sha512-6E1A4YK5yeTw2bk+EH8JOfmYwIq6KODtsTzsDGwOxNgJJ+1qAE18r6TVAOr1KW8YsHuHI5d0m7D7K7p8ZaEpwA==
- dependencies:
- "@polkadot/networks" "^12.2.1"
- "@polkadot/types" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/types-create" "10.7.2"
- "@polkadot/util" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/types-known@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.8.1.tgz#f630d3354cbe80149360edb37c569c5042eced12"
- integrity sha512-AIeuF7eTIEnUgxa1pU0UMmF/tIXgucAECwU8vzoKeJLrYWA16VYUm0Pst9e3jK3PyLaCneMRyR00Lc7oxVANbw==
+"@polkadot/types-known@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-10.9.1.tgz#fe0c7e55191aa843119edcaf9abb5d2471463a7d"
+ integrity sha512-zCMVWc4pJtkbMFPu72bD4IhvV/gkHXPX3C5uu92WdmCfnn0vEIEsMKWlVXVVvQQZKAqvs/awpqIfrUtEViOGEA==
dependencies:
- "@polkadot/networks" "^12.2.2"
- "@polkadot/types" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/types-create" "10.8.1"
- "@polkadot/util" "^12.2.2"
+ "@polkadot/networks" "^12.3.1"
+ "@polkadot/types" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/types-create" "10.9.1"
+ "@polkadot/util" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/types-support@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.7.2.tgz#22c320e4fd94e20cedb47675630732f54d533060"
- integrity sha512-pEtQJElgWvRoVcm1rhjW0NH89eCs55AUc/03H0hFnvxN3K9gTZJpQJF0qz188eOgiZPZOtbz5C/kCdMTs0tsdw==
- dependencies:
- "@polkadot/util" "^12.2.1"
- tslib "^2.5.2"
-
-"@polkadot/types-support@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.8.1.tgz#b299f829374ce77fdfbe1d1b8faa14ba02969783"
- integrity sha512-arDVaL70vzVL5JBGWW1qcOASn1cJ/UxNMR3fHchoVkAqS20VIrehE8MF4zXMdjcP0Ak3+6E0FaSmHMTKlmEJsg==
+"@polkadot/types-support@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-10.9.1.tgz#17a861aab8e5a225a4e20cefa2d16076ddd51baf"
+ integrity sha512-XsieuLDsszvMZQlleacQBfx07i/JkwQV/UxH9q8Hz7Okmaz9pEVEW1h3ka2/cPuC7a4l32JhaORBUYshBZNdJg==
dependencies:
- "@polkadot/util" "^12.2.2"
+ "@polkadot/util" "^12.3.1"
tslib "^2.5.3"
-"@polkadot/types@10.7.2":
- version "10.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.7.2.tgz#270bb743d4136461ec575cb533ab4982bb1b739c"
- integrity sha512-zhGZOVBKXiCxdtoXMcWXsmV4Z6209NaN8jeadiJya6UQT2DVnz8AugN+0Sq60XangXE/HxdL0Vhr1Z9XUY57mg==
- dependencies:
- "@polkadot/keyring" "^12.2.1"
- "@polkadot/types-augment" "10.7.2"
- "@polkadot/types-codec" "10.7.2"
- "@polkadot/types-create" "10.7.2"
- "@polkadot/util" "^12.2.1"
- "@polkadot/util-crypto" "^12.2.1"
- rxjs "^7.8.1"
- tslib "^2.5.2"
-
-"@polkadot/types@10.8.1":
- version "10.8.1"
- resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.8.1.tgz#83c01c347189ff97b98b34a5a4aba27c715539eb"
- integrity sha512-m6UvsvQOZ7sRGbonb6QLs4mZ6TmYKdAXAcHakiJl2xArqsgOghJsKhgaTqcigPkSq4947MXtIkEzdrwFEnkYkQ==
+"@polkadot/types@10.9.1":
+ version "10.9.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-10.9.1.tgz#f111d00f7278ad3be95deba3d701fafefe080cb2"
+ integrity sha512-AG33i2ZGGfq7u+5rkAdGrXAQHHl844/Yv+junH5ZzX69xiCoWO1bH/yzDUNBdpki2GlACWvF9nLYh3F2tVF93w==
dependencies:
- "@polkadot/keyring" "^12.2.2"
- "@polkadot/types-augment" "10.8.1"
- "@polkadot/types-codec" "10.8.1"
- "@polkadot/types-create" "10.8.1"
- "@polkadot/util" "^12.2.2"
- "@polkadot/util-crypto" "^12.2.2"
+ "@polkadot/keyring" "^12.3.1"
+ "@polkadot/types-augment" "10.9.1"
+ "@polkadot/types-codec" "10.9.1"
+ "@polkadot/types-create" "10.9.1"
+ "@polkadot/util" "^12.3.1"
+ "@polkadot/util-crypto" "^12.3.1"
rxjs "^7.8.1"
tslib "^2.5.3"
-"@polkadot/util-crypto@12.2.1", "@polkadot/util-crypto@^12.1.2", "@polkadot/util-crypto@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.2.1.tgz#cbb0d1535e187af43ddcbac4248298b134f2f3ee"
- integrity sha512-MFh7Sdm7/G9ot5eIBZGuQXTYP/EbOCh1+ODyygp9/TjWAmJZMq1J73Uqk4KmzkwpDBpNZO8TGjiYwL8lR6BnGg==
- dependencies:
- "@noble/curves" "1.0.0"
- "@noble/hashes" "1.3.0"
- "@polkadot/networks" "12.2.1"
- "@polkadot/util" "12.2.1"
- "@polkadot/wasm-crypto" "^7.2.1"
- "@polkadot/wasm-util" "^7.2.1"
- "@polkadot/x-bigint" "12.2.1"
- "@polkadot/x-randomvalues" "12.2.1"
- "@scure/base" "1.1.1"
- tslib "^2.5.0"
-
-"@polkadot/util-crypto@12.2.2", "@polkadot/util-crypto@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.2.2.tgz#7e6ab56482d3dfb8704a724d695028677799c685"
- integrity sha512-4JfEd/TJaDArp5Jpr3N/aYHp+QR71XzZRKqU4u7WkGKmnGt28Qfh2IWGB/E2MvIFxa6CjIiQMxN2hnkNr49JAQ==
+"@polkadot/util-crypto@12.3.2", "@polkadot/util-crypto@^12.1.2", "@polkadot/util-crypto@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-12.3.2.tgz#42d810886904e06fa6e5db254c15f6ef80f4ab72"
+ integrity sha512-pTpx+YxolY0BDT4RcGmgeKbHHD/dI6Ll9xRsqmVdIjpcVVY20uDNTyXs81ZNtfKgyod1y9JQkfNv2Dz9iEpTkQ==
dependencies:
"@noble/curves" "1.1.0"
"@noble/hashes" "1.3.1"
- "@polkadot/networks" "12.2.2"
- "@polkadot/util" "12.2.2"
+ "@polkadot/networks" "12.3.2"
+ "@polkadot/util" "12.3.2"
"@polkadot/wasm-crypto" "^7.2.1"
"@polkadot/wasm-util" "^7.2.1"
- "@polkadot/x-bigint" "12.2.2"
- "@polkadot/x-randomvalues" "12.2.2"
+ "@polkadot/x-bigint" "12.3.2"
+ "@polkadot/x-randomvalues" "12.3.2"
"@scure/base" "1.1.1"
tslib "^2.5.3"
-"@polkadot/util@12.2.1", "@polkadot/util@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.2.1.tgz#d6c692324890802bc3b2f15b213b7430bb26e8c8"
- integrity sha512-MQmPx9aCX4GTpDY/USUQywXRyaDbaibg4V1+c/CoRTsoDu+XHNM8G3lpabdNAYKZrtxg+3/1bTS0ojm6ANSQRw==
- dependencies:
- "@polkadot/x-bigint" "12.2.1"
- "@polkadot/x-global" "12.2.1"
- "@polkadot/x-textdecoder" "12.2.1"
- "@polkadot/x-textencoder" "12.2.1"
- "@types/bn.js" "^5.1.1"
- bn.js "^5.2.1"
- tslib "^2.5.0"
-
-"@polkadot/util@12.2.2", "@polkadot/util@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.2.2.tgz#f586fd62c330a09bb026b1584be1bb07c8b27b6b"
- integrity sha512-u/v5Z2+iUwX/CXEMVZgJmwqqx1kT5Zfxsio3vpuYaPCg49xhTKqAcrakgB+1BUHhhyF3Zkb9uG73JWFR0Lkk9w==
+"@polkadot/util@12.3.2", "@polkadot/util@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.3.2.tgz#f46e147b0e6a426da5ba59df4ce65de1a3effe4a"
+ integrity sha512-y/JShcGyOamCUiSIg++XZuLHt1ktSKBaSH2K5Nw5NXlgP0+7am+GZzqPB8fQ4qhYLruEOv+YRiz0GC1Zr9S+wg==
dependencies:
- "@polkadot/x-bigint" "12.2.2"
- "@polkadot/x-global" "12.2.2"
- "@polkadot/x-textdecoder" "12.2.2"
- "@polkadot/x-textencoder" "12.2.2"
+ "@polkadot/x-bigint" "12.3.2"
+ "@polkadot/x-global" "12.3.2"
+ "@polkadot/x-textdecoder" "12.3.2"
+ "@polkadot/x-textencoder" "12.3.2"
"@types/bn.js" "^5.1.1"
bn.js "^5.2.1"
tslib "^2.5.3"
@@ -853,117 +626,60 @@
dependencies:
tslib "^2.5.0"
-"@polkadot/x-bigint@12.2.1", "@polkadot/x-bigint@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.2.1.tgz#adb639628626d2a6d7853afff43da20b4db4369a"
- integrity sha512-3cZLsV8kU1MFOTcyloeg61CF+qdBkbZxWZJkSjh4AGlPXy+2tKwwoBPExxfCWXK61+Lo/q3/U1+lln8DSBCI2A==
+"@polkadot/x-bigint@12.3.2", "@polkadot/x-bigint@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.3.2.tgz#0e99489cc7938bed40762aaaed58ded6850ab54b"
+ integrity sha512-JLqLgfGXe/x+hZJETd5ZqfpVsbwyMsH5Nn1Q20ineMMjXN/ig+kVR8Mc15LXBMuw4g7LldFW6UUrotWnuMI8Yw==
dependencies:
- "@polkadot/x-global" "12.2.1"
- tslib "^2.5.0"
-
-"@polkadot/x-bigint@12.2.2", "@polkadot/x-bigint@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.2.2.tgz#18ff80c306b486fb926702ba9bb56291fb69d4f1"
- integrity sha512-KSe7WAqwI1tubi0m5CP4oqf8EIjABZXLGkTHXKwjtAAMa9Q7hqFmVG2sXfvC+XSnhto1UKMe52TjuPrYSJI+jg==
- dependencies:
- "@polkadot/x-global" "12.2.2"
+ "@polkadot/x-global" "12.3.2"
tslib "^2.5.3"
-"@polkadot/x-fetch@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.2.1.tgz#65b447373a0155cae3e546b842ced356d8599c54"
- integrity sha512-N2MIcn1g7LVZLZNDEkRkDD/LRY680PFqxziRoqb11SV52kRe6oVsdMIfaWH77UheniRR3br8YiQMUdvBVkak9Q==
+"@polkadot/x-fetch@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.3.2.tgz#7e8d2113268e792dd5d1b259ef13839c6aa77996"
+ integrity sha512-3IEuZ5S+RI/t33NsdPLIIa5COfDCfpUW2sbaByEczn75aD1jLqJZSEDwiBniJ2osyNd4uUxBf6e5jw7LAZeZJg==
dependencies:
- "@polkadot/x-global" "12.2.1"
- node-fetch "^3.3.1"
- tslib "^2.5.0"
-
-"@polkadot/x-fetch@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-12.2.2.tgz#452b096a3233308a1cbbeae867c26a374b62b9e8"
- integrity sha512-A3ttQp9oE6QH9VsggdQsBsgc9zyalxHoVXhZsn6yqcjzc9AoaY5QevezxVy88ZQpRp3bsYVn0RqyBV7eFq8WPw==
- dependencies:
- "@polkadot/x-global" "12.2.2"
+ "@polkadot/x-global" "12.3.2"
node-fetch "^3.3.1"
tslib "^2.5.3"
-"@polkadot/x-global@12.2.1", "@polkadot/x-global@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.2.1.tgz#42e798e9607a4d7667469d91225c030fb3e8c8b5"
- integrity sha512-JNMziAZjvfzMrXASuBPCvSzEqlhsgw0x95SOBtqJWsxmbCMAiZbYAC51vI1B9Z9wiKuzPtSh9Sk7YHsUOGCrIQ==
- dependencies:
- tslib "^2.5.0"
-
-"@polkadot/x-global@12.2.2", "@polkadot/x-global@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.2.2.tgz#dda816c00738b72209637e623b50ecad5ce234bf"
- integrity sha512-hLVoKR9fGhZdy/eK/LHTyh4jJ3V+3VfcxbCey0k2t1Byrwbmsi6wL3NUQk6i3NviswR9OSCic9mhgDQPRBXZEg==
+"@polkadot/x-global@12.3.2", "@polkadot/x-global@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.3.2.tgz#04ac0b0e559a35107f0b95ff7889fcade3796aa3"
+ integrity sha512-yVZq6oIegjlyh5rUZiTklgu+fL+W/DG1ypEa02683tUCB3avV5cA3PAHKptMSlb6FpweHu37lKKrqfAWrraDxg==
dependencies:
tslib "^2.5.3"
-"@polkadot/x-randomvalues@12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.2.1.tgz#00c3f097f987b9ff70dbd2720086ad3d0bc16cfb"
- integrity sha512-NwSDLcLjgHa0C7Un54Yhg2/E3Y/PcVfW5QNB9TDyzDbkmod3ziaVhh0iWG0sOmm26K6Q3phY+0uYt0etq0Gu3w==
- dependencies:
- "@polkadot/x-global" "12.2.1"
- tslib "^2.5.0"
-
-"@polkadot/x-randomvalues@12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.2.2.tgz#c249d990f3033b0e9ea4a7964419f04d47b0d228"
- integrity sha512-eExiOT/up5ZzwHJkFpGhQ6sCdPSJnn6PJsQnyJMEdgPaUES70u/wWMLGFNiy3U8rRRVSsZi6rc9Unsr02LczzA==
+"@polkadot/x-randomvalues@12.3.2":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-12.3.2.tgz#43ac489a998098bdd40b3f82f28adb5b542db2a5"
+ integrity sha512-ywjIs8CWpvOGmq+3cGCNPOHxAjPHdBUiXyDccftx5BRVdmtbt36gK/V84bKr6Xs73FGu0jprUAOSRRsLZX/3dg==
dependencies:
- "@polkadot/x-global" "12.2.2"
+ "@polkadot/x-global" "12.3.2"
tslib "^2.5.3"
-"@polkadot/x-textdecoder@12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.2.1.tgz#a426a1d8a3b5717859b81a7341b16de4de3d78c0"
- integrity sha512-5nQCIwyaGS0fXU2cbtMOSjFo0yTw1Z94m/UC+Gu5lm3ZU+kK4DpKFxhfLQORWAbvQkn12chRj3LI5Gm944hcrQ==
- dependencies:
- "@polkadot/x-global" "12.2.1"
- tslib "^2.5.0"
-
-"@polkadot/x-textdecoder@12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.2.2.tgz#9e3c7b17f6a8e032aa3ab906fcff3037aeecaa4c"
- integrity sha512-Rsvsc7ZLBKT1rls8gdbvzLLEs2sGUA8cDiTaQUkCHJN3ja/37Bppz1wNPcEIMsJ2pyL6bwq86HB0xmC28QVdqA==
+"@polkadot/x-textdecoder@12.3.2":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.3.2.tgz#bbd5682744f3552ce5d4d792ff48a3ca525eafcf"
+ integrity sha512-lY5bfA5xArJRWEJlYOlQQMJeTjWD8s0yMhchirVgf5xj8Id9vPGeUoneH+VFDEwgXxrqBvDFJ4smN4T/r6a/fg==
dependencies:
- "@polkadot/x-global" "12.2.2"
+ "@polkadot/x-global" "12.3.2"
tslib "^2.5.3"
-"@polkadot/x-textencoder@12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.2.1.tgz#f606c9929668bb41a23ec25c9752252bb56b0c9b"
- integrity sha512-Ou6OXypRsJloK5a7Kn7re3ImqcL26h22fVw1cNv4fsTgkRFUdJDgPux2TpCZ3N+cyrfGVv42xKYFbdKMQCczjg==
+"@polkadot/x-textencoder@12.3.2":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.3.2.tgz#223e6f6dd78e2d81c6dcc6f244c76ceae7b08e32"
+ integrity sha512-iP3qEBiHzBckQ9zeY7ZHRWuu7mCEg5SMpOugs6UODRk8sx6KHzGQYlghBbWLit0uppPDVE0ifEwZ2n73djJHWQ==
dependencies:
- "@polkadot/x-global" "12.2.1"
- tslib "^2.5.0"
-
-"@polkadot/x-textencoder@12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.2.2.tgz#6a40a953774093a070f2819959f054f258c001af"
- integrity sha512-g6bX4DTBmkr3QLNeihlrHYvaZCKu1kFiK+BDQXVzBg+oHpzxz5wSVhzsG3GEVoVszXMiugWpSn03wCIvaRFMoQ==
- dependencies:
- "@polkadot/x-global" "12.2.2"
+ "@polkadot/x-global" "12.3.2"
tslib "^2.5.3"
-"@polkadot/x-ws@^12.2.1":
- version "12.2.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.2.1.tgz#8774bc8cd38194354e48fc92438c4ebb52929fce"
- integrity sha512-jPfNR/QFwPmXCk9hGEAyCo50xBNHm3s+XavmpHEKQSulnLn5des5X/pKn+g8ttaO9nqrXYnUFO6VEmILgUa/IQ==
- dependencies:
- "@polkadot/x-global" "12.2.1"
- tslib "^2.5.0"
- ws "^8.13.0"
-
-"@polkadot/x-ws@^12.2.2":
- version "12.2.2"
- resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.2.2.tgz#41d7645507137e5f13abb9536c18c840f7e86324"
- integrity sha512-kZtdfRHsgpJ+HV/jY8mQG4BFpCIz6NxZlrRKzWdaIacPVeXHkV3nfk7i9ghK+MP/nWC0AKuq06yysp9ZwWMCug==
+"@polkadot/x-ws@^12.3.1":
+ version "12.3.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-12.3.2.tgz#422559dfbdaac4c965d5e1b406b6cc4529214f94"
+ integrity sha512-yM9Z64pLNlHpJE43+Xtr+iUXmYpFFY5u5hrke2PJt13O48H8f9Vb9cRaIh94appLyICoS0aekGhDkGH+MCspBA==
dependencies:
- "@polkadot/x-global" "12.2.2"
+ "@polkadot/x-global" "12.3.2"
tslib "^2.5.3"
ws "^8.13.0"
@@ -1052,9 +768,9 @@
smoldot "1.0.4"
"@substrate/ss58-registry@^1.40.0":
- version "1.40.0"
- resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.40.0.tgz#2223409c496271df786c1ca8496898896595441e"
- integrity sha512-QuU2nBql3J4KCnOWtWDw4n1K4JU0T79j54ZZvm/9nhsX6AIar13FyhsaBfs6QkJ2ixTQAnd7TocJIoJRWbqMZA==
+ version "1.41.0"
+ resolved "https://registry.yarnpkg.com/@substrate/ss58-registry/-/ss58-registry-1.41.0.tgz#dd18e132f44b73c3cd31cf0db489c10af70bef36"
+ integrity sha512-TLz5VkEaJRNFzf1Oiix9gqknKer3aKbLfjK9XHBFCIhdxlQpI+S6lZGu3wT4DHAGXPakYfXb8+9ZIOtWLcQ/2Q==
"@szmarczak/http-timer@^4.0.5":
version "4.0.6"
@@ -1151,10 +867,10 @@
resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
-"@types/json-schema@^7.0.9":
- version "7.0.11"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
- integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+"@types/json-schema@^7.0.11":
+ version "7.0.12"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb"
+ integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==
"@types/keyv@^3.1.4":
version "3.1.4"
@@ -1173,15 +889,10 @@
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.1.tgz#2f4f65bb08bc368ac39c96da7b2f09140b26851b"
integrity sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==
-"@types/node@*", "@types/node@^20.2.3":
- version "20.2.3"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.3.tgz#b31eb300610c3835ac008d690de6f87e28f9b878"
- integrity sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==
-
-"@types/node@>=13.7.0":
- version "18.16.2"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.16.2.tgz#2f610ea71034b3971c312192377f8a7178eb57f1"
- integrity sha512-GQW/JL/5Fz/0I8RpeBG9lKp0+aNcXEaVL71c0D2Q0QHDTFvlYKT7an0onCUXj85anv7b4/WesqdfchLc0jtsCg==
+"@types/node@*", "@types/node@>=13.7.0", "@types/node@^20.4.2":
+ version "20.4.2"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.2.tgz#129cc9ae69f93824f92fac653eebfb4812ab4af9"
+ integrity sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==
"@types/node@^12.12.6":
version "12.20.55"
@@ -1219,89 +930,93 @@
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a"
integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==
-"@typescript-eslint/eslint-plugin@^5.47.0":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.6.tgz#a350faef1baa1e961698240f922d8de1761a9e2b"
- integrity sha512-sXtOgJNEuRU5RLwPUb1jxtToZbgvq3M6FPpY4QENxoOggK+UpTxUBpj6tD8+Qh2g46Pi9We87E+eHnUw8YcGsw==
+"@typescript-eslint/eslint-plugin@^6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.0.0.tgz#19ff4f1cab8d6f8c2c1825150f7a840bc5d9bdc4"
+ integrity sha512-xuv6ghKGoiq856Bww/yVYnXGsKa588kY3M0XK7uUW/3fJNNULKRfZfSBkMTSpqGG/8ZCXCadfh8G/z/B4aqS/A==
dependencies:
- "@eslint-community/regexpp" "^4.4.0"
- "@typescript-eslint/scope-manager" "5.59.6"
- "@typescript-eslint/type-utils" "5.59.6"
- "@typescript-eslint/utils" "5.59.6"
+ "@eslint-community/regexpp" "^4.5.0"
+ "@typescript-eslint/scope-manager" "6.0.0"
+ "@typescript-eslint/type-utils" "6.0.0"
+ "@typescript-eslint/utils" "6.0.0"
+ "@typescript-eslint/visitor-keys" "6.0.0"
debug "^4.3.4"
grapheme-splitter "^1.0.4"
- ignore "^5.2.0"
+ graphemer "^1.4.0"
+ ignore "^5.2.4"
+ natural-compare "^1.4.0"
natural-compare-lite "^1.4.0"
- semver "^7.3.7"
- tsutils "^3.21.0"
+ semver "^7.5.0"
+ ts-api-utils "^1.0.1"
-"@typescript-eslint/parser@^5.47.0":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.59.6.tgz#bd36f71f5a529f828e20b627078d3ed6738dbb40"
- integrity sha512-7pCa6al03Pv1yf/dUg/s1pXz/yGMUBAw5EeWqNTFiSueKvRNonze3hma3lhdsOrQcaOXhbk5gKu2Fludiho9VA==
+"@typescript-eslint/parser@^6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.0.0.tgz#46b2600fd1f67e62fc00a28093a75f41bf7effc4"
+ integrity sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==
dependencies:
- "@typescript-eslint/scope-manager" "5.59.6"
- "@typescript-eslint/types" "5.59.6"
- "@typescript-eslint/typescript-estree" "5.59.6"
+ "@typescript-eslint/scope-manager" "6.0.0"
+ "@typescript-eslint/types" "6.0.0"
+ "@typescript-eslint/typescript-estree" "6.0.0"
+ "@typescript-eslint/visitor-keys" "6.0.0"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@5.59.6":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.59.6.tgz#d43a3687aa4433868527cfe797eb267c6be35f19"
- integrity sha512-gLbY3Le9Dxcb8KdpF0+SJr6EQ+hFGYFl6tVY8VxLPFDfUZC7BHFw+Vq7bM5lE9DwWPfx4vMWWTLGXgpc0mAYyQ==
+"@typescript-eslint/scope-manager@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.0.0.tgz#8ede47a37cb2b7ed82d329000437abd1113b5e11"
+ integrity sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==
dependencies:
- "@typescript-eslint/types" "5.59.6"
- "@typescript-eslint/visitor-keys" "5.59.6"
+ "@typescript-eslint/types" "6.0.0"
+ "@typescript-eslint/visitor-keys" "6.0.0"
-"@typescript-eslint/type-utils@5.59.6":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.59.6.tgz#37c51d2ae36127d8b81f32a0a4d2efae19277c48"
- integrity sha512-A4tms2Mp5yNvLDlySF+kAThV9VTBPCvGf0Rp8nl/eoDX9Okun8byTKoj3fJ52IJitjWOk0fKPNQhXEB++eNozQ==
+"@typescript-eslint/type-utils@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.0.0.tgz#0478d8a94f05e51da2877cc0500f1b3c27ac7e18"
+ integrity sha512-ah6LJvLgkoZ/pyJ9GAdFkzeuMZ8goV6BH7eC9FPmojrnX9yNCIsfjB+zYcnex28YO3RFvBkV6rMV6WpIqkPvoQ==
dependencies:
- "@typescript-eslint/typescript-estree" "5.59.6"
- "@typescript-eslint/utils" "5.59.6"
+ "@typescript-eslint/typescript-estree" "6.0.0"
+ "@typescript-eslint/utils" "6.0.0"
debug "^4.3.4"
- tsutils "^3.21.0"
+ ts-api-utils "^1.0.1"
-"@typescript-eslint/types@5.59.6":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.59.6.tgz#5a6557a772af044afe890d77c6a07e8c23c2460b"
- integrity sha512-tH5lBXZI7T2MOUgOWFdVNUILsI02shyQvfzG9EJkoONWugCG77NDDa1EeDGw7oJ5IvsTAAGVV8I3Tk2PNu9QfA==
+"@typescript-eslint/types@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.0.0.tgz#19795f515f8decbec749c448b0b5fc76d82445a1"
+ integrity sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==
-"@typescript-eslint/typescript-estree@5.59.6":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.6.tgz#2fb80522687bd3825504925ea7e1b8de7bb6251b"
- integrity sha512-vW6JP3lMAs/Tq4KjdI/RiHaaJSO7IUsbkz17it/Rl9Q+WkQ77EOuOnlbaU8kKfVIOJxMhnRiBG+olE7f3M16DA==
+"@typescript-eslint/typescript-estree@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.0.0.tgz#1e09aab7320e404fb9f83027ea568ac24e372f81"
+ integrity sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==
dependencies:
- "@typescript-eslint/types" "5.59.6"
- "@typescript-eslint/visitor-keys" "5.59.6"
+ "@typescript-eslint/types" "6.0.0"
+ "@typescript-eslint/visitor-keys" "6.0.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
+ semver "^7.5.0"
+ ts-api-utils "^1.0.1"
-"@typescript-eslint/utils@5.59.6":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.6.tgz#82960fe23788113fc3b1f9d4663d6773b7907839"
- integrity sha512-vzaaD6EXbTS29cVH0JjXBdzMt6VBlv+hE31XktDRMX1j3462wZCJa7VzO2AxXEXcIl8GQqZPcOPuW/Z1tZVogg==
+"@typescript-eslint/utils@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.0.0.tgz#27a16d0d8f2719274a39417b9782f7daa3802db0"
+ integrity sha512-SOr6l4NB6HE4H/ktz0JVVWNXqCJTOo/mHnvIte1ZhBQ0Cvd04x5uKZa3zT6tiodL06zf5xxdK8COiDvPnQ27JQ==
dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@types/json-schema" "^7.0.9"
+ "@eslint-community/eslint-utils" "^4.3.0"
+ "@types/json-schema" "^7.0.11"
"@types/semver" "^7.3.12"
- "@typescript-eslint/scope-manager" "5.59.6"
- "@typescript-eslint/types" "5.59.6"
- "@typescript-eslint/typescript-estree" "5.59.6"
+ "@typescript-eslint/scope-manager" "6.0.0"
+ "@typescript-eslint/types" "6.0.0"
+ "@typescript-eslint/typescript-estree" "6.0.0"
eslint-scope "^5.1.1"
- semver "^7.3.7"
+ semver "^7.5.0"
-"@typescript-eslint/visitor-keys@5.59.6":
- version "5.59.6"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.6.tgz#673fccabf28943847d0c8e9e8d008e3ada7be6bb"
- integrity sha512-zEfbFLzB9ETcEJ4HZEEsCR9HHeNku5/Qw1jSS5McYJv5BR+ftYXwFFAH5Al+xkGaZEqowMwl7uoJjQb1YSPF8Q==
+"@typescript-eslint/visitor-keys@6.0.0":
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.0.0.tgz#0b49026049fbd096d2c00c5e784866bc69532a31"
+ integrity sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==
dependencies:
- "@typescript-eslint/types" "5.59.6"
- eslint-visitor-keys "^3.3.0"
+ "@typescript-eslint/types" "6.0.0"
+ eslint-visitor-keys "^3.4.1"
"@zombienet/orchestrator@https://gitpkg.now.sh/UniqueNetwork/zombienet/javascript/packages/orchestrator?2476ea76a368f1b1e94038dbfec29c27f114288e":
version "0.0.44"
@@ -1391,10 +1106,10 @@
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
-acorn@^8.4.1, acorn@^8.8.0:
- version "8.8.2"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
- integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
+acorn@^8.4.1, acorn@^8.9.0:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -1718,9 +1433,9 @@
integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==
cacheable-request@^7.0.2:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27"
- integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817"
+ integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==
dependencies:
clone-response "^1.0.2"
get-stream "^5.1.0"
@@ -2032,11 +1747,11 @@
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
cross-fetch@^3.1.4:
- version "3.1.6"
- resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.6.tgz#bae05aa31a4da760969756318feeee6e70f15d6c"
- integrity sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==
+ version "3.1.8"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82"
+ integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==
dependencies:
- node-fetch "^2.6.11"
+ node-fetch "^2.6.12"
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
@@ -2325,9 +2040,9 @@
estraverse "^4.1.1"
eslint-scope@^7.2.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
- integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.1.tgz#936821d3462675f25a18ac5fd88a67cc15b393bd"
+ integrity sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
@@ -2349,16 +2064,16 @@
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
-eslint@^8.25.0:
- version "8.41.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.41.0.tgz#3062ca73363b4714b16dbc1e60f035e6134b6f1c"
- integrity sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==
+eslint@^8.45.0:
+ version "8.45.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.45.0.tgz#bab660f90d18e1364352c0a6b7c6db8edb458b78"
+ integrity sha512-pd8KSxiQpdYRfYa9Wufvdoct3ZPQQuVuU5O6scNgMuOMYuxvH0IGaYK0wUFjo4UYYQQCUndlXiMbnxopwvvTiw==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@eslint-community/regexpp" "^4.4.0"
- "@eslint/eslintrc" "^2.0.3"
- "@eslint/js" "8.41.0"
- "@humanwhocodes/config-array" "^0.11.8"
+ "@eslint/eslintrc" "^2.1.0"
+ "@eslint/js" "8.44.0"
+ "@humanwhocodes/config-array" "^0.11.10"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
ajv "^6.10.0"
@@ -2369,7 +2084,7 @@
escape-string-regexp "^4.0.0"
eslint-scope "^7.2.0"
eslint-visitor-keys "^3.4.1"
- espree "^9.5.2"
+ espree "^9.6.0"
esquery "^1.4.2"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
@@ -2379,7 +2094,6 @@
globals "^13.19.0"
graphemer "^1.4.0"
ignore "^5.2.0"
- import-fresh "^3.0.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
is-path-inside "^3.0.3"
@@ -2389,17 +2103,16 @@
lodash.merge "^4.6.2"
minimatch "^3.1.2"
natural-compare "^1.4.0"
- optionator "^0.9.1"
+ optionator "^0.9.3"
strip-ansi "^6.0.1"
- strip-json-comments "^3.1.0"
text-table "^0.2.0"
-espree@^9.5.2:
- version "9.5.2"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
- integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
+espree@^9.6.0:
+ version "9.6.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
+ integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
dependencies:
- acorn "^8.8.0"
+ acorn "^8.9.0"
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.1"
@@ -2621,9 +2334,9 @@
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.2.9:
- version "3.2.12"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
- integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0"
+ integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
"@nodelib/fs.walk" "^1.2.3"
@@ -3196,12 +2909,12 @@
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.2.0:
+ignore@^5.2.0, ignore@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
-import-fresh@^3.0.0, import-fresh@^3.2.1:
+import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
@@ -3474,9 +3187,9 @@
readable-stream "^3.6.0"
keyv@^4.0.0:
- version "4.5.2"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56"
- integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==
+ version "4.5.3"
+ resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25"
+ integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==
dependencies:
json-buffer "3.0.1"
@@ -3538,9 +3251,9 @@
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
lossless-json@^2.0.9:
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/lossless-json/-/lossless-json-2.0.9.tgz#2e9a71a3dcbc6c59dee565e537b9084107b7fe37"
- integrity sha512-PUfJ5foxULG1x/dXpSckmt0woBDqyq/WFoI885vEqjGwuP41K2EBYh2IT3zYx9dWqcTLIfXiCE5AjhF1jk9Sbg==
+ version "2.0.11"
+ resolved "https://registry.yarnpkg.com/lossless-json/-/lossless-json-2.0.11.tgz#3137684c93fd99481c6f99c985efc9c9c5cc76a5"
+ integrity sha512-BP0vn+NGYvzDielvBZaFain/wgeJ1hTvURCqtKvhr1SCPePdaaTanmmcplrHfEJSJOUql7hk4FHwToNJjWRY3g==
loupe@^2.3.1:
version "2.3.6"
@@ -3682,9 +3395,9 @@
brace-expansion "^1.1.7"
minimatch@^9.0.1:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253"
- integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==
+ version "9.0.3"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
+ integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
dependencies:
brace-expansion "^2.0.1"
@@ -3895,9 +3608,9 @@
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
nock@^13.3.1:
- version "13.3.1"
- resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.1.tgz#f22d4d661f7a05ebd9368edae1b5dc0a62d758fc"
- integrity sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==
+ version "13.3.2"
+ resolved "https://registry.yarnpkg.com/nock/-/nock-13.3.2.tgz#bfa6be92d37f744b1b758ea89b1105cdaf5c8b3f"
+ integrity sha512-CwbljitiWJhF1gL83NbanhoKs1l23TDlRioNraPTZrzZIEooPemrHRj5m0FZCPkB1ecdYCSWWGcHysJgX/ngnQ==
dependencies:
debug "^4.1.0"
json-stringify-safe "^5.0.1"
@@ -3914,10 +3627,10 @@
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
-node-fetch@^2.6.11:
- version "2.6.11"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25"
- integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==
+node-fetch@^2.6.12:
+ version "2.6.12"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba"
+ integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==
dependencies:
whatwg-url "^5.0.0"
@@ -3975,9 +3688,9 @@
commander "^5.1.0"
nwsapi@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.4.tgz#fd59d5e904e8e1f03c25a7d5a15cfa16c714a1e5"
- integrity sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==
+ version "2.2.7"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
+ integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
oauth-sign@~0.9.0:
version "0.9.0"
@@ -4022,17 +3735,17 @@
dependencies:
mimic-fn "^2.1.0"
-optionator@^0.9.1:
- version "0.9.1"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
- integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+optionator@^0.9.3:
+ version "0.9.3"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
+ integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
dependencies:
+ "@aashutoshrathi/word-wrap" "^1.2.3"
deep-is "^0.1.3"
fast-levenshtein "^2.0.6"
levn "^0.4.1"
prelude-ls "^1.2.1"
type-check "^0.4.0"
- word-wrap "^1.2.3"
os-tmpdir@~1.0.2:
version "1.0.2"
@@ -4454,14 +4167,14 @@
node-gyp-build "^4.2.0"
semver@^5.5.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
- integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+ version "5.7.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
+ integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@^7.3.7:
- version "7.5.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.1.tgz#c90c4d631cf74720e46b21c1d37ea07edfab91ec"
- integrity sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==
+semver@^7.5.0:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
@@ -4583,10 +4296,10 @@
pako "^2.0.4"
ws "^8.8.1"
-solc@0.8.18:
- version "0.8.18"
- resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.18.tgz#a05ce8918540eda5f10aa91f0f52f239b9645dad"
- integrity sha512-wVAa2Y3BYd64Aby5LsgS3g6YC2NvZ3bJ+A8TAIAukfVuQb3AjyGrLZpyxQk5YLn14G35uZtSnIgHEpab9klOLQ==
+solc@0.8.20:
+ version "0.8.20"
+ resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.20.tgz#b49151cf5ecc8de088d3d32b0afb607b3522ba8d"
+ integrity sha512-fPRnGspIEqmhu63RFO3pc79sLA7ZmzO0Uy0L5l6hEt2wAsq0o7UV6pXkAp3Mfv9IBhg7Px/oTu3a+y4gs3BWrQ==
dependencies:
command-exists "^1.2.8"
commander "^8.1.0"
@@ -4666,7 +4379,7 @@
dependencies:
is-hex-prefixed "1.0.0"
-strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+strip-json-comments@3.1.1, strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
@@ -4791,9 +4504,9 @@
integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==
tough-cookie@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
- integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
+ integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==
dependencies:
psl "^1.1.33"
punycode "^2.1.1"
@@ -4820,6 +4533,11 @@
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+ts-api-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.1.tgz#8144e811d44c749cd65b2da305a032510774452d"
+ integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==
+
ts-command-line-args@^2.2.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0"
@@ -4854,27 +4572,10 @@
v8-compile-cache-lib "^3.0.1"
yn "3.1.1"
-tslib@^1.8.1:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
- integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-
-tslib@^2.1.0, tslib@^2.5.0, tslib@^2.5.2:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.2.tgz#1b6f07185c881557b0ffa84b111a0106989e8338"
- integrity sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==
-
-tslib@^2.5.3:
- version "2.5.3"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913"
- integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==
-
-tsutils@^3.21.0:
- version "3.21.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
- integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
- dependencies:
- tslib "^1.8.1"
+tslib@^2.1.0, tslib@^2.5.0, tslib@^2.5.3:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3"
+ integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
tunnel-agent@^0.6.0:
version "0.6.0"
@@ -4946,15 +4647,10 @@
dependencies:
is-typedarray "^1.0.0"
-typescript@^5.0.4:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b"
- integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==
-
-typescript@^5.1.3:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.3.tgz#8d84219244a6b40b6fb2b33cc1c062f715b9e826"
- integrity sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==
+typescript@^5.1.3, typescript@^5.1.6:
+ version "5.1.6"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
+ integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
typical@^4.0.0:
version "4.0.0"
@@ -5382,9 +5078,9 @@
webidl-conversions "^3.0.0"
which-typed-array@^1.1.2:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
- integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.10.tgz#74baa2789991905c2076abb317103b866c64e69e"
+ integrity sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==
dependencies:
available-typed-arrays "^1.0.5"
call-bind "^1.0.2"
@@ -5399,11 +5095,6 @@
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
-
-word-wrap@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
- integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
wordwrap@^1.0.0:
version "1.0.0"