git.delta.rocks / unique-network / refs/commits / f522faa1683d

difftreelog

Merge branch 'develop' into feature/CORE-269

Igor Kozyrev2022-02-17parents: #49d1d66 #886d2a8.patch.diff
in: master

86 files changed

modified.envdiffbeforeafterboth
--- a/.env
+++ b/.env
@@ -1,6 +1,6 @@
 RUST_TOOLCHAIN=nightly-2021-11-11
 RUST_C=1.58.0-nightly
-POLKA_VERSION=release-v0.9.14
+POLKA_VERSION=release-v0.9.16
 UNIQUE_BRANCH=develop
 USER=***
 PASS=***
modifiedCargo.lockdiffbeforeafterboth
1414
15[[package]]15[[package]]
16name = "addr2line"16name = "addr2line"
17version = "0.16.0"
18source = "registry+https://github.com/rust-lang/crates.io-index"
19checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd"
20dependencies = [
21 "gimli 0.25.0",
22]
23
24[[package]]
25name = "addr2line"
26version = "0.17.0"17version = "0.17.0"
27source = "registry+https://github.com/rust-lang/crates.io-index"18source = "registry+https://github.com/rust-lang/crates.io-index"
28checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"19checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
29dependencies = [20dependencies = [
30 "gimli 0.26.1",21 "gimli",
31]22]
3223
33[[package]]24[[package]]
42source = "registry+https://github.com/rust-lang/crates.io-index"33source = "registry+https://github.com/rust-lang/crates.io-index"
43checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"34checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
44dependencies = [35dependencies = [
45 "generic-array 0.14.4",36 "generic-array 0.14.5",
46]37]
4738
48[[package]]39[[package]]
77source = "registry+https://github.com/rust-lang/crates.io-index"68source = "registry+https://github.com/rust-lang/crates.io-index"
78checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"69checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
79dependencies = [70dependencies = [
80 "getrandom 0.2.3",71 "getrandom 0.2.4",
81 "once_cell",72 "once_cell",
82 "version_check",73 "version_check",
83]74]
10899
109[[package]]100[[package]]
110name = "anyhow"101name = "anyhow"
111version = "1.0.51"102version = "1.0.53"
112source = "registry+https://github.com/rust-lang/crates.io-index"103source = "registry+https://github.com/rust-lang/crates.io-index"
113checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203"104checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0"
114105
115[[package]]106[[package]]
116name = "approx"107name = "approx"
117version = "0.5.0"108version = "0.5.1"
118source = "registry+https://github.com/rust-lang/crates.io-index"109source = "registry+https://github.com/rust-lang/crates.io-index"
119checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e"110checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6"
120dependencies = [111dependencies = [
121 "num-traits",112 "num-traits",
122]113]
225 "parking",216 "parking",
226 "polling",217 "polling",
227 "slab",218 "slab",
228 "socket2 0.4.2",219 "socket2 0.4.4",
229 "waker-fn",220 "waker-fn",
230 "winapi 0.3.9",221 "winapi 0.3.9",
231]222]
288 "memchr",279 "memchr",
289 "num_cpus",280 "num_cpus",
290 "once_cell",281 "once_cell",
291 "pin-project-lite 0.2.7",282 "pin-project-lite 0.2.8",
292 "pin-utils",283 "pin-utils",
293 "slab",284 "slab",
294 "wasm-bindgen-futures",285 "wasm-bindgen-futures",
295]286]
296287
297[[package]]288[[package]]
298name = "async-std-resolver"289name = "async-std-resolver"
299version = "0.20.3"290version = "0.20.4"
300source = "registry+https://github.com/rust-lang/crates.io-index"291source = "registry+https://github.com/rust-lang/crates.io-index"
301checksum = "ed4e2c3da14d8ad45acb1e3191db7a918e9505b6f155b218e70a7c9a1a48c638"292checksum = "dbf3e776afdf3a2477ef4854b85ba0dff3bd85792f685fb3c68948b4d304e4f0"
302dependencies = [293dependencies = [
303 "async-std",294 "async-std",
304 "async-trait",295 "async-trait",
310301
311[[package]]302[[package]]
312name = "async-task"303name = "async-task"
313version = "4.0.3"304version = "4.1.0"
314source = "registry+https://github.com/rust-lang/crates.io-index"305source = "registry+https://github.com/rust-lang/crates.io-index"
315checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"306checksum = "677d306121baf53310a3fd342d88dc0824f6bbeace68347593658525565abee8"
316307
317[[package]]308[[package]]
318name = "async-trait"309name = "async-trait"
335 "futures-sink",326 "futures-sink",
336 "futures-util",327 "futures-util",
337 "memchr",328 "memchr",
338 "pin-project-lite 0.2.7",329 "pin-project-lite 0.2.8",
339]330]
340331
341[[package]]332[[package]]
348 "futures-sink",339 "futures-sink",
349 "futures-util",340 "futures-util",
350 "memchr",341 "memchr",
351 "pin-project-lite 0.2.7",342 "pin-project-lite 0.2.8",
352]343]
353344
354[[package]]345[[package]]
378]369]
379370
380[[package]]371[[package]]
372name = "auto_impl"
373version = "0.5.0"
374source = "registry+https://github.com/rust-lang/crates.io-index"
375checksum = "7862e21c893d65a1650125d157eaeec691439379a1cee17ee49031b79236ada4"
376dependencies = [
377 "proc-macro-error",
378 "proc-macro2",
379 "quote",
380 "syn",
381]
382
383[[package]]
381name = "autocfg"384name = "autocfg"
382version = "1.0.1"385version = "1.1.0"
383source = "registry+https://github.com/rust-lang/crates.io-index"386source = "registry+https://github.com/rust-lang/crates.io-index"
384checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"387checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
385388
386[[package]]389[[package]]
387name = "backtrace"390name = "backtrace"
388version = "0.3.63"391version = "0.3.64"
389source = "registry+https://github.com/rust-lang/crates.io-index"392source = "registry+https://github.com/rust-lang/crates.io-index"
390checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6"393checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f"
391dependencies = [394dependencies = [
392 "addr2line 0.17.0",395 "addr2line",
393 "cc",396 "cc",
394 "cfg-if 1.0.0",397 "cfg-if 1.0.0",
395 "libc",398 "libc",
428[[package]]431[[package]]
429name = "beefy-gadget"432name = "beefy-gadget"
430version = "4.0.0-dev"433version = "4.0.0-dev"
431source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"434source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
432dependencies = [435dependencies = [
433 "beefy-primitives",436 "beefy-primitives",
434 "fnv",437 "fnv",
435 "futures 0.3.18",438 "futures 0.3.21",
436 "log",439 "log",
437 "parity-scale-codec",440 "parity-scale-codec",
438 "parking_lot 0.11.2",441 "parking_lot 0.11.2",
442 "sc-chain-spec",
439 "sc-client-api",443 "sc-client-api",
440 "sc-keystore",444 "sc-keystore",
441 "sc-network",445 "sc-network",
456[[package]]460[[package]]
457name = "beefy-gadget-rpc"461name = "beefy-gadget-rpc"
458version = "4.0.0-dev"462version = "4.0.0-dev"
459source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"463source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
460dependencies = [464dependencies = [
461 "beefy-gadget",465 "beefy-gadget",
462 "beefy-primitives",466 "beefy-primitives",
463 "futures 0.3.18",467 "derive_more",
468 "futures 0.3.21",
464 "jsonrpc-core",469 "jsonrpc-core",
465 "jsonrpc-core-client",470 "jsonrpc-core-client",
466 "jsonrpc-derive",471 "jsonrpc-derive",
467 "jsonrpc-pubsub",472 "jsonrpc-pubsub",
468 "log",473 "log",
469 "parity-scale-codec",474 "parity-scale-codec",
475 "parking_lot 0.11.2",
470 "sc-rpc",476 "sc-rpc",
477 "sc-utils",
471 "serde",478 "serde",
472 "sp-core",479 "sp-core",
473 "sp-runtime",480 "sp-runtime",
481 "thiserror",
474]482]
475483
476[[package]]484[[package]]
477name = "beefy-merkle-tree"485name = "beefy-merkle-tree"
478version = "4.0.0-dev"486version = "4.0.0-dev"
479source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"487source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
480488
481[[package]]489[[package]]
482name = "beefy-primitives"490name = "beefy-primitives"
483version = "4.0.0-dev"491version = "4.0.0-dev"
484source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"492source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
485dependencies = [493dependencies = [
486 "parity-scale-codec",494 "parity-scale-codec",
487 "scale-info",495 "scale-info",
494502
495[[package]]503[[package]]
496name = "bimap"504name = "bimap"
497version = "0.6.1"505version = "0.6.2"
498source = "registry+https://github.com/rust-lang/crates.io-index"506source = "registry+https://github.com/rust-lang/crates.io-index"
499checksum = "50ae17cabbc8a38a1e3e4c1a6a664e9a09672dc14d0896fa8d865d3a5a446b07"507checksum = "bc0455254eb5c6964c4545d8bac815e1a1be4f3afe0ae695ea539c12d728d44b"
500508
501[[package]]509[[package]]
502name = "bincode"510name = "bincode"
621checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"629checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
622dependencies = [630dependencies = [
623 "block-padding 0.2.1",631 "block-padding 0.2.1",
624 "generic-array 0.14.4",632 "generic-array 0.14.5",
625]633]
626634
627[[package]]635[[package]]
636name = "block-buffer"
637version = "0.10.2"
638source = "registry+https://github.com/rust-lang/crates.io-index"
639checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
640dependencies = [
641 "generic-array 0.14.5",
642]
643
644[[package]]
628name = "block-padding"645name = "block-padding"
629version = "0.1.5"646version = "0.1.5"
630source = "registry+https://github.com/rust-lang/crates.io-index"647source = "registry+https://github.com/rust-lang/crates.io-index"
655672
656[[package]]673[[package]]
657name = "bounded-vec"674name = "bounded-vec"
658version = "0.4.0"675version = "0.5.0"
659source = "registry+https://github.com/rust-lang/crates.io-index"676source = "registry+https://github.com/rust-lang/crates.io-index"
660checksum = "afdd1dffefe5fc66262a524b91087c43b16e478b2e3dc49eb11b0e2fd6b6ec90"677checksum = "b47cca82fca99417fe405f09d93bb8fff90bdd03d13c631f18096ee123b4281c"
661dependencies = [678dependencies = [
662 "thiserror",679 "thiserror",
663]680]
664681
665[[package]]682[[package]]
666name = "bp-header-chain"683name = "bp-header-chain"
667version = "0.1.0"684version = "0.1.0"
668source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"685source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
669dependencies = [686dependencies = [
670 "finality-grandpa",687 "finality-grandpa",
671 "frame-support",688 "frame-support",
681[[package]]698[[package]]
682name = "bp-message-dispatch"699name = "bp-message-dispatch"
683version = "0.1.0"700version = "0.1.0"
684source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"701source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
685dependencies = [702dependencies = [
686 "bp-runtime",703 "bp-runtime",
687 "frame-support",704 "frame-support",
693[[package]]710[[package]]
694name = "bp-messages"711name = "bp-messages"
695version = "0.1.0"712version = "0.1.0"
696source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"713source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
697dependencies = [714dependencies = [
698 "bitvec",715 "bitvec",
699 "bp-runtime",716 "bp-runtime",
709[[package]]726[[package]]
710name = "bp-polkadot-core"727name = "bp-polkadot-core"
711version = "0.1.0"728version = "0.1.0"
712source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"729source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
713dependencies = [730dependencies = [
714 "bp-messages",731 "bp-messages",
715 "bp-runtime",732 "bp-runtime",
725]742]
726743
727[[package]]744[[package]]
728name = "bp-rialto"
729version = "0.1.0"
730source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"
731dependencies = [
732 "bp-messages",
733 "bp-runtime",
734 "frame-support",
735 "frame-system",
736 "sp-api",
737 "sp-core",
738 "sp-runtime",
739 "sp-std",
740]
741
742[[package]]
743name = "bp-rococo"745name = "bp-rococo"
744version = "0.1.0"746version = "0.1.0"
745source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"747source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
746dependencies = [748dependencies = [
747 "bp-messages",749 "bp-messages",
748 "bp-polkadot-core",750 "bp-polkadot-core",
759[[package]]761[[package]]
760name = "bp-runtime"762name = "bp-runtime"
761version = "0.1.0"763version = "0.1.0"
762source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"764source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
763dependencies = [765dependencies = [
764 "frame-support",766 "frame-support",
765 "hash-db",767 "hash-db",
777[[package]]779[[package]]
778name = "bp-test-utils"780name = "bp-test-utils"
779version = "0.1.0"781version = "0.1.0"
780source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"782source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
781dependencies = [783dependencies = [
782 "bp-header-chain",784 "bp-header-chain",
783 "ed25519-dalek",785 "ed25519-dalek",
792[[package]]794[[package]]
793name = "bp-wococo"795name = "bp-wococo"
794version = "0.1.0"796version = "0.1.0"
795source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"797source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
796dependencies = [798dependencies = [
797 "bp-messages",799 "bp-messages",
798 "bp-polkadot-core",800 "bp-polkadot-core",
807[[package]]809[[package]]
808name = "bridge-runtime-common"810name = "bridge-runtime-common"
809version = "0.1.0"811version = "0.1.0"
810source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"812source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
811dependencies = [813dependencies = [
812 "bp-message-dispatch",814 "bp-message-dispatch",
813 "bp-messages",815 "bp-messages",
853855
854[[package]]856[[package]]
855name = "bumpalo"857name = "bumpalo"
856version = "3.8.0"858version = "3.9.1"
857source = "registry+https://github.com/rust-lang/crates.io-index"859source = "registry+https://github.com/rust-lang/crates.io-index"
858checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c"860checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
859861
860[[package]]862[[package]]
861name = "byte-slice-cast"863name = "byte-slice-cast"
899901
900[[package]]902[[package]]
901name = "cache-padded"903name = "cache-padded"
902version = "1.1.1"904version = "1.2.0"
903source = "registry+https://github.com/rust-lang/crates.io-index"905source = "registry+https://github.com/rust-lang/crates.io-index"
904checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba"906checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
905907
906[[package]]908[[package]]
907name = "camino"909name = "camino"
908version = "1.0.5"910version = "1.0.7"
909source = "registry+https://github.com/rust-lang/crates.io-index"911source = "registry+https://github.com/rust-lang/crates.io-index"
910checksum = "52d74260d9bf6944e2208aa46841b4b8f0d7ffc0849a06837b2f510337f86b2b"912checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23"
911dependencies = [913dependencies = [
912 "serde",914 "serde",
913]915]
929dependencies = [931dependencies = [
930 "camino",932 "camino",
931 "cargo-platform",933 "cargo-platform",
932 "semver 1.0.4",934 "semver 1.0.5",
933 "serde",935 "serde",
934 "serde_json",936 "serde_json",
935]937]
1025source = "registry+https://github.com/rust-lang/crates.io-index"1027source = "registry+https://github.com/rust-lang/crates.io-index"
1026checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"1028checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
1027dependencies = [1029dependencies = [
1028 "generic-array 0.14.4",1030 "generic-array 0.14.5",
1029]1031]
10301032
1031[[package]]1033[[package]]
10391041
1040[[package]]1042[[package]]
1041name = "clang-sys"1043name = "clang-sys"
1042version = "1.3.0"1044version = "1.3.1"
1043source = "registry+https://github.com/rust-lang/crates.io-index"1045source = "registry+https://github.com/rust-lang/crates.io-index"
1044checksum = "fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90"1046checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21"
1045dependencies = [1047dependencies = [
1046 "glob",1048 "glob",
1047 "libc",1049 "libc",
1048 "libloading 0.7.2",1050 "libloading 0.7.3",
1049]1051]
10501052
1051[[package]]1053[[package]]
10951097
1096[[package]]1098[[package]]
1097name = "core-foundation"1099name = "core-foundation"
1098version = "0.9.2"1100version = "0.9.3"
1099source = "registry+https://github.com/rust-lang/crates.io-index"1101source = "registry+https://github.com/rust-lang/crates.io-index"
1100checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3"1102checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
1101dependencies = [1103dependencies = [
1102 "core-foundation-sys",1104 "core-foundation-sys",
1103 "libc",1105 "libc",
11381140
1139[[package]]1141[[package]]
1140name = "cranelift-bforest"1142name = "cranelift-bforest"
1141version = "0.78.0"1143version = "0.80.0"
1142source = "registry+https://github.com/rust-lang/crates.io-index"1144source = "registry+https://github.com/rust-lang/crates.io-index"
1143checksum = "cc0cb7df82c8cf8f2e6a8dd394a0932a71369c160cc9b027dca414fced242513"1145checksum = "9516ba6b2ba47b4cbf63b713f75b432fafa0a0e0464ec8381ec76e6efe931ab3"
1144dependencies = [1146dependencies = [
1145 "cranelift-entity",1147 "cranelift-entity",
1146]1148]
11471149
1148[[package]]1150[[package]]
1149name = "cranelift-codegen"1151name = "cranelift-codegen"
1150version = "0.78.0"1152version = "0.80.0"
1151source = "registry+https://github.com/rust-lang/crates.io-index"1153source = "registry+https://github.com/rust-lang/crates.io-index"
1152checksum = "fe4463c15fa42eee909e61e5eac4866b7c6d22d0d8c621e57a0c5380753bfa8c"1154checksum = "489e5d0081f7edff6be12d71282a8bf387b5df64d5592454b75d662397f2d642"
1153dependencies = [1155dependencies = [
1154 "cranelift-bforest",1156 "cranelift-bforest",
1155 "cranelift-codegen-meta",1157 "cranelift-codegen-meta",
1156 "cranelift-codegen-shared",1158 "cranelift-codegen-shared",
1157 "cranelift-entity",1159 "cranelift-entity",
1158 "gimli 0.25.0",1160 "gimli",
1159 "log",1161 "log",
1160 "regalloc",1162 "regalloc",
1161 "smallvec",1163 "smallvec",
11641166
1165[[package]]1167[[package]]
1166name = "cranelift-codegen-meta"1168name = "cranelift-codegen-meta"
1167version = "0.78.0"1169version = "0.80.0"
1168source = "registry+https://github.com/rust-lang/crates.io-index"1170source = "registry+https://github.com/rust-lang/crates.io-index"
1169checksum = "793f6a94a053a55404ea16e1700202a88101672b8cd6b4df63e13cde950852bf"1171checksum = "d36ee1140371bb0f69100e734b30400157a4adf7b86148dee8b0a438763ead48"
1170dependencies = [1172dependencies = [
1171 "cranelift-codegen-shared",1173 "cranelift-codegen-shared",
1172 "cranelift-entity",
1173]1174]
11741175
1175[[package]]1176[[package]]
1176name = "cranelift-codegen-shared"1177name = "cranelift-codegen-shared"
1177version = "0.78.0"1178version = "0.80.0"
1178source = "registry+https://github.com/rust-lang/crates.io-index"1179source = "registry+https://github.com/rust-lang/crates.io-index"
1179checksum = "44aa1846df275bce5eb30379d65964c7afc63c05a117076e62a119c25fe174be"1180checksum = "981da52d8f746af1feb96290c83977ff8d41071a7499e991d8abae0d4869f564"
11801181
1181[[package]]1182[[package]]
1182name = "cranelift-entity"1183name = "cranelift-entity"
1183version = "0.78.0"1184version = "0.80.0"
1184source = "registry+https://github.com/rust-lang/crates.io-index"1185source = "registry+https://github.com/rust-lang/crates.io-index"
1185checksum = "a3a45d8d6318bf8fc518154d9298eab2a8154ec068a8885ff113f6db8d69bb3a"1186checksum = "a2906740053dd3bcf95ce53df0fd9b5649c68ae4bd9adada92b406f059eae461"
1186dependencies = [1187dependencies = [
1187 "serde",1188 "serde",
1188]1189]
11891190
1190[[package]]1191[[package]]
1191name = "cranelift-frontend"1192name = "cranelift-frontend"
1192version = "0.78.0"1193version = "0.80.0"
1193source = "registry+https://github.com/rust-lang/crates.io-index"1194source = "registry+https://github.com/rust-lang/crates.io-index"
1194checksum = "e07339bd461766deb7605169de039e01954768ff730fa1254e149001884a8525"1195checksum = "b7cb156de1097f567d46bf57a0cd720a72c3e15e1a2bd8b1041ba2fc894471b7"
1195dependencies = [1196dependencies = [
1196 "cranelift-codegen",1197 "cranelift-codegen",
1197 "log",1198 "log",
12011202
1202[[package]]1203[[package]]
1203name = "cranelift-native"1204name = "cranelift-native"
1204version = "0.78.0"1205version = "0.80.0"
1205source = "registry+https://github.com/rust-lang/crates.io-index"1206source = "registry+https://github.com/rust-lang/crates.io-index"
1206checksum = "03e2fca76ff57e0532936a71e3fc267eae6a19a86656716479c66e7f912e3d7b"1207checksum = "166028ca0343a6ee7bddac0e70084e142b23f99c701bd6f6ea9123afac1a7a46"
1207dependencies = [1208dependencies = [
1208 "cranelift-codegen",1209 "cranelift-codegen",
1209 "libc",1210 "libc",
12121213
1213[[package]]1214[[package]]
1214name = "cranelift-wasm"1215name = "cranelift-wasm"
1215version = "0.78.0"1216version = "0.80.0"
1216source = "registry+https://github.com/rust-lang/crates.io-index"1217source = "registry+https://github.com/rust-lang/crates.io-index"
1217checksum = "1f46fec547a1f8a32c54ea61c28be4f4ad234ad95342b718a9a9adcaadb0c778"1218checksum = "5012a1cde0c8b3898770b711490d803018ae9bec2d60674ba0e5b2058a874f80"
1218dependencies = [1219dependencies = [
1219 "cranelift-codegen",1220 "cranelift-codegen",
1220 "cranelift-entity",1221 "cranelift-entity",
12281229
1229[[package]]1230[[package]]
1230name = "crc32fast"1231name = "crc32fast"
1231version = "1.3.0"1232version = "1.3.2"
1232source = "registry+https://github.com/rust-lang/crates.io-index"1233source = "registry+https://github.com/rust-lang/crates.io-index"
1233checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836"1234checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
1234dependencies = [1235dependencies = [
1235 "cfg-if 1.0.0",1236 "cfg-if 1.0.0",
1236]1237]
12371238
1238[[package]]1239[[package]]
1239name = "crossbeam-channel"1240name = "crossbeam-channel"
1240version = "0.5.1"1241version = "0.5.2"
1241source = "registry+https://github.com/rust-lang/crates.io-index"1242source = "registry+https://github.com/rust-lang/crates.io-index"
1242checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"1243checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
1243dependencies = [1244dependencies = [
1244 "cfg-if 1.0.0",1245 "cfg-if 1.0.0",
1245 "crossbeam-utils",1246 "crossbeam-utils",
12581259
1259[[package]]1260[[package]]
1260name = "crossbeam-epoch"1261name = "crossbeam-epoch"
1261version = "0.9.5"1262version = "0.9.7"
1262source = "registry+https://github.com/rust-lang/crates.io-index"1263source = "registry+https://github.com/rust-lang/crates.io-index"
1263checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd"1264checksum = "c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9"
1264dependencies = [1265dependencies = [
1265 "cfg-if 1.0.0",1266 "cfg-if 1.0.0",
1266 "crossbeam-utils",1267 "crossbeam-utils",
12711272
1272[[package]]1273[[package]]
1273name = "crossbeam-utils"1274name = "crossbeam-utils"
1274version = "0.8.5"1275version = "0.8.7"
1275source = "registry+https://github.com/rust-lang/crates.io-index"1276source = "registry+https://github.com/rust-lang/crates.io-index"
1276checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"1277checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6"
1277dependencies = [1278dependencies = [
1278 "cfg-if 1.0.0",1279 "cfg-if 1.0.0",
1279 "lazy_static",1280 "lazy_static",
1286checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"1287checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
12871288
1288[[package]]1289[[package]]
1290name = "crypto-common"
1291version = "0.1.2"
1292source = "registry+https://github.com/rust-lang/crates.io-index"
1293checksum = "a4600d695eb3f6ce1cd44e6e291adceb2cc3ab12f20a33777ecd0bf6eba34e06"
1294dependencies = [
1295 "generic-array 0.14.5",
1296]
1297
1298[[package]]
1289name = "crypto-mac"1299name = "crypto-mac"
1290version = "0.7.0"1300version = "0.7.0"
1291source = "registry+https://github.com/rust-lang/crates.io-index"1301source = "registry+https://github.com/rust-lang/crates.io-index"
1301source = "registry+https://github.com/rust-lang/crates.io-index"1311source = "registry+https://github.com/rust-lang/crates.io-index"
1302checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"1312checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab"
1303dependencies = [1313dependencies = [
1304 "generic-array 0.14.4",1314 "generic-array 0.14.5",
1305 "subtle 2.4.1",1315 "subtle 2.4.1",
1306]1316]
13071317
1311source = "registry+https://github.com/rust-lang/crates.io-index"1321source = "registry+https://github.com/rust-lang/crates.io-index"
1312checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"1322checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
1313dependencies = [1323dependencies = [
1314 "generic-array 0.14.4",1324 "generic-array 0.14.5",
1315 "subtle 2.4.1",1325 "subtle 2.4.1",
1316]1326]
13171327
1357[[package]]1367[[package]]
1358name = "cumulus-client-cli"1368name = "cumulus-client-cli"
1359version = "0.1.0"1369version = "0.1.0"
1360source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1370source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1361dependencies = [1371dependencies = [
1362 "sc-cli",1372 "sc-cli",
1363 "sc-service",1373 "sc-service",
1367[[package]]1377[[package]]
1368name = "cumulus-client-collator"1378name = "cumulus-client-collator"
1369version = "0.1.0"1379version = "0.1.0"
1370source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1380source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1371dependencies = [1381dependencies = [
1372 "cumulus-client-consensus-common",1382 "cumulus-client-consensus-common",
1373 "cumulus-client-network",1383 "cumulus-client-network",
1374 "cumulus-primitives-core",1384 "cumulus-primitives-core",
1375 "futures 0.3.18",1385 "cumulus-relay-chain-interface",
1386 "futures 0.3.21",
1376 "parity-scale-codec",1387 "parity-scale-codec",
1377 "parking_lot 0.10.2",1388 "parking_lot 0.10.2",
1378 "polkadot-node-primitives",1389 "polkadot-node-primitives",
1390[[package]]1401[[package]]
1391name = "cumulus-client-consensus-aura"1402name = "cumulus-client-consensus-aura"
1392version = "0.1.0"1403version = "0.1.0"
1393source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1404source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1394dependencies = [1405dependencies = [
1395 "async-trait",1406 "async-trait",
1396 "cumulus-client-consensus-common",1407 "cumulus-client-consensus-common",
1397 "cumulus-primitives-core",1408 "cumulus-primitives-core",
1398 "futures 0.3.18",1409 "futures 0.3.21",
1399 "parity-scale-codec",1410 "parity-scale-codec",
1400 "polkadot-client",
1401 "sc-client-api",1411 "sc-client-api",
1402 "sc-consensus",1412 "sc-consensus",
1403 "sc-consensus-aura",1413 "sc-consensus-aura",
1420[[package]]1430[[package]]
1421name = "cumulus-client-consensus-common"1431name = "cumulus-client-consensus-common"
1422version = "0.1.0"1432version = "0.1.0"
1423source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1433source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1424dependencies = [1434dependencies = [
1425 "async-trait",1435 "async-trait",
1436 "cumulus-relay-chain-interface",
1426 "dyn-clone",1437 "dyn-clone",
1427 "futures 0.3.18",1438 "futures 0.3.21",
1428 "parity-scale-codec",1439 "parity-scale-codec",
1429 "polkadot-primitives",1440 "polkadot-primitives",
1430 "sc-client-api",1441 "sc-client-api",
1440[[package]]1451[[package]]
1441name = "cumulus-client-network"1452name = "cumulus-client-network"
1442version = "0.1.0"1453version = "0.1.0"
1443source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1454source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1444dependencies = [1455dependencies = [
1456 "async-trait",
1457 "cumulus-relay-chain-interface",
1445 "derive_more",1458 "derive_more",
1446 "futures 0.3.18",1459 "futures 0.3.21",
1447 "futures-timer 3.0.2",1460 "futures-timer",
1448 "parity-scale-codec",1461 "parity-scale-codec",
1449 "parking_lot 0.10.2",1462 "parking_lot 0.11.2",
1450 "polkadot-client",
1451 "polkadot-node-primitives",1463 "polkadot-node-primitives",
1452 "polkadot-parachain",1464 "polkadot-parachain",
1453 "polkadot-primitives",1465 "polkadot-primitives",
1457 "sp-consensus",1469 "sp-consensus",
1458 "sp-core",1470 "sp-core",
1459 "sp-runtime",1471 "sp-runtime",
1472 "sp-state-machine",
1460 "tracing",1473 "tracing",
1461]1474]
14621475
1463[[package]]1476[[package]]
1464name = "cumulus-client-pov-recovery"1477name = "cumulus-client-pov-recovery"
1465version = "0.1.0"1478version = "0.1.0"
1466source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1479source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1467dependencies = [1480dependencies = [
1468 "cumulus-primitives-core",1481 "cumulus-primitives-core",
1469 "futures 0.3.18",1482 "cumulus-relay-chain-interface",
1483 "futures 0.3.21",
1470 "futures-timer 3.0.2",1484 "futures-timer",
1471 "parity-scale-codec",1485 "parity-scale-codec",
1472 "polkadot-node-primitives",1486 "polkadot-node-primitives",
1473 "polkadot-node-subsystem",1487 "polkadot-node-subsystem",
1486[[package]]1500[[package]]
1487name = "cumulus-client-service"1501name = "cumulus-client-service"
1488version = "0.1.0"1502version = "0.1.0"
1489source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1503source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1490dependencies = [1504dependencies = [
1491 "cumulus-client-collator",1505 "cumulus-client-collator",
1492 "cumulus-client-consensus-common",1506 "cumulus-client-consensus-common",
1493 "cumulus-client-pov-recovery",1507 "cumulus-client-pov-recovery",
1494 "cumulus-primitives-core",1508 "cumulus-primitives-core",
1509 "cumulus-relay-chain-interface",
1495 "parity-scale-codec",1510 "parity-scale-codec",
1496 "parking_lot 0.10.2",1511 "parking_lot 0.10.2",
1497 "polkadot-overseer",1512 "polkadot-overseer",
1498 "polkadot-primitives",1513 "polkadot-primitives",
1499 "polkadot-service",
1500 "sc-chain-spec",1514 "sc-chain-spec",
1501 "sc-client-api",1515 "sc-client-api",
1502 "sc-consensus",1516 "sc-consensus",
1515[[package]]1529[[package]]
1516name = "cumulus-pallet-aura-ext"1530name = "cumulus-pallet-aura-ext"
1517version = "0.1.0"1531version = "0.1.0"
1518source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1532source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1519dependencies = [1533dependencies = [
1520 "frame-executive",1534 "frame-executive",
1521 "frame-support",1535 "frame-support",
1533[[package]]1547[[package]]
1534name = "cumulus-pallet-dmp-queue"1548name = "cumulus-pallet-dmp-queue"
1535version = "0.1.0"1549version = "0.1.0"
1536source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1550source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1537dependencies = [1551dependencies = [
1538 "cumulus-primitives-core",1552 "cumulus-primitives-core",
1539 "frame-support",1553 "frame-support",
1551[[package]]1565[[package]]
1552name = "cumulus-pallet-parachain-system"1566name = "cumulus-pallet-parachain-system"
1553version = "0.1.0"1567version = "0.1.0"
1554source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1568source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1555dependencies = [1569dependencies = [
1556 "cumulus-pallet-parachain-system-proc-macro",1570 "cumulus-pallet-parachain-system-proc-macro",
1557 "cumulus-primitives-core",1571 "cumulus-primitives-core",
1558 "cumulus-primitives-parachain-inherent",1572 "cumulus-primitives-parachain-inherent",
1559 "environmental",1573 "environmental",
1560 "frame-support",1574 "frame-support",
1561 "frame-system",1575 "frame-system",
1576 "impl-trait-for-tuples",
1562 "log",1577 "log",
1563 "pallet-balances",1578 "pallet-balances",
1564 "parity-scale-codec",1579 "parity-scale-codec",
1580[[package]]1595[[package]]
1581name = "cumulus-pallet-parachain-system-proc-macro"1596name = "cumulus-pallet-parachain-system-proc-macro"
1582version = "0.1.0"1597version = "0.1.0"
1583source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1598source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1584dependencies = [1599dependencies = [
1585 "proc-macro-crate 1.1.0",1600 "proc-macro-crate 1.1.0",
1586 "proc-macro2",1601 "proc-macro2",
1591[[package]]1606[[package]]
1592name = "cumulus-pallet-xcm"1607name = "cumulus-pallet-xcm"
1593version = "0.1.0"1608version = "0.1.0"
1594source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1609source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1595dependencies = [1610dependencies = [
1596 "cumulus-primitives-core",1611 "cumulus-primitives-core",
1597 "frame-support",1612 "frame-support",
1608[[package]]1623[[package]]
1609name = "cumulus-pallet-xcmp-queue"1624name = "cumulus-pallet-xcmp-queue"
1610version = "0.1.0"1625version = "0.1.0"
1611source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1626source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1612dependencies = [1627dependencies = [
1613 "cumulus-primitives-core",1628 "cumulus-primitives-core",
1614 "frame-support",1629 "frame-support",
1626[[package]]1641[[package]]
1627name = "cumulus-primitives-core"1642name = "cumulus-primitives-core"
1628version = "0.1.0"1643version = "0.1.0"
1629source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1644source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1630dependencies = [1645dependencies = [
1631 "frame-support",1646 "frame-support",
1632 "impl-trait-for-tuples",
1633 "parity-scale-codec",1647 "parity-scale-codec",
1634 "polkadot-core-primitives",1648 "polkadot-core-primitives",
1635 "polkadot-parachain",1649 "polkadot-parachain",
1643[[package]]1657[[package]]
1644name = "cumulus-primitives-parachain-inherent"1658name = "cumulus-primitives-parachain-inherent"
1645version = "0.1.0"1659version = "0.1.0"
1646source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1660source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1647dependencies = [1661dependencies = [
1648 "async-trait",1662 "async-trait",
1649 "cumulus-primitives-core",1663 "cumulus-primitives-core",
1664 "cumulus-relay-chain-interface",
1650 "cumulus-test-relay-sproof-builder",1665 "cumulus-test-relay-sproof-builder",
1651 "parity-scale-codec",1666 "parity-scale-codec",
1652 "polkadot-client",
1653 "sc-client-api",1667 "sc-client-api",
1654 "scale-info",1668 "scale-info",
1655 "sp-api",1669 "sp-api",
1658 "sp-runtime",1672 "sp-runtime",
1659 "sp-state-machine",1673 "sp-state-machine",
1660 "sp-std",1674 "sp-std",
1675 "sp-storage",
1661 "sp-trie",1676 "sp-trie",
1662 "tracing",1677 "tracing",
1663]1678]
16641679
1665[[package]]1680[[package]]
1666name = "cumulus-primitives-timestamp"1681name = "cumulus-primitives-timestamp"
1667version = "0.1.0"1682version = "0.1.0"
1668source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1683source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1669dependencies = [1684dependencies = [
1670 "cumulus-primitives-core",1685 "cumulus-primitives-core",
1671 "sp-inherents",1686 "sp-inherents",
1676[[package]]1691[[package]]
1677name = "cumulus-primitives-utility"1692name = "cumulus-primitives-utility"
1678version = "0.1.0"1693version = "0.1.0"
1679source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1694source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1680dependencies = [1695dependencies = [
1681 "cumulus-primitives-core",1696 "cumulus-primitives-core",
1682 "frame-support",1697 "frame-support",
1691]1706]
16921707
1693[[package]]1708[[package]]
1709name = "cumulus-relay-chain-interface"
1710version = "0.1.0"
1711source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1712dependencies = [
1713 "async-trait",
1714 "cumulus-primitives-core",
1715 "derive_more",
1716 "futures 0.3.21",
1717 "parking_lot 0.11.2",
1718 "polkadot-overseer",
1719 "sc-client-api",
1720 "sc-service",
1721 "sp-api",
1722 "sp-blockchain",
1723 "sp-core",
1724 "sp-runtime",
1725 "sp-state-machine",
1726 "thiserror",
1727]
1728
1729[[package]]
1730name = "cumulus-relay-chain-local"
1731version = "0.1.0"
1732source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1733dependencies = [
1734 "async-trait",
1735 "cumulus-primitives-core",
1736 "cumulus-relay-chain-interface",
1737 "futures 0.3.21",
1738 "futures-timer",
1739 "parking_lot 0.11.2",
1740 "polkadot-client",
1741 "polkadot-service",
1742 "sc-client-api",
1743 "sc-consensus-babe",
1744 "sc-network",
1745 "sc-service",
1746 "sc-telemetry",
1747 "sc-tracing",
1748 "sp-api",
1749 "sp-blockchain",
1750 "sp-consensus",
1751 "sp-core",
1752 "sp-runtime",
1753 "sp-state-machine",
1754 "tracing",
1755]
1756
1757[[package]]
1694name = "cumulus-test-relay-sproof-builder"1758name = "cumulus-test-relay-sproof-builder"
1695version = "0.1.0"1759version = "0.1.0"
1696source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"1760source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
1697dependencies = [1761dependencies = [
1698 "cumulus-primitives-core",1762 "cumulus-primitives-core",
1699 "parity-scale-codec",1763 "parity-scale-codec",
1829source = "registry+https://github.com/rust-lang/crates.io-index"1893source = "registry+https://github.com/rust-lang/crates.io-index"
1830checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"1894checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
1831dependencies = [1895dependencies = [
1832 "generic-array 0.14.4",1896 "generic-array 0.14.5",
1833]1897]
18341898
1835[[package]]1899[[package]]
1900name = "digest"
1901version = "0.10.2"
1902source = "registry+https://github.com/rust-lang/crates.io-index"
1903checksum = "8cb780dce4f9a8f5c087362b3a4595936b2019e7c8b30f2c3e9a7e94e6ae9837"
1904dependencies = [
1905 "block-buffer 0.10.2",
1906 "crypto-common",
1907]
1908
1909[[package]]
1836name = "directories"1910name = "directories"
1837version = "4.0.1"1911version = "4.0.1"
1838source = "registry+https://github.com/rust-lang/crates.io-index"1912source = "registry+https://github.com/rust-lang/crates.io-index"
1941 "ed25519",2015 "ed25519",
1942 "rand 0.7.3",2016 "rand 0.7.3",
1943 "serde",2017 "serde",
1944 "sha2 0.9.8",2018 "sha2 0.9.9",
1945 "zeroize",2019 "zeroize",
1946]2020]
19472021
19962070
1997[[package]]2071[[package]]
1998name = "env_logger"2072name = "env_logger"
1999version = "0.7.1"
2000source = "registry+https://github.com/rust-lang/crates.io-index"
2001checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
2002dependencies = [
2003 "atty",
2004 "humantime 1.3.0",
2005 "log",
2006 "regex",
2007 "termcolor",
2008]
2009
2010[[package]]
2011name = "env_logger"
2012version = "0.9.0"2073version = "0.9.0"
2013source = "registry+https://github.com/rust-lang/crates.io-index"2074source = "registry+https://github.com/rust-lang/crates.io-index"
2014checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"2075checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
2015dependencies = [2076dependencies = [
2016 "atty",2077 "atty",
2017 "humantime 2.1.0",2078 "humantime",
2018 "log",2079 "log",
2019 "regex",2080 "regex",
2020 "termcolor",2081 "termcolor",
20642125
2065[[package]]2126[[package]]
2066name = "ethereum"2127name = "ethereum"
2067version = "0.9.0"2128version = "0.11.1"
2068source = "registry+https://github.com/rust-lang/crates.io-index"2129source = "registry+https://github.com/rust-lang/crates.io-index"
2069checksum = "4a67be3eaf296ef668733f54c637e84d0ca34eaf194f0077455135981ad464c3"2130checksum = "34c90e0a755da706ce0970ec0fa8cc48aabcc8e8efa1245336acf718dab06ffe"
2070dependencies = [2131dependencies = [
2071 "bytes 1.1.0",2132 "bytes 1.1.0",
2072 "ethereum-types",2133 "ethereum-types",
2075 "parity-scale-codec",2136 "parity-scale-codec",
2076 "rlp",2137 "rlp",
2077 "rlp-derive",2138 "rlp-derive",
2078 "serde",
2079 "sha3 0.9.1",
2080 "triehash",
2081]
2082
2083[[package]]
2084name = "ethereum"
2085version = "0.10.0"
2086source = "registry+https://github.com/rust-lang/crates.io-index"
2087checksum = "81fb916554a4dba293ea69c69ad5653e21d770a9d0c2496b5fa0a1f5a3946d87"
2088dependencies = [
2089 "bytes 1.1.0",
2090 "ethereum-types",
2091 "hash-db",
2092 "hash256-std-hasher",
2093 "parity-scale-codec",
2094 "rlp",
2095 "rlp-derive",
2096 "scale-info",2139 "scale-info",
2097 "serde",2140 "serde",
2098 "sha3 0.9.1",2141 "sha3 0.9.1",
21172160
2118[[package]]2161[[package]]
2119name = "event-listener"2162name = "event-listener"
2120version = "2.5.1"2163version = "2.5.2"
2121source = "registry+https://github.com/rust-lang/crates.io-index"2164source = "registry+https://github.com/rust-lang/crates.io-index"
2122checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"2165checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
21232166
2124[[package]]2167[[package]]
2125name = "evm"2168name = "evm"
2126version = "0.33.0"2169version = "0.33.1"
2127source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-weights#3113ac1ced53bf27e9845107fd30901708824cc4"2170source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
2128dependencies = [2171dependencies = [
2172 "auto_impl",
2129 "environmental",2173 "environmental",
2130 "ethereum 0.10.0",2174 "ethereum",
2131 "evm-core",2175 "evm-core",
2132 "evm-gasometer",2176 "evm-gasometer",
2133 "evm-runtime",2177 "evm-runtime",
2144name = "evm-coder"2188name = "evm-coder"
2145version = "0.1.0"2189version = "0.1.0"
2146dependencies = [2190dependencies = [
2147 "ethereum 0.10.0",2191 "ethereum",
2148 "evm-coder-macros",2192 "evm-coder-macros",
2149 "evm-core",2193 "evm-core",
2150 "hex",2194 "hex",
2169[[package]]2213[[package]]
2170name = "evm-core"2214name = "evm-core"
2171version = "0.33.0"2215version = "0.33.0"
2172source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-weights#3113ac1ced53bf27e9845107fd30901708824cc4"2216source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
2173dependencies = [2217dependencies = [
2174 "funty",2218 "funty",
2175 "parity-scale-codec",2219 "parity-scale-codec",
2181[[package]]2225[[package]]
2182name = "evm-gasometer"2226name = "evm-gasometer"
2183version = "0.33.0"2227version = "0.33.0"
2184source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-weights#3113ac1ced53bf27e9845107fd30901708824cc4"2228source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
2185dependencies = [2229dependencies = [
2186 "environmental",2230 "environmental",
2187 "evm-core",2231 "evm-core",
2192[[package]]2236[[package]]
2193name = "evm-runtime"2237name = "evm-runtime"
2194version = "0.33.0"2238version = "0.33.0"
2195source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-weights#3113ac1ced53bf27e9845107fd30901708824cc4"2239source = "git+https://github.com/uniquenetwork/evm.git?branch=unique-polkadot-v0.9.16#b6d849f3906eafc4f9a0aaa2d0fe5403d4e2c0a8"
2196dependencies = [2240dependencies = [
2241 "auto_impl",
2197 "environmental",2242 "environmental",
2198 "evm-core",2243 "evm-core",
2199 "primitive-types 0.10.1",2244 "primitive-types 0.10.1",
2206source = "registry+https://github.com/rust-lang/crates.io-index"2251source = "registry+https://github.com/rust-lang/crates.io-index"
2207checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"2252checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
2208dependencies = [2253dependencies = [
2209 "futures 0.3.18",2254 "futures 0.3.21",
2210]2255]
22112256
2212[[package]]2257[[package]]
22232268
2224[[package]]2269[[package]]
2225name = "fastrand"2270name = "fastrand"
2226version = "1.5.0"2271version = "1.7.0"
2227source = "registry+https://github.com/rust-lang/crates.io-index"2272source = "registry+https://github.com/rust-lang/crates.io-index"
2228checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e"2273checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
2229dependencies = [2274dependencies = [
2230 "instant",2275 "instant",
2231]2276]
22322277
2233[[package]]2278[[package]]
2234name = "fc-consensus"2279name = "fc-consensus"
2235version = "2.0.0-dev"2280version = "2.0.0-dev"
2236source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2281source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2237dependencies = [2282dependencies = [
2238 "async-trait",2283 "async-trait",
2239 "derive_more",2284 "derive_more",
2240 "fc-db",2285 "fc-db",
2241 "fp-consensus",2286 "fp-consensus",
2242 "fp-rpc",2287 "fp-rpc",
2243 "futures 0.3.18",2288 "futures 0.3.21",
2244 "log",2289 "log",
2245 "parity-scale-codec",2290 "parity-scale-codec",
2246 "sc-client-api",2291 "sc-client-api",
2260[[package]]2305[[package]]
2261name = "fc-db"2306name = "fc-db"
2262version = "2.0.0-dev"2307version = "2.0.0-dev"
2263source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2308source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2264dependencies = [2309dependencies = [
2265 "fp-storage",2310 "fp-storage",
2266 "kvdb",2311 "kvdb",
2276[[package]]2321[[package]]
2277name = "fc-mapping-sync"2322name = "fc-mapping-sync"
2278version = "2.0.0-dev"2323version = "2.0.0-dev"
2279source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2324source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2280dependencies = [2325dependencies = [
2281 "fc-consensus",2326 "fc-consensus",
2282 "fc-db",2327 "fc-db",
2283 "fp-consensus",2328 "fp-consensus",
2284 "fp-rpc",2329 "fp-rpc",
2285 "futures 0.3.18",2330 "futures 0.3.21",
2286 "futures-timer 3.0.2",2331 "futures-timer",
2287 "log",2332 "log",
2288 "sc-client-api",2333 "sc-client-api",
2289 "sp-api",2334 "sp-api",
2294[[package]]2339[[package]]
2295name = "fc-rpc"2340name = "fc-rpc"
2296version = "2.0.0-dev"2341version = "2.0.0-dev"
2297source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2342source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2298dependencies = [2343dependencies = [
2299 "ethereum 0.10.0",2344 "ethereum",
2300 "ethereum-types",2345 "ethereum-types",
2301 "evm",2346 "evm",
2302 "fc-consensus",2347 "fc-consensus",
2306 "fp-evm",2351 "fp-evm",
2307 "fp-rpc",2352 "fp-rpc",
2308 "fp-storage",2353 "fp-storage",
2309 "futures 0.3.18",2354 "futures 0.3.21",
2310 "futures-util",2355 "futures-util",
2311 "jsonrpc-core",2356 "jsonrpc-core",
2312 "jsonrpc-pubsub",2357 "jsonrpc-pubsub",
2328 "sc-transaction-pool-api",2373 "sc-transaction-pool-api",
2329 "sha3 0.8.2",2374 "sha3 0.8.2",
2330 "sp-api",2375 "sp-api",
2376 "sp-block-builder",
2331 "sp-blockchain",2377 "sp-blockchain",
2332 "sp-io",2378 "sp-io",
2333 "sp-runtime",2379 "sp-runtime",
2334 "sp-storage",2380 "sp-storage",
2335 "sp-transaction-pool",2381 "sp-transaction-pool",
2382 "tokio 1.16.1",
2336]2383]
23372384
2338[[package]]2385[[package]]
2339name = "fc-rpc-core"2386name = "fc-rpc-core"
2340version = "1.1.0-dev"2387version = "1.1.0-dev"
2341source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2388source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2342dependencies = [2389dependencies = [
2390 "ethereum",
2343 "ethereum-types",2391 "ethereum-types",
2344 "jsonrpc-core",2392 "jsonrpc-core",
2345 "jsonrpc-core-client",2393 "jsonrpc-core-client",
2346 "jsonrpc-derive",2394 "jsonrpc-derive",
2347 "jsonrpc-pubsub",2395 "jsonrpc-pubsub",
2396 "rlp",
2348 "rustc-hex",2397 "rustc-hex",
2349 "serde",2398 "serde",
2350 "serde_json",2399 "serde_json",
2400 "sha3 0.8.2",
2351]2401]
23522402
2353[[package]]2403[[package]]
23612411
2362[[package]]2412[[package]]
2363name = "file-per-thread-logger"2413name = "file-per-thread-logger"
2364version = "0.1.4"2414version = "0.1.5"
2365source = "registry+https://github.com/rust-lang/crates.io-index"2415source = "registry+https://github.com/rust-lang/crates.io-index"
2366checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126"2416checksum = "21e16290574b39ee41c71aeb90ae960c504ebaf1e2a1c87bd52aa56ed6e1a02f"
2367dependencies = [2417dependencies = [
2368 "env_logger 0.7.1",2418 "env_logger",
2369 "log",2419 "log",
2370]2420]
23712421
2376checksum = "e8ac3ff5224ef91f3c97e03eb1de2db82743427e91aaa5ac635f454f0b164f5a"2426checksum = "e8ac3ff5224ef91f3c97e03eb1de2db82743427e91aaa5ac635f454f0b164f5a"
2377dependencies = [2427dependencies = [
2378 "either",2428 "either",
2379 "futures 0.3.18",2429 "futures 0.3.21",
2380 "futures-timer 3.0.2",2430 "futures-timer",
2381 "log",2431 "log",
2382 "num-traits",2432 "num-traits",
2383 "parity-scale-codec",2433 "parity-scale-codec",
23992449
2400[[package]]2450[[package]]
2401name = "fixedbitset"2451name = "fixedbitset"
2402version = "0.4.0"2452version = "0.4.1"
2403source = "registry+https://github.com/rust-lang/crates.io-index"2453source = "registry+https://github.com/rust-lang/crates.io-index"
2404checksum = "398ea4fabe40b9b0d885340a2a991a44c8a645624075ad966d21f88688e2b69e"2454checksum = "279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e"
24052455
2406[[package]]2456[[package]]
2407name = "flate2"2457name = "flate2"
2441[[package]]2491[[package]]
2442name = "fork-tree"2492name = "fork-tree"
2443version = "3.0.0"2493version = "3.0.0"
2444source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2494source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2445dependencies = [2495dependencies = [
2446 "parity-scale-codec",2496 "parity-scale-codec",
2447]2497]
2459[[package]]2509[[package]]
2460name = "fp-consensus"2510name = "fp-consensus"
2461version = "2.0.0-dev"2511version = "2.0.0-dev"
2462source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2512source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2463dependencies = [2513dependencies = [
2464 "ethereum 0.10.0",2514 "ethereum",
2465 "parity-scale-codec",2515 "parity-scale-codec",
2466 "rlp",2516 "rlp",
2467 "sha3 0.8.2",2517 "sha3 0.8.2",
2473[[package]]2523[[package]]
2474name = "fp-evm"2524name = "fp-evm"
2475version = "3.0.0-dev"2525version = "3.0.0-dev"
2476source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2526source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2477dependencies = [2527dependencies = [
2478 "evm",2528 "evm",
2479 "impl-trait-for-tuples",2529 "impl-trait-for-tuples",
2487[[package]]2537[[package]]
2488name = "fp-rpc"2538name = "fp-rpc"
2489version = "3.0.0-dev"2539version = "3.0.0-dev"
2490source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2540source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2491dependencies = [2541dependencies = [
2492 "ethereum 0.10.0",2542 "ethereum",
2493 "ethereum-types",2543 "ethereum-types",
2494 "fp-evm",2544 "fp-evm",
2495 "parity-scale-codec",2545 "parity-scale-codec",
2504[[package]]2554[[package]]
2505name = "fp-self-contained"2555name = "fp-self-contained"
2506version = "1.0.0-dev"2556version = "1.0.0-dev"
2507source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2557source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
2508dependencies = [2558dependencies = [
2509 "ethereum 0.9.0",2559 "ethereum",
2510 "frame-support",2560 "frame-support",
2511 "parity-scale-codec",2561 "parity-scale-codec",
2512 "parity-util-mem",2562 "parity-util-mem",
2521[[package]]2571[[package]]
2522name = "fp-storage"2572name = "fp-storage"
2523version = "2.0.0"2573version = "2.0.0"
2524source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"2574source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
25252575
2526[[package]]2576[[package]]
2527name = "frame-benchmarking"2577name = "frame-benchmarking"
2528version = "4.0.0-dev"2578version = "4.0.0-dev"
2529source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2579source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2530dependencies = [2580dependencies = [
2531 "frame-support",2581 "frame-support",
2532 "frame-system",2582 "frame-system",
2536 "paste",2586 "paste",
2537 "scale-info",2587 "scale-info",
2538 "sp-api",2588 "sp-api",
2589 "sp-application-crypto",
2539 "sp-io",2590 "sp-io",
2540 "sp-runtime",2591 "sp-runtime",
2541 "sp-runtime-interface",2592 "sp-runtime-interface",
2546[[package]]2597[[package]]
2547name = "frame-benchmarking-cli"2598name = "frame-benchmarking-cli"
2548version = "4.0.0-dev"2599version = "4.0.0-dev"
2549source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2600source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2550dependencies = [2601dependencies = [
2551 "Inflector",2602 "Inflector",
2552 "chrono",2603 "chrono",
2572[[package]]2623[[package]]
2573name = "frame-election-provider-support"2624name = "frame-election-provider-support"
2574version = "4.0.0-dev"2625version = "4.0.0-dev"
2575source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2626source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2576dependencies = [2627dependencies = [
2577 "frame-support",2628 "frame-support",
2578 "frame-system",2629 "frame-system",
2586[[package]]2637[[package]]
2587name = "frame-executive"2638name = "frame-executive"
2588version = "4.0.0-dev"2639version = "4.0.0-dev"
2589source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2640source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2590dependencies = [2641dependencies = [
2591 "frame-support",2642 "frame-support",
2592 "frame-system",2643 "frame-system",
2614[[package]]2665[[package]]
2615name = "frame-support"2666name = "frame-support"
2616version = "4.0.0-dev"2667version = "4.0.0-dev"
2617source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2668source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2618dependencies = [2669dependencies = [
2619 "bitflags",2670 "bitflags",
2620 "frame-metadata",2671 "frame-metadata",
2643[[package]]2694[[package]]
2644name = "frame-support-procedural"2695name = "frame-support-procedural"
2645version = "4.0.0-dev"2696version = "4.0.0-dev"
2646source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2697source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2647dependencies = [2698dependencies = [
2648 "Inflector",2699 "Inflector",
2649 "frame-support-procedural-tools",2700 "frame-support-procedural-tools",
2655[[package]]2706[[package]]
2656name = "frame-support-procedural-tools"2707name = "frame-support-procedural-tools"
2657version = "4.0.0-dev"2708version = "4.0.0-dev"
2658source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2709source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2659dependencies = [2710dependencies = [
2660 "frame-support-procedural-tools-derive",2711 "frame-support-procedural-tools-derive",
2661 "proc-macro-crate 1.1.0",2712 "proc-macro-crate 1.1.0",
2667[[package]]2718[[package]]
2668name = "frame-support-procedural-tools-derive"2719name = "frame-support-procedural-tools-derive"
2669version = "3.0.0"2720version = "3.0.0"
2670source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2721source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2671dependencies = [2722dependencies = [
2672 "proc-macro2",2723 "proc-macro2",
2673 "quote",2724 "quote",
2677[[package]]2728[[package]]
2678name = "frame-system"2729name = "frame-system"
2679version = "4.0.0-dev"2730version = "4.0.0-dev"
2680source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2731source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2681dependencies = [2732dependencies = [
2682 "frame-support",2733 "frame-support",
2683 "log",2734 "log",
2694[[package]]2745[[package]]
2695name = "frame-system-benchmarking"2746name = "frame-system-benchmarking"
2696version = "4.0.0-dev"2747version = "4.0.0-dev"
2697source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2748source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2698dependencies = [2749dependencies = [
2699 "frame-benchmarking",2750 "frame-benchmarking",
2700 "frame-support",2751 "frame-support",
2709[[package]]2760[[package]]
2710name = "frame-system-rpc-runtime-api"2761name = "frame-system-rpc-runtime-api"
2711version = "4.0.0-dev"2762version = "4.0.0-dev"
2712source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2763source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2713dependencies = [2764dependencies = [
2714 "parity-scale-codec",2765 "parity-scale-codec",
2715 "sp-api",2766 "sp-api",
2718[[package]]2769[[package]]
2719name = "frame-try-runtime"2770name = "frame-try-runtime"
2720version = "0.10.0-dev"2771version = "0.10.0-dev"
2721source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"2772source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
2722dependencies = [2773dependencies = [
2723 "frame-support",2774 "frame-support",
2724 "sp-api",2775 "sp-api",
27842835
2785[[package]]2836[[package]]
2786name = "futures"2837name = "futures"
2787version = "0.3.18"2838version = "0.3.21"
2788source = "registry+https://github.com/rust-lang/crates.io-index"2839source = "registry+https://github.com/rust-lang/crates.io-index"
2789checksum = "8cd0210d8c325c245ff06fd95a3b13689a1a276ac8cfa8e8720cb840bfb84b9e"2840checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
2790dependencies = [2841dependencies = [
2791 "futures-channel",2842 "futures-channel",
2792 "futures-core",2843 "futures-core",
27992850
2800[[package]]2851[[package]]
2801name = "futures-channel"2852name = "futures-channel"
2802version = "0.3.18"2853version = "0.3.21"
2803source = "registry+https://github.com/rust-lang/crates.io-index"2854source = "registry+https://github.com/rust-lang/crates.io-index"
2804checksum = "7fc8cd39e3dbf865f7340dce6a2d401d24fd37c6fe6c4f0ee0de8bfca2252d27"2855checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
2805dependencies = [2856dependencies = [
2806 "futures-core",2857 "futures-core",
2807 "futures-sink",2858 "futures-sink",
2808]2859]
28092860
2810[[package]]2861[[package]]
2811name = "futures-core"2862name = "futures-core"
2812version = "0.3.18"2863version = "0.3.21"
2813source = "registry+https://github.com/rust-lang/crates.io-index"2864source = "registry+https://github.com/rust-lang/crates.io-index"
2814checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445"2865checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
28152866
2816[[package]]2867[[package]]
2817name = "futures-executor"2868name = "futures-executor"
2818version = "0.3.18"2869version = "0.3.21"
2819source = "registry+https://github.com/rust-lang/crates.io-index"2870source = "registry+https://github.com/rust-lang/crates.io-index"
2820checksum = "7b808bf53348a36cab739d7e04755909b9fcaaa69b7d7e588b37b6ec62704c97"2871checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
2821dependencies = [2872dependencies = [
2822 "futures-core",2873 "futures-core",
2823 "futures-task",2874 "futures-task",
28272878
2828[[package]]2879[[package]]
2829name = "futures-io"2880name = "futures-io"
2830version = "0.3.18"2881version = "0.3.21"
2831source = "registry+https://github.com/rust-lang/crates.io-index"2882source = "registry+https://github.com/rust-lang/crates.io-index"
2832checksum = "e481354db6b5c353246ccf6a728b0c5511d752c08da7260546fc0933869daa11"2883checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
28332884
2834[[package]]2885[[package]]
2835name = "futures-lite"2886name = "futures-lite"
2842 "futures-io",2893 "futures-io",
2843 "memchr",2894 "memchr",
2844 "parking",2895 "parking",
2845 "pin-project-lite 0.2.7",2896 "pin-project-lite 0.2.8",
2846 "waker-fn",2897 "waker-fn",
2847]2898]
28482899
2849[[package]]2900[[package]]
2850name = "futures-macro"2901name = "futures-macro"
2851version = "0.3.18"2902version = "0.3.21"
2852source = "registry+https://github.com/rust-lang/crates.io-index"2903source = "registry+https://github.com/rust-lang/crates.io-index"
2853checksum = "a89f17b21645bc4ed773c69af9c9a0effd4a3f1a3876eadd453469f8854e7fdd"2904checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
2854dependencies = [2905dependencies = [
2855 "proc-macro2",2906 "proc-macro2",
2856 "quote",2907 "quote",
28702921
2871[[package]]2922[[package]]
2872name = "futures-sink"2923name = "futures-sink"
2873version = "0.3.18"2924version = "0.3.21"
2874source = "registry+https://github.com/rust-lang/crates.io-index"2925source = "registry+https://github.com/rust-lang/crates.io-index"
2875checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af"2926checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
28762927
2877[[package]]2928[[package]]
2878name = "futures-task"2929name = "futures-task"
2879version = "0.3.18"2930version = "0.3.21"
2880source = "registry+https://github.com/rust-lang/crates.io-index"2931source = "registry+https://github.com/rust-lang/crates.io-index"
2881checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12"2932checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
28822933
2883[[package]]2934[[package]]
2884name = "futures-timer"2935name = "futures-timer"
2885version = "2.0.2"
2886source = "registry+https://github.com/rust-lang/crates.io-index"
2887checksum = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6"
2888
2889[[package]]
2890name = "futures-timer"
2891version = "3.0.2"2936version = "3.0.2"
2892source = "registry+https://github.com/rust-lang/crates.io-index"2937source = "registry+https://github.com/rust-lang/crates.io-index"
2893checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"2938checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
28942939
2895[[package]]2940[[package]]
2896name = "futures-util"2941name = "futures-util"
2897version = "0.3.18"2942version = "0.3.21"
2898source = "registry+https://github.com/rust-lang/crates.io-index"2943source = "registry+https://github.com/rust-lang/crates.io-index"
2899checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e"2944checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
2900dependencies = [2945dependencies = [
2901 "futures 0.1.31",2946 "futures 0.1.31",
2902 "futures-channel",2947 "futures-channel",
2906 "futures-sink",2951 "futures-sink",
2907 "futures-task",2952 "futures-task",
2908 "memchr",2953 "memchr",
2909 "pin-project-lite 0.2.7",2954 "pin-project-lite 0.2.8",
2910 "pin-utils",2955 "pin-utils",
2911 "slab",2956 "slab",
2912]2957]
29222967
2923[[package]]2968[[package]]
2924name = "generic-array"2969name = "generic-array"
2925version = "0.14.4"2970version = "0.14.5"
2926source = "registry+https://github.com/rust-lang/crates.io-index"2971source = "registry+https://github.com/rust-lang/crates.io-index"
2927checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"2972checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
2928dependencies = [2973dependencies = [
2929 "typenum",2974 "typenum",
2930 "version_check",2975 "version_check",
29452990
2946[[package]]2991[[package]]
2947name = "getrandom"2992name = "getrandom"
2948version = "0.2.3"2993version = "0.2.4"
2949source = "registry+https://github.com/rust-lang/crates.io-index"2994source = "registry+https://github.com/rust-lang/crates.io-index"
2950checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"2995checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c"
2951dependencies = [2996dependencies = [
2952 "cfg-if 1.0.0",2997 "cfg-if 1.0.0",
2953 "libc",2998 "libc",
29663011
2967[[package]]3012[[package]]
2968name = "gimli"3013name = "gimli"
2969version = "0.25.0"3014version = "0.26.1"
2970source = "registry+https://github.com/rust-lang/crates.io-index"3015source = "registry+https://github.com/rust-lang/crates.io-index"
2971checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7"3016checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
2972dependencies = [3017dependencies = [
2973 "fallible-iterator",3018 "fallible-iterator",
2974 "indexmap",3019 "indexmap",
2975 "stable_deref_trait",3020 "stable_deref_trait",
2976]3021]
29773022
2978[[package]]3023[[package]]
2979name = "gimli"
2980version = "0.26.1"
2981source = "registry+https://github.com/rust-lang/crates.io-index"
2982checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
2983
2984[[package]]
2985name = "glob"3024name = "glob"
2986version = "0.3.0"3025version = "0.3.0"
2987source = "registry+https://github.com/rust-lang/crates.io-index"3026source = "registry+https://github.com/rust-lang/crates.io-index"
30023041
3003[[package]]3042[[package]]
3004name = "gloo-timers"3043name = "gloo-timers"
3005version = "0.2.2"3044version = "0.2.3"
3006source = "registry+https://github.com/rust-lang/crates.io-index"3045source = "registry+https://github.com/rust-lang/crates.io-index"
3007checksum = "6f16c88aa13d2656ef20d1c042086b8767bbe2bdb62526894275a1b062161b2e"3046checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e"
3008dependencies = [3047dependencies = [
3009 "futures-channel",3048 "futures-channel",
3010 "futures-core",3049 "futures-core",
3011 "js-sys",3050 "js-sys",
3012 "wasm-bindgen",3051 "wasm-bindgen",
3013 "web-sys",
3014]3052]
30153053
3016[[package]]3054[[package]]
3017name = "h2"3055name = "h2"
3018version = "0.3.9"3056version = "0.3.11"
3019source = "registry+https://github.com/rust-lang/crates.io-index"3057source = "registry+https://github.com/rust-lang/crates.io-index"
3020checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd"3058checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e"
3021dependencies = [3059dependencies = [
3022 "bytes 1.1.0",3060 "bytes 1.1.0",
3023 "fnv",3061 "fnv",
3027 "http",3065 "http",
3028 "indexmap",3066 "indexmap",
3029 "slab",3067 "slab",
3030 "tokio 1.14.0",3068 "tokio 1.16.1",
3031 "tokio-util",3069 "tokio-util",
3032 "tracing",3070 "tracing",
3033]3071]
30343072
3035[[package]]3073[[package]]
3036name = "handlebars"3074name = "handlebars"
3037version = "4.1.6"3075version = "4.2.1"
3038source = "registry+https://github.com/rust-lang/crates.io-index"3076source = "registry+https://github.com/rust-lang/crates.io-index"
3039checksum = "167fa173496c9eadd8749cca6f8339ac88e248f3ad2442791d0b743318a94fc0"3077checksum = "25546a65e5cf1f471f3438796fc634650b31d7fcde01d444c309aeb28b92e3a8"
3040dependencies = [3078dependencies = [
3041 "log",3079 "log",
3042 "pest",3080 "pest",
3071]3109]
30723110
3073[[package]]3111[[package]]
3112name = "hashbrown"
3113version = "0.12.0"
3114source = "registry+https://github.com/rust-lang/crates.io-index"
3115checksum = "8c21d40587b92fa6a6c6e3c1bdbf87d75511db5672f9c93175574b3a00df1758"
3116dependencies = [
3117 "ahash",
3118]
3119
3120[[package]]
3074name = "heck"3121name = "heck"
3075version = "0.3.3"3122version = "0.3.3"
3076source = "registry+https://github.com/rust-lang/crates.io-index"3123source = "registry+https://github.com/rust-lang/crates.io-index"
3154checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"3201checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1"
3155dependencies = [3202dependencies = [
3156 "digest 0.9.0",3203 "digest 0.9.0",
3157 "generic-array 0.14.4",3204 "generic-array 0.14.5",
3158 "hmac 0.8.1",3205 "hmac 0.8.1",
3159]3206]
31603207
31713218
3172[[package]]3219[[package]]
3173name = "http"3220name = "http"
3174version = "0.2.5"3221version = "0.2.6"
3175source = "registry+https://github.com/rust-lang/crates.io-index"3222source = "registry+https://github.com/rust-lang/crates.io-index"
3176checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b"3223checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03"
3177dependencies = [3224dependencies = [
3178 "bytes 1.1.0",3225 "bytes 1.1.0",
3179 "fnv",3226 "fnv",
3180 "itoa",3227 "itoa 1.0.1",
3181]3228]
31823229
3183[[package]]3230[[package]]
3188dependencies = [3235dependencies = [
3189 "bytes 1.1.0",3236 "bytes 1.1.0",
3190 "http",3237 "http",
3191 "pin-project-lite 0.2.7",3238 "pin-project-lite 0.2.8",
3192]3239]
31933240
3194[[package]]3241[[package]]
3195name = "httparse"3242name = "httparse"
3196version = "1.5.1"3243version = "1.6.0"
3197source = "registry+https://github.com/rust-lang/crates.io-index"3244source = "registry+https://github.com/rust-lang/crates.io-index"
3198checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"3245checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4"
31993246
3200[[package]]3247[[package]]
3201name = "httpdate"3248name = "httpdate"
32053252
3206[[package]]3253[[package]]
3207name = "humantime"3254name = "humantime"
3208version = "1.3.0"
3209source = "registry+https://github.com/rust-lang/crates.io-index"
3210checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
3211dependencies = [
3212 "quick-error 1.2.3",
3213]
3214
3215[[package]]
3216name = "humantime"
3217version = "2.1.0"3255version = "2.1.0"
3218source = "registry+https://github.com/rust-lang/crates.io-index"3256source = "registry+https://github.com/rust-lang/crates.io-index"
3219checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"3257checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
3233 "http-body",3271 "http-body",
3234 "httparse",3272 "httparse",
3235 "httpdate",3273 "httpdate",
3236 "itoa",3274 "itoa 0.4.8",
3237 "pin-project-lite 0.2.7",3275 "pin-project-lite 0.2.8",
3238 "socket2 0.4.2",3276 "socket2 0.4.4",
3239 "tokio 1.14.0",3277 "tokio 1.16.1",
3240 "tower-service",3278 "tower-service",
3241 "tracing",3279 "tracing",
3242 "want",3280 "want",
3254 "log",3292 "log",
3255 "rustls",3293 "rustls",
3256 "rustls-native-certs",3294 "rustls-native-certs",
3257 "tokio 1.14.0",3295 "tokio 1.16.1",
3258 "tokio-rustls",3296 "tokio-rustls",
3259 "webpki",3297 "webpki",
3260]3298]
3315checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179"3353checksum = "ae8ab7f67bad3240049cb24fb9cb0b4c2c6af4c245840917fbbdededeee91179"
3316dependencies = [3354dependencies = [
3317 "async-io",3355 "async-io",
3318 "futures 0.3.18",3356 "futures 0.3.21",
3319 "futures-lite",3357 "futures-lite",
3320 "if-addrs",3358 "if-addrs",
3321 "ipnet",3359 "ipnet",
33533391
3354[[package]]3392[[package]]
3355name = "impl-trait-for-tuples"3393name = "impl-trait-for-tuples"
3356version = "0.2.1"3394version = "0.2.2"
3357source = "registry+https://github.com/rust-lang/crates.io-index"3395source = "registry+https://github.com/rust-lang/crates.io-index"
3358checksum = "d5dacb10c5b3bb92d46ba347505a9041e676bb20ad220101326bffb0c93031ee"3396checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb"
3359dependencies = [3397dependencies = [
3360 "proc-macro2",3398 "proc-macro2",
3361 "quote",3399 "quote",
33643402
3365[[package]]3403[[package]]
3366name = "indexmap"3404name = "indexmap"
3367version = "1.7.0"3405version = "1.8.0"
3368source = "registry+https://github.com/rust-lang/crates.io-index"3406source = "registry+https://github.com/rust-lang/crates.io-index"
3369checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5"3407checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
3370dependencies = [3408dependencies = [
3371 "autocfg",3409 "autocfg",
3372 "hashbrown",3410 "hashbrown 0.11.2",
3373 "serde",3411 "serde",
3374]3412]
33753413
33843422
3385[[package]]3423[[package]]
3386name = "integer-encoding"3424name = "integer-encoding"
3387version = "1.1.7"3425version = "3.0.2"
3388source = "registry+https://github.com/rust-lang/crates.io-index"3426source = "registry+https://github.com/rust-lang/crates.io-index"
3389checksum = "48dc51180a9b377fd75814d0cc02199c20f8e99433d6762f650d39cdbbd3b56f"3427checksum = "90c11140ffea82edce8dcd74137ce9324ec24b3cf0175fc9d7e29164da9915b8"
33903428
3391[[package]]3429[[package]]
3392name = "integer-sqrt"3430name = "integer-sqrt"
3398]3436]
33993437
3400[[package]]3438[[package]]
3401name = "intervalier"
3402version = "0.4.0"
3403source = "registry+https://github.com/rust-lang/crates.io-index"
3404checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"
3405dependencies = [
3406 "futures 0.3.18",
3407 "futures-timer 2.0.2",
3408]
3409
3410[[package]]
3411name = "io-lifetimes"3439name = "io-lifetimes"
3412version = "0.3.3"3440version = "0.4.4"
3413source = "registry+https://github.com/rust-lang/crates.io-index"3441source = "registry+https://github.com/rust-lang/crates.io-index"
3414checksum = "278e90d6f8a6c76a8334b336e306efa3c5f2b604048cbfd486d6f49878e3af14"3442checksum = "f6ef6787e7f0faedc040f95716bdd0e62bcfcf4ba93da053b62dea2691c13864"
3415dependencies = [3443dependencies = [
3416 "rustc_version 0.4.0",
3417 "winapi 0.3.9",3444 "winapi 0.3.9",
3418]3445]
34193446
3466checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"3493checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
34673494
3468[[package]]3495[[package]]
3496name = "itoa"
3497version = "1.0.1"
3498source = "registry+https://github.com/rust-lang/crates.io-index"
3499checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
3500
3501[[package]]
3469name = "jobserver"3502name = "jobserver"
3470version = "0.1.24"3503version = "0.1.24"
3471source = "registry+https://github.com/rust-lang/crates.io-index"3504source = "registry+https://github.com/rust-lang/crates.io-index"
34763509
3477[[package]]3510[[package]]
3478name = "js-sys"3511name = "js-sys"
3479version = "0.3.55"3512version = "0.3.56"
3480source = "registry+https://github.com/rust-lang/crates.io-index"3513source = "registry+https://github.com/rust-lang/crates.io-index"
3481checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84"3514checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04"
3482dependencies = [3515dependencies = [
3483 "wasm-bindgen",3516 "wasm-bindgen",
3484]3517]
3490checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a"3523checksum = "d2b99d4207e2a04fb4581746903c2bb7eb376f88de9c699d0f3e10feeac0cd3a"
3491dependencies = [3524dependencies = [
3492 "derive_more",3525 "derive_more",
3493 "futures 0.3.18",3526 "futures 0.3.21",
3494 "jsonrpc-core",3527 "jsonrpc-core",
3495 "jsonrpc-pubsub",3528 "jsonrpc-pubsub",
3496 "log",3529 "log",
3505source = "registry+https://github.com/rust-lang/crates.io-index"3538source = "registry+https://github.com/rust-lang/crates.io-index"
3506checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb"3539checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb"
3507dependencies = [3540dependencies = [
3508 "futures 0.3.18",3541 "futures 0.3.21",
3509 "futures-executor",3542 "futures-executor",
3510 "futures-util",3543 "futures-util",
3511 "log",3544 "log",
3520source = "registry+https://github.com/rust-lang/crates.io-index"3553source = "registry+https://github.com/rust-lang/crates.io-index"
3521checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0"3554checksum = "b51da17abecbdab3e3d4f26b01c5ec075e88d3abe3ab3b05dc9aa69392764ec0"
3522dependencies = [3555dependencies = [
3523 "futures 0.3.18",3556 "futures 0.3.21",
3524 "jsonrpc-client-transports",3557 "jsonrpc-client-transports",
3525]3558]
35263559
3542source = "registry+https://github.com/rust-lang/crates.io-index"3575source = "registry+https://github.com/rust-lang/crates.io-index"
3543checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff"3576checksum = "e1dea6e07251d9ce6a552abfb5d7ad6bc290a4596c8dcc3d795fae2bbdc1f3ff"
3544dependencies = [3577dependencies = [
3545 "futures 0.3.18",3578 "futures 0.3.21",
3546 "hyper",3579 "hyper",
3547 "jsonrpc-core",3580 "jsonrpc-core",
3548 "jsonrpc-server-utils",3581 "jsonrpc-server-utils",
3558source = "registry+https://github.com/rust-lang/crates.io-index"3591source = "registry+https://github.com/rust-lang/crates.io-index"
3559checksum = "382bb0206323ca7cda3dcd7e245cea86d37d02457a02a975e3378fb149a48845"3592checksum = "382bb0206323ca7cda3dcd7e245cea86d37d02457a02a975e3378fb149a48845"
3560dependencies = [3593dependencies = [
3561 "futures 0.3.18",3594 "futures 0.3.21",
3562 "jsonrpc-core",3595 "jsonrpc-core",
3563 "jsonrpc-server-utils",3596 "jsonrpc-server-utils",
3564 "log",3597 "log",
3573source = "registry+https://github.com/rust-lang/crates.io-index"3606source = "registry+https://github.com/rust-lang/crates.io-index"
3574checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011"3607checksum = "240f87695e6c6f62fb37f05c02c04953cf68d6408b8c1c89de85c7a0125b1011"
3575dependencies = [3608dependencies = [
3576 "futures 0.3.18",3609 "futures 0.3.21",
3577 "jsonrpc-core",3610 "jsonrpc-core",
3578 "lazy_static",3611 "lazy_static",
3579 "log",3612 "log",
3589checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4"3622checksum = "fa4fdea130485b572c39a460d50888beb00afb3e35de23ccd7fad8ff19f0e0d4"
3590dependencies = [3623dependencies = [
3591 "bytes 1.1.0",3624 "bytes 1.1.0",
3592 "futures 0.3.18",3625 "futures 0.3.21",
3593 "globset",3626 "globset",
3594 "jsonrpc-core",3627 "jsonrpc-core",
3595 "lazy_static",3628 "lazy_static",
3596 "log",3629 "log",
3597 "tokio 1.14.0",3630 "tokio 1.16.1",
3598 "tokio-stream",3631 "tokio-stream",
3599 "tokio-util",3632 "tokio-util",
3600 "unicase",3633 "unicase",
3606source = "registry+https://github.com/rust-lang/crates.io-index"3639source = "registry+https://github.com/rust-lang/crates.io-index"
3607checksum = "f892c7d766369475ab7b0669f417906302d7c0fb521285c0a0c92e52e7c8e946"3640checksum = "f892c7d766369475ab7b0669f417906302d7c0fb521285c0a0c92e52e7c8e946"
3608dependencies = [3641dependencies = [
3609 "futures 0.3.18",3642 "futures 0.3.21",
3610 "jsonrpc-core",3643 "jsonrpc-core",
3611 "jsonrpc-server-utils",3644 "jsonrpc-server-utils",
3612 "log",3645 "log",
3679 "arrayvec 0.7.2",3712 "arrayvec 0.7.2",
3680 "async-trait",3713 "async-trait",
3681 "fnv",3714 "fnv",
3682 "futures 0.3.18",3715 "futures 0.3.21",
3683 "http",3716 "http",
3684 "jsonrpsee-types",3717 "jsonrpsee-types",
3685 "log",3718 "log",
3686 "pin-project 1.0.8",3719 "pin-project 1.0.10",
3687 "rustls-native-certs",3720 "rustls-native-certs",
3688 "serde",3721 "serde",
3689 "serde_json",3722 "serde_json",
3690 "soketto",3723 "soketto",
3691 "thiserror",3724 "thiserror",
3692 "tokio 1.14.0",3725 "tokio 1.16.1",
3693 "tokio-rustls",3726 "tokio-rustls",
3694 "tokio-util",3727 "tokio-util",
3695]3728]
37123745
3713[[package]]3746[[package]]
3714name = "kusama-runtime"3747name = "kusama-runtime"
3715version = "0.9.14"3748version = "0.9.16"
3716source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"3749source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
3717dependencies = [3750dependencies = [
3718 "beefy-primitives",3751 "beefy-primitives",
3719 "bitvec",3752 "bitvec",
3726 "frame-system-rpc-runtime-api",3759 "frame-system-rpc-runtime-api",
3727 "frame-try-runtime",3760 "frame-try-runtime",
3728 "hex-literal",3761 "hex-literal",
3762 "kusama-runtime-constants",
3729 "log",3763 "log",
3730 "pallet-authority-discovery",3764 "pallet-authority-discovery",
3731 "pallet-authorship",3765 "pallet-authorship",
3748 "pallet-nicks",3782 "pallet-nicks",
3749 "pallet-offences",3783 "pallet-offences",
3750 "pallet-offences-benchmarking",3784 "pallet-offences-benchmarking",
3785 "pallet-preimage",
3751 "pallet-proxy",3786 "pallet-proxy",
3752 "pallet-recovery",3787 "pallet-recovery",
3753 "pallet-scheduler",3788 "pallet-scheduler",
3797]3832]
37983833
3799[[package]]3834[[package]]
3835name = "kusama-runtime-constants"
3836version = "0.9.16"
3837source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
3838dependencies = [
3839 "frame-support",
3840 "polkadot-primitives",
3841 "polkadot-runtime-common",
3842 "smallvec",
3843 "sp-runtime",
3844]
3845
3846[[package]]
3800name = "kv-log-macro"3847name = "kv-log-macro"
3801version = "1.0.7"3848version = "1.0.7"
3802source = "registry+https://github.com/rust-lang/crates.io-index"3849source = "registry+https://github.com/rust-lang/crates.io-index"
38583905
3859[[package]]3906[[package]]
3860name = "libc"3907name = "libc"
3861version = "0.2.111"3908version = "0.2.117"
3862source = "registry+https://github.com/rust-lang/crates.io-index"3909source = "registry+https://github.com/rust-lang/crates.io-index"
3863checksum = "8e167738f1866a7ec625567bae89ca0d44477232a4f7c52b1c7f2adc2c98804f"3910checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c"
38643911
3865[[package]]3912[[package]]
3866name = "libloading"3913name = "libloading"
38743921
3875[[package]]3922[[package]]
3876name = "libloading"3923name = "libloading"
3877version = "0.7.2"3924version = "0.7.3"
3878source = "registry+https://github.com/rust-lang/crates.io-index"3925source = "registry+https://github.com/rust-lang/crates.io-index"
3879checksum = "afe203d669ec979b7128619bae5a63b7b42e9203c1b29146079ee05e2f604b52"3926checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
3880dependencies = [3927dependencies = [
3881 "cfg-if 1.0.0",3928 "cfg-if 1.0.0",
3882 "winapi 0.3.9",3929 "winapi 0.3.9",
3883]3930]
38843931
3885[[package]]3932[[package]]
3886name = "libm"3933name = "libm"
3887version = "0.2.1"3934version = "0.2.2"
3888source = "registry+https://github.com/rust-lang/crates.io-index"3935source = "registry+https://github.com/rust-lang/crates.io-index"
3889checksum = "c7d73b3f436185384286bd8098d17ec07c9a7d2388a6599f824d8502b529702a"3936checksum = "33a33a362ce288760ec6a508b94caaec573ae7d3bbbd91b87aa0bad4456839db"
38903937
3891[[package]]3938[[package]]
3892name = "libp2p"3939name = "libp2p"
3896dependencies = [3943dependencies = [
3897 "atomic",3944 "atomic",
3898 "bytes 1.1.0",3945 "bytes 1.1.0",
3899 "futures 0.3.18",3946 "futures 0.3.21",
3900 "lazy_static",3947 "lazy_static",
3901 "libp2p-core",3948 "libp2p-core",
3902 "libp2p-deflate",3949 "libp2p-deflate",
3924 "libp2p-yamux",3971 "libp2p-yamux",
3925 "multiaddr",3972 "multiaddr",
3926 "parking_lot 0.11.2",3973 "parking_lot 0.11.2",
3927 "pin-project 1.0.8",3974 "pin-project 1.0.10",
3928 "smallvec",3975 "smallvec",
3929 "wasm-timer",3976 "wasm-timer",
3930]3977]
39313978
3932[[package]]3979[[package]]
3933name = "libp2p-core"3980name = "libp2p-core"
3934version = "0.30.0"3981version = "0.30.2"
3935source = "registry+https://github.com/rust-lang/crates.io-index"3982source = "registry+https://github.com/rust-lang/crates.io-index"
3936checksum = "bef22d9bba1e8bcb7ec300073e6802943fe8abb8190431842262b5f1c30abba1"3983checksum = "86aad7d54df283db817becded03e611137698a6509d4237a96881976a162340c"
3937dependencies = [3984dependencies = [
3938 "asn1_der",3985 "asn1_der",
3939 "bs58",3986 "bs58",
3940 "ed25519-dalek",3987 "ed25519-dalek",
3941 "either",3988 "either",
3942 "fnv",3989 "fnv",
3943 "futures 0.3.18",3990 "futures 0.3.21",
3944 "futures-timer 3.0.2",3991 "futures-timer",
3992 "instant",
3945 "lazy_static",3993 "lazy_static",
3946 "libsecp256k1 0.7.0",3994 "libsecp256k1 0.7.0",
3947 "log",3995 "log",
3948 "multiaddr",3996 "multiaddr",
3949 "multihash 0.14.0",3997 "multihash 0.14.0",
3950 "multistream-select",3998 "multistream-select",
3951 "parking_lot 0.11.2",3999 "parking_lot 0.11.2",
3952 "pin-project 1.0.8",4000 "pin-project 1.0.10",
3953 "prost",4001 "prost",
3954 "prost-build",4002 "prost-build",
3955 "rand 0.8.4",4003 "rand 0.8.4",
3956 "ring",4004 "ring",
3957 "rw-stream-sink",4005 "rw-stream-sink",
3958 "sha2 0.9.8",4006 "sha2 0.9.9",
3959 "smallvec",4007 "smallvec",
3960 "thiserror",4008 "thiserror",
3961 "unsigned-varint 0.7.1",4009 "unsigned-varint 0.7.1",
3970checksum = "51a800adb195f33de63f4b17b63fe64cfc23bf2c6a0d3d0d5321328664e65197"4018checksum = "51a800adb195f33de63f4b17b63fe64cfc23bf2c6a0d3d0d5321328664e65197"
3971dependencies = [4019dependencies = [
3972 "flate2",4020 "flate2",
3973 "futures 0.3.18",4021 "futures 0.3.21",
3974 "libp2p-core",4022 "libp2p-core",
3975]4023]
39764024
3981checksum = "bb8f89d15cb6e3c5bc22afff7513b11bab7856f2872d3cfba86f7f63a06bc498"4029checksum = "bb8f89d15cb6e3c5bc22afff7513b11bab7856f2872d3cfba86f7f63a06bc498"
3982dependencies = [4030dependencies = [
3983 "async-std-resolver",4031 "async-std-resolver",
3984 "futures 0.3.18",4032 "futures 0.3.21",
3985 "libp2p-core",4033 "libp2p-core",
3986 "log",4034 "log",
3987 "smallvec",4035 "smallvec",
3996dependencies = [4044dependencies = [
3997 "cuckoofilter",4045 "cuckoofilter",
3998 "fnv",4046 "fnv",
3999 "futures 0.3.18",4047 "futures 0.3.21",
4000 "libp2p-core",4048 "libp2p-core",
4001 "libp2p-swarm",4049 "libp2p-swarm",
4002 "log",4050 "log",
4017 "byteorder",4065 "byteorder",
4018 "bytes 1.1.0",4066 "bytes 1.1.0",
4019 "fnv",4067 "fnv",
4020 "futures 0.3.18",4068 "futures 0.3.21",
4021 "hex_fmt",4069 "hex_fmt",
4022 "libp2p-core",4070 "libp2p-core",
4023 "libp2p-swarm",4071 "libp2p-swarm",
4026 "prost-build",4074 "prost-build",
4027 "rand 0.7.3",4075 "rand 0.7.3",
4028 "regex",4076 "regex",
4029 "sha2 0.9.8",4077 "sha2 0.9.9",
4030 "smallvec",4078 "smallvec",
4031 "unsigned-varint 0.7.1",4079 "unsigned-varint 0.7.1",
4032 "wasm-timer",4080 "wasm-timer",
4038source = "registry+https://github.com/rust-lang/crates.io-index"4086source = "registry+https://github.com/rust-lang/crates.io-index"
4039checksum = "cca1275574183f288ff8b72d535d5ffa5ea9292ef7829af8b47dcb197c7b0dcd"4087checksum = "cca1275574183f288ff8b72d535d5ffa5ea9292ef7829af8b47dcb197c7b0dcd"
4040dependencies = [4088dependencies = [
4041 "futures 0.3.18",4089 "futures 0.3.21",
4042 "libp2p-core",4090 "libp2p-core",
4043 "libp2p-swarm",4091 "libp2p-swarm",
4044 "log",4092 "log",
4060 "bytes 1.1.0",4108 "bytes 1.1.0",
4061 "either",4109 "either",
4062 "fnv",4110 "fnv",
4063 "futures 0.3.18",4111 "futures 0.3.21",
4064 "libp2p-core",4112 "libp2p-core",
4065 "libp2p-swarm",4113 "libp2p-swarm",
4066 "log",4114 "log",
4067 "prost",4115 "prost",
4068 "prost-build",4116 "prost-build",
4069 "rand 0.7.3",4117 "rand 0.7.3",
4070 "sha2 0.9.8",4118 "sha2 0.9.9",
4071 "smallvec",4119 "smallvec",
4072 "uint",4120 "uint",
4073 "unsigned-varint 0.7.1",4121 "unsigned-varint 0.7.1",
4084 "async-io",4132 "async-io",
4085 "data-encoding",4133 "data-encoding",
4086 "dns-parser",4134 "dns-parser",
4087 "futures 0.3.18",4135 "futures 0.3.21",
4088 "if-watch",4136 "if-watch",
4089 "lazy_static",4137 "lazy_static",
4090 "libp2p-core",4138 "libp2p-core",
4091 "libp2p-swarm",4139 "libp2p-swarm",
4092 "log",4140 "log",
4093 "rand 0.8.4",4141 "rand 0.8.4",
4094 "smallvec",4142 "smallvec",
4095 "socket2 0.4.2",4143 "socket2 0.4.4",
4096 "void",4144 "void",
4097]4145]
40984146
4118dependencies = [4166dependencies = [
4119 "asynchronous-codec 0.6.0",4167 "asynchronous-codec 0.6.0",
4120 "bytes 1.1.0",4168 "bytes 1.1.0",
4121 "futures 0.3.18",4169 "futures 0.3.21",
4122 "libp2p-core",4170 "libp2p-core",
4123 "log",4171 "log",
4124 "nohash-hasher",4172 "nohash-hasher",
4136dependencies = [4184dependencies = [
4137 "bytes 1.1.0",4185 "bytes 1.1.0",
4138 "curve25519-dalek 3.2.0",4186 "curve25519-dalek 3.2.0",
4139 "futures 0.3.18",4187 "futures 0.3.21",
4140 "lazy_static",4188 "lazy_static",
4141 "libp2p-core",4189 "libp2p-core",
4142 "log",4190 "log",
4143 "prost",4191 "prost",
4144 "prost-build",4192 "prost-build",
4145 "rand 0.8.4",4193 "rand 0.8.4",
4146 "sha2 0.9.8",4194 "sha2 0.9.9",
4147 "snow",4195 "snow",
4148 "static_assertions",4196 "static_assertions",
4149 "x25519-dalek",4197 "x25519-dalek",
4156source = "registry+https://github.com/rust-lang/crates.io-index"4204source = "registry+https://github.com/rust-lang/crates.io-index"
4157checksum = "80ef7b0ec5cf06530d9eb6cf59ae49d46a2c45663bde31c25a12f682664adbcf"4205checksum = "80ef7b0ec5cf06530d9eb6cf59ae49d46a2c45663bde31c25a12f682664adbcf"
4158dependencies = [4206dependencies = [
4159 "futures 0.3.18",4207 "futures 0.3.21",
4160 "libp2p-core",4208 "libp2p-core",
4161 "libp2p-swarm",4209 "libp2p-swarm",
4162 "log",4210 "log",
4173dependencies = [4221dependencies = [
4174 "asynchronous-codec 0.6.0",4222 "asynchronous-codec 0.6.0",
4175 "bytes 1.1.0",4223 "bytes 1.1.0",
4176 "futures 0.3.18",4224 "futures 0.3.21",
4177 "libp2p-core",4225 "libp2p-core",
4178 "log",4226 "log",
4179 "prost",4227 "prost",
4188source = "registry+https://github.com/rust-lang/crates.io-index"4236source = "registry+https://github.com/rust-lang/crates.io-index"
4189checksum = "0f1a458bbda880107b5b36fcb9b5a1ef0c329685da0e203ed692a8ebe64cc92c"4237checksum = "0f1a458bbda880107b5b36fcb9b5a1ef0c329685da0e203ed692a8ebe64cc92c"
4190dependencies = [4238dependencies = [
4191 "futures 0.3.18",4239 "futures 0.3.21",
4192 "log",4240 "log",
4193 "pin-project 1.0.8",4241 "pin-project 1.0.10",
4194 "rand 0.7.3",4242 "rand 0.7.3",
4195 "salsa20",4243 "salsa20",
4196 "sha3 0.9.1",4244 "sha3 0.9.1",
4204dependencies = [4252dependencies = [
4205 "asynchronous-codec 0.6.0",4253 "asynchronous-codec 0.6.0",
4206 "bytes 1.1.0",4254 "bytes 1.1.0",
4207 "futures 0.3.18",4255 "futures 0.3.21",
4208 "futures-timer 3.0.2",4256 "futures-timer",
4209 "libp2p-core",4257 "libp2p-core",
4210 "libp2p-swarm",4258 "libp2p-swarm",
4211 "log",4259 "log",
4212 "pin-project 1.0.8",4260 "pin-project 1.0.10",
4213 "prost",4261 "prost",
4214 "prost-build",4262 "prost-build",
4215 "rand 0.7.3",4263 "rand 0.7.3",
4227dependencies = [4275dependencies = [
4228 "asynchronous-codec 0.6.0",4276 "asynchronous-codec 0.6.0",
4229 "bimap",4277 "bimap",
4230 "futures 0.3.18",4278 "futures 0.3.21",
4231 "libp2p-core",4279 "libp2p-core",
4232 "libp2p-swarm",4280 "libp2p-swarm",
4233 "log",4281 "log",
4234 "prost",4282 "prost",
4235 "prost-build",4283 "prost-build",
4236 "rand 0.8.4",4284 "rand 0.8.4",
4237 "sha2 0.9.8",4285 "sha2 0.9.9",
4238 "thiserror",4286 "thiserror",
4239 "unsigned-varint 0.7.1",4287 "unsigned-varint 0.7.1",
4240 "void",4288 "void",
4249dependencies = [4297dependencies = [
4250 "async-trait",4298 "async-trait",
4251 "bytes 1.1.0",4299 "bytes 1.1.0",
4252 "futures 0.3.18",4300 "futures 0.3.21",
4253 "libp2p-core",4301 "libp2p-core",
4254 "libp2p-swarm",4302 "libp2p-swarm",
4255 "log",4303 "log",
4256 "lru 0.7.0",4304 "lru 0.7.2",
4257 "rand 0.7.3",4305 "rand 0.7.3",
4258 "smallvec",4306 "smallvec",
4259 "unsigned-varint 0.7.1",4307 "unsigned-varint 0.7.1",
4267checksum = "3f5184a508f223bc100a12665517773fb8730e9f36fc09eefb670bf01b107ae9"4315checksum = "3f5184a508f223bc100a12665517773fb8730e9f36fc09eefb670bf01b107ae9"
4268dependencies = [4316dependencies = [
4269 "either",4317 "either",
4270 "futures 0.3.18",4318 "futures 0.3.21",
4271 "libp2p-core",4319 "libp2p-core",
4272 "log",4320 "log",
4273 "rand 0.7.3",4321 "rand 0.7.3",
4293checksum = "7399c5b6361ef525d41c11fcf51635724f832baf5819b30d3d873eabb4fbae4b"4341checksum = "7399c5b6361ef525d41c11fcf51635724f832baf5819b30d3d873eabb4fbae4b"
4294dependencies = [4342dependencies = [
4295 "async-io",4343 "async-io",
4296 "futures 0.3.18",4344 "futures 0.3.21",
4297 "futures-timer 3.0.2",4345 "futures-timer",
4298 "if-watch",4346 "if-watch",
4299 "ipnet",4347 "ipnet",
4300 "libc",4348 "libc",
4301 "libp2p-core",4349 "libp2p-core",
4302 "log",4350 "log",
4303 "socket2 0.4.2",4351 "socket2 0.4.4",
4304]4352]
43054353
4306[[package]]4354[[package]]
4310checksum = "b8b7563e46218165dfd60f64b96f7ce84590d75f53ecbdc74a7dd01450dc5973"4358checksum = "b8b7563e46218165dfd60f64b96f7ce84590d75f53ecbdc74a7dd01450dc5973"
4311dependencies = [4359dependencies = [
4312 "async-std",4360 "async-std",
4313 "futures 0.3.18",4361 "futures 0.3.21",
4314 "libp2p-core",4362 "libp2p-core",
4315 "log",4363 "log",
4316]4364]
4321source = "registry+https://github.com/rust-lang/crates.io-index"4369source = "registry+https://github.com/rust-lang/crates.io-index"
4322checksum = "1008a302b73c5020251f9708c653f5ed08368e530e247cc9cd2f109ff30042cf"4370checksum = "1008a302b73c5020251f9708c653f5ed08368e530e247cc9cd2f109ff30042cf"
4323dependencies = [4371dependencies = [
4324 "futures 0.3.18",4372 "futures 0.3.21",
4325 "js-sys",4373 "js-sys",
4326 "libp2p-core",4374 "libp2p-core",
4327 "parity-send-wrapper",4375 "parity-send-wrapper",
4336checksum = "22e12df82d1ed64969371a9e65ea92b91064658604cc2576c2757f18ead9a1cf"4384checksum = "22e12df82d1ed64969371a9e65ea92b91064658604cc2576c2757f18ead9a1cf"
4337dependencies = [4385dependencies = [
4338 "either",4386 "either",
4339 "futures 0.3.18",4387 "futures 0.3.21",
4340 "futures-rustls",4388 "futures-rustls",
4341 "libp2p-core",4389 "libp2p-core",
4342 "log",4390 "log",
4353source = "registry+https://github.com/rust-lang/crates.io-index"4401source = "registry+https://github.com/rust-lang/crates.io-index"
4354checksum = "4e7362abb8867d7187e7e93df17f460d554c997fc5c8ac57dc1259057f6889af"4402checksum = "4e7362abb8867d7187e7e93df17f460d554c997fc5c8ac57dc1259057f6889af"
4355dependencies = [4403dependencies = [
4356 "futures 0.3.18",4404 "futures 0.3.21",
4357 "libp2p-core",4405 "libp2p-core",
4358 "parking_lot 0.11.2",4406 "parking_lot 0.11.2",
4359 "thiserror",4407 "thiserror",
4403 "libsecp256k1-gen-genmult",4451 "libsecp256k1-gen-genmult",
4404 "rand 0.8.4",4452 "rand 0.8.4",
4405 "serde",4453 "serde",
4406 "sha2 0.9.8",4454 "sha2 0.9.9",
4407 "typenum",4455 "typenum",
4408]4456]
44094457
44744522
4475[[package]]4523[[package]]
4476name = "linux-raw-sys"4524name = "linux-raw-sys"
4477version = "0.0.28"4525version = "0.0.36"
4478source = "registry+https://github.com/rust-lang/crates.io-index"4526source = "registry+https://github.com/rust-lang/crates.io-index"
4479checksum = "687387ff42ec7ea4f2149035a5675fedb675d26f98db90a1846ac63d3addb5f5"4527checksum = "a261afc61b7a5e323933b402ca6a1765183687c614789b1e4db7762ed4230bca"
44804528
4481[[package]]4529[[package]]
4482name = "lock_api"4530name = "lock_api"
44894537
4490[[package]]4538[[package]]
4491name = "lock_api"4539name = "lock_api"
4492version = "0.4.5"4540version = "0.4.6"
4493source = "registry+https://github.com/rust-lang/crates.io-index"4541source = "registry+https://github.com/rust-lang/crates.io-index"
4494checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109"4542checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b"
4495dependencies = [4543dependencies = [
4496 "scopeguard",4544 "scopeguard",
4497]4545]
4512source = "registry+https://github.com/rust-lang/crates.io-index"4560source = "registry+https://github.com/rust-lang/crates.io-index"
4513checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"4561checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"
4514dependencies = [4562dependencies = [
4515 "hashbrown",4563 "hashbrown 0.11.2",
4516]4564]
45174565
4518[[package]]4566[[package]]
4519name = "lru"4567name = "lru"
4520version = "0.7.0"4568version = "0.7.2"
4521source = "registry+https://github.com/rust-lang/crates.io-index"4569source = "registry+https://github.com/rust-lang/crates.io-index"
4522checksum = "6c748cfe47cb8da225c37595b3108bea1c198c84aaae8ea0ba76d01dda9fc803"4570checksum = "274353858935c992b13c0ca408752e2121da852d07dec7ce5f108c77dfa14d1f"
4523dependencies = [4571dependencies = [
4524 "hashbrown",4572 "hashbrown 0.11.2",
4525]4573]
45264574
4527[[package]]4575[[package]]
46154663
4616[[package]]4664[[package]]
4617name = "memmap2"4665name = "memmap2"
4618version = "0.5.0"4666version = "0.5.3"
4619source = "registry+https://github.com/rust-lang/crates.io-index"4667source = "registry+https://github.com/rust-lang/crates.io-index"
4620checksum = "4647a11b578fead29cdbb34d4adef8dd3dc35b876c9c6d5240d83f205abfe96e"4668checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f"
4621dependencies = [4669dependencies = [
4622 "libc",4670 "libc",
4623]4671]
46334681
4634[[package]]4682[[package]]
4635name = "memory-db"4683name = "memory-db"
4636version = "0.27.0"4684version = "0.28.0"
4637source = "registry+https://github.com/rust-lang/crates.io-index"4685source = "registry+https://github.com/rust-lang/crates.io-index"
4638checksum = "de006e09d04fc301a5f7e817b75aa49801c4479a8af753764416b085337ddcc5"4686checksum = "d505169b746dacf02f7d14d8c80b34edfd8212159c63d23c977739a0d960c626"
4639dependencies = [4687dependencies = [
4640 "hash-db",4688 "hash-db",
4641 "hashbrown",4689 "hashbrown 0.11.2",
4642 "parity-util-mem",4690 "parity-util-mem",
4643]4691]
46444692
46714719
4672[[package]]4720[[package]]
4673name = "metered-channel"4721name = "metered-channel"
4674version = "0.9.14"4722version = "0.9.16"
4675source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"4723source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
4676dependencies = [4724dependencies = [
4677 "derive_more",4725 "derive_more",
4678 "futures 0.3.18",4726 "futures 0.3.21",
4679 "futures-timer 3.0.2",4727 "futures-timer",
4680 "thiserror",4728 "thiserror",
4681 "tracing",4729 "tracing",
4682]4730]
46834731
4684[[package]]4732[[package]]
4685name = "mick-jaeger"4733name = "mick-jaeger"
4686version = "0.1.6"4734version = "0.1.7"
4687source = "registry+https://github.com/rust-lang/crates.io-index"4735source = "registry+https://github.com/rust-lang/crates.io-index"
4688checksum = "eaa77fad8461bb1e0d01be11299e24c6e544007715ed442bfec29f165dc487ae"4736checksum = "fd2c2cc134e57461f0898b0e921f0a7819b5e3f3a4335b9aa390ce81a5f36fb9"
4689dependencies = [4737dependencies = [
4690 "futures 0.3.18",4738 "futures 0.3.21",
4691 "rand 0.7.3",4739 "rand 0.8.4",
4692 "thrift",4740 "thrift",
4693]4741]
46944742
4818 "blake2s_simd",4866 "blake2s_simd",
4819 "blake3",4867 "blake3",
4820 "digest 0.9.0",4868 "digest 0.9.0",
4821 "generic-array 0.14.4",4869 "generic-array 0.14.5",
4822 "multihash-derive",4870 "multihash-derive",
4823 "sha2 0.9.8",4871 "sha2 0.9.9",
4824 "sha3 0.9.1",4872 "sha3 0.9.1",
4825 "unsigned-varint 0.5.1",4873 "unsigned-varint 0.5.1",
4826]4874]
4832checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8"4880checksum = "752a61cd890ff691b4411423d23816d5866dd5621e4d1c5687a53b94b5a979d8"
4833dependencies = [4881dependencies = [
4834 "digest 0.9.0",4882 "digest 0.9.0",
4835 "generic-array 0.14.4",4883 "generic-array 0.14.5",
4836 "multihash-derive",4884 "multihash-derive",
4837 "sha2 0.9.8",4885 "sha2 0.9.9",
4838 "unsigned-varint 0.7.1",4886 "unsigned-varint 0.7.1",
4839]4887]
48404888
4865checksum = "56a336acba8bc87c8876f6425407dbbe6c417bf478b22015f8fb0994ef3bc0ab"4913checksum = "56a336acba8bc87c8876f6425407dbbe6c417bf478b22015f8fb0994ef3bc0ab"
4866dependencies = [4914dependencies = [
4867 "bytes 1.1.0",4915 "bytes 1.1.0",
4868 "futures 0.3.18",4916 "futures 0.3.21",
4869 "log",4917 "log",
4870 "pin-project 1.0.8",4918 "pin-project 1.0.10",
4871 "smallvec",4919 "smallvec",
4872 "unsigned-varint 0.7.1",4920 "unsigned-varint 0.7.1",
4873]4921]
50185066
5019[[package]]5067[[package]]
5020name = "num_cpus"5068name = "num_cpus"
5021version = "1.13.0"5069version = "1.13.1"
5022source = "registry+https://github.com/rust-lang/crates.io-index"5070source = "registry+https://github.com/rust-lang/crates.io-index"
5023checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"5071checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
5024dependencies = [5072dependencies = [
5025 "hermit-abi",5073 "hermit-abi",
5026 "libc",5074 "libc",
50395087
5040[[package]]5088[[package]]
5041name = "once_cell"5089name = "once_cell"
5042version = "1.8.0"5090version = "1.9.0"
5043source = "registry+https://github.com/rust-lang/crates.io-index"5091source = "registry+https://github.com/rust-lang/crates.io-index"
5044checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"5092checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
50455093
5046[[package]]5094[[package]]
5047name = "opaque-debug"5095name = "opaque-debug"
5062checksum = "7337d80c23c2d8b1349563981bc4fb531220733743ba8115454a67b181173f0d"5110checksum = "7337d80c23c2d8b1349563981bc4fb531220733743ba8115454a67b181173f0d"
5063dependencies = [5111dependencies = [
5064 "dtoa",5112 "dtoa",
5065 "itoa",5113 "itoa 0.4.8",
5066 "open-metrics-client-derive-text-encode",5114 "open-metrics-client-derive-text-encode",
5067 "owning_ref",5115 "owning_ref",
5068]5116]
50805128
5081[[package]]5129[[package]]
5082name = "openssl-probe"5130name = "openssl-probe"
5083version = "0.1.4"5131version = "0.1.5"
5084source = "registry+https://github.com/rust-lang/crates.io-index"5132source = "registry+https://github.com/rust-lang/crates.io-index"
5085checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"5133checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
50865134
5087[[package]]5135[[package]]
5088name = "ordered-float"5136name = "ordered-float"
5096[[package]]5144[[package]]
5097name = "orml-vesting"5145name = "orml-vesting"
5098version = "0.4.1-dev"5146version = "0.4.1-dev"
5099source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.14#324372ec6e0d26df652eab3d4fb818646c630bf6"5147source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=unique-polkadot-v0.9.16#d9c538ae3b9dc0f7faacff2deed70becd10cd46e"
5100dependencies = [5148dependencies = [
5101 "frame-support",5149 "frame-support",
5102 "frame-system",5150 "frame-system",
5120[[package]]5168[[package]]
5121name = "pallet-aura"5169name = "pallet-aura"
5122version = "4.0.0-dev"5170version = "4.0.0-dev"
5123source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5171source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5124dependencies = [5172dependencies = [
5125 "frame-support",5173 "frame-support",
5126 "frame-system",5174 "frame-system",
5136[[package]]5184[[package]]
5137name = "pallet-authority-discovery"5185name = "pallet-authority-discovery"
5138version = "4.0.0-dev"5186version = "4.0.0-dev"
5139source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5187source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5140dependencies = [5188dependencies = [
5141 "frame-support",5189 "frame-support",
5142 "frame-system",5190 "frame-system",
5152[[package]]5200[[package]]
5153name = "pallet-authorship"5201name = "pallet-authorship"
5154version = "4.0.0-dev"5202version = "4.0.0-dev"
5155source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5203source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5156dependencies = [5204dependencies = [
5157 "frame-support",5205 "frame-support",
5158 "frame-system",5206 "frame-system",
5167[[package]]5215[[package]]
5168name = "pallet-babe"5216name = "pallet-babe"
5169version = "4.0.0-dev"5217version = "4.0.0-dev"
5170source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5218source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5171dependencies = [5219dependencies = [
5172 "frame-benchmarking",5220 "frame-benchmarking",
5173 "frame-support",5221 "frame-support",
5191[[package]]5239[[package]]
5192name = "pallet-bags-list"5240name = "pallet-bags-list"
5193version = "4.0.0-dev"5241version = "4.0.0-dev"
5194source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5242source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5195dependencies = [5243dependencies = [
5196 "frame-benchmarking",5244 "frame-benchmarking",
5197 "frame-election-provider-support",5245 "frame-election-provider-support",
5211[[package]]5259[[package]]
5212name = "pallet-balances"5260name = "pallet-balances"
5213version = "4.0.0-dev"5261version = "4.0.0-dev"
5214source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5262source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5215dependencies = [5263dependencies = [
5216 "frame-benchmarking",5264 "frame-benchmarking",
5217 "frame-support",5265 "frame-support",
5224]5272]
52255273
5226[[package]]5274[[package]]
5275name = "pallet-base-fee"
5276version = "1.0.0"
5277source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
5278dependencies = [
5279 "frame-support",
5280 "frame-system",
5281 "pallet-evm",
5282 "parity-scale-codec",
5283 "scale-info",
5284 "serde",
5285 "sp-core",
5286 "sp-runtime",
5287]
5288
5289[[package]]
5227name = "pallet-beefy"5290name = "pallet-beefy"
5228version = "4.0.0-dev"5291version = "4.0.0-dev"
5229source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5292source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5230dependencies = [5293dependencies = [
5231 "beefy-primitives",5294 "beefy-primitives",
5232 "frame-support",5295 "frame-support",
5242[[package]]5305[[package]]
5243name = "pallet-beefy-mmr"5306name = "pallet-beefy-mmr"
5244version = "4.0.0-dev"5307version = "4.0.0-dev"
5245source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5308source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5246dependencies = [5309dependencies = [
5247 "beefy-merkle-tree",5310 "beefy-merkle-tree",
5248 "beefy-primitives",5311 "beefy-primitives",
5267[[package]]5330[[package]]
5268name = "pallet-bounties"5331name = "pallet-bounties"
5269version = "4.0.0-dev"5332version = "4.0.0-dev"
5270source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5333source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5271dependencies = [5334dependencies = [
5272 "frame-benchmarking",5335 "frame-benchmarking",
5273 "frame-support",5336 "frame-support",
5285[[package]]5348[[package]]
5286name = "pallet-bridge-dispatch"5349name = "pallet-bridge-dispatch"
5287version = "0.1.0"5350version = "0.1.0"
5288source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"5351source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
5289dependencies = [5352dependencies = [
5290 "bp-message-dispatch",5353 "bp-message-dispatch",
5291 "bp-runtime",5354 "bp-runtime",
5302[[package]]5365[[package]]
5303name = "pallet-bridge-grandpa"5366name = "pallet-bridge-grandpa"
5304version = "0.1.0"5367version = "0.1.0"
5305source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"5368source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
5306dependencies = [5369dependencies = [
5307 "bp-header-chain",5370 "bp-header-chain",
5308 "bp-runtime",5371 "bp-runtime",
5324[[package]]5387[[package]]
5325name = "pallet-bridge-messages"5388name = "pallet-bridge-messages"
5326version = "0.1.0"5389version = "0.1.0"
5327source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"5390source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
5328dependencies = [5391dependencies = [
5329 "bitvec",5392 "bitvec",
5330 "bp-message-dispatch",5393 "bp-message-dispatch",
5331 "bp-messages",5394 "bp-messages",
5332 "bp-rialto",
5333 "bp-runtime",5395 "bp-runtime",
5334 "frame-support",5396 "frame-support",
5335 "frame-system",5397 "frame-system",
5346[[package]]5408[[package]]
5347name = "pallet-collective"5409name = "pallet-collective"
5348version = "4.0.0-dev"5410version = "4.0.0-dev"
5349source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5411source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5350dependencies = [5412dependencies = [
5351 "frame-benchmarking",5413 "frame-benchmarking",
5352 "frame-support",5414 "frame-support",
5380]5442]
53815443
5382[[package]]5444[[package]]
5383name = "pallet-contract-helpers"
5384version = "0.1.0"
5385dependencies = [
5386 "frame-support",
5387 "frame-system",
5388 "pallet-contracts",
5389 "parity-scale-codec",
5390 "scale-info",
5391 "sp-runtime",
5392 "sp-std",
5393 "up-sponsorship",
5394]
5395
5396[[package]]
5397name = "pallet-contracts"
5398version = "4.0.0-dev"
5399source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"
5400dependencies = [
5401 "bitflags",
5402 "frame-benchmarking",
5403 "frame-support",
5404 "frame-system",
5405 "libsecp256k1 0.7.0",
5406 "log",
5407 "pallet-contracts-primitives",
5408 "pallet-contracts-proc-macro",
5409 "parity-scale-codec",
5410 "pwasm-utils",
5411 "rand 0.8.4",
5412 "scale-info",
5413 "serde",
5414 "smallvec",
5415 "sp-core",
5416 "sp-io",
5417 "sp-runtime",
5418 "sp-sandbox",
5419 "sp-std",
5420 "wasmi-validation",
5421]
5422
5423[[package]]
5424name = "pallet-contracts-primitives"
5425version = "4.0.0-dev"
5426source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"
5427dependencies = [
5428 "bitflags",
5429 "parity-scale-codec",
5430 "scale-info",
5431 "serde",
5432 "sp-core",
5433 "sp-runtime",
5434 "sp-std",
5435]
5436
5437[[package]]
5438name = "pallet-contracts-proc-macro"
5439version = "4.0.0-dev"
5440source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"
5441dependencies = [
5442 "proc-macro2",
5443 "quote",
5444 "syn",
5445]
5446
5447[[package]]
5448name = "pallet-democracy"5445name = "pallet-democracy"
5449version = "4.0.0-dev"5446version = "4.0.0-dev"
5450source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5447source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5451dependencies = [5448dependencies = [
5452 "frame-benchmarking",5449 "frame-benchmarking",
5453 "frame-support",5450 "frame-support",
5463[[package]]5460[[package]]
5464name = "pallet-election-provider-multi-phase"5461name = "pallet-election-provider-multi-phase"
5465version = "4.0.0-dev"5462version = "4.0.0-dev"
5466source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5463source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5467dependencies = [5464dependencies = [
5468 "frame-benchmarking",5465 "frame-benchmarking",
5469 "frame-election-provider-support",5466 "frame-election-provider-support",
5480 "sp-runtime",5477 "sp-runtime",
5481 "sp-std",5478 "sp-std",
5482 "static_assertions",5479 "static_assertions",
5483 "strum",5480 "strum 0.22.0",
5484 "strum_macros",5481 "strum_macros 0.23.1",
5485]5482]
54865483
5487[[package]]5484[[package]]
5488name = "pallet-elections-phragmen"5485name = "pallet-elections-phragmen"
5489version = "5.0.0-dev"5486version = "5.0.0-dev"
5490source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5487source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5491dependencies = [5488dependencies = [
5492 "frame-benchmarking",5489 "frame-benchmarking",
5493 "frame-support",5490 "frame-support",
5505[[package]]5502[[package]]
5506name = "pallet-ethereum"5503name = "pallet-ethereum"
5507version = "4.0.0-dev"5504version = "4.0.0-dev"
5508source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"5505source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
5509dependencies = [5506dependencies = [
5510 "ethereum 0.10.0",5507 "ethereum",
5511 "ethereum-types",5508 "ethereum-types",
5512 "evm",5509 "evm",
5513 "fp-consensus",5510 "fp-consensus",
5517 "fp-storage",5514 "fp-storage",
5518 "frame-support",5515 "frame-support",
5519 "frame-system",5516 "frame-system",
5517 "log",
5520 "pallet-balances",5518 "pallet-balances",
5521 "pallet-evm",5519 "pallet-evm",
5522 "pallet-timestamp",5520 "pallet-timestamp",
5534[[package]]5532[[package]]
5535name = "pallet-evm"5533name = "pallet-evm"
5536version = "6.0.0-dev"5534version = "6.0.0-dev"
5537source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.14#324d0a8ae8d64783f86bf017085571a8960c59cb"5535source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.16#86ba914ab040c95c41db2e39a2edcb90cd51c971"
5538dependencies = [5536dependencies = [
5539 "evm",5537 "evm",
5540 "evm-gasometer",5538 "evm-gasometer",
5564name = "pallet-evm-coder-substrate"5562name = "pallet-evm-coder-substrate"
5565version = "0.1.0"5563version = "0.1.0"
5566dependencies = [5564dependencies = [
5567 "ethereum 0.10.0",5565 "ethereum",
5568 "evm-coder",5566 "evm-coder",
5569 "frame-benchmarking",5567 "frame-benchmarking",
5570 "frame-support",5568 "frame-support",
5635name = "pallet-fungible"5633name = "pallet-fungible"
5636version = "0.1.0"5634version = "0.1.0"
5637dependencies = [5635dependencies = [
5638 "ethereum 0.10.0",5636 "ethereum",
5639 "evm-coder",5637 "evm-coder",
5640 "frame-benchmarking",5638 "frame-benchmarking",
5641 "frame-support",5639 "frame-support",
5653[[package]]5651[[package]]
5654name = "pallet-gilt"5652name = "pallet-gilt"
5655version = "4.0.0-dev"5653version = "4.0.0-dev"
5656source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5654source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5657dependencies = [5655dependencies = [
5658 "frame-benchmarking",5656 "frame-benchmarking",
5659 "frame-support",5657 "frame-support",
5668[[package]]5666[[package]]
5669name = "pallet-grandpa"5667name = "pallet-grandpa"
5670version = "4.0.0-dev"5668version = "4.0.0-dev"
5671source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5669source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5672dependencies = [5670dependencies = [
5673 "frame-benchmarking",5671 "frame-benchmarking",
5674 "frame-support",5672 "frame-support",
5691[[package]]5689[[package]]
5692name = "pallet-identity"5690name = "pallet-identity"
5693version = "4.0.0-dev"5691version = "4.0.0-dev"
5694source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5692source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5695dependencies = [5693dependencies = [
5696 "enumflags2",5694 "enumflags2",
5697 "frame-benchmarking",5695 "frame-benchmarking",
5707[[package]]5705[[package]]
5708name = "pallet-im-online"5706name = "pallet-im-online"
5709version = "4.0.0-dev"5707version = "4.0.0-dev"
5710source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5708source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5711dependencies = [5709dependencies = [
5712 "frame-benchmarking",5710 "frame-benchmarking",
5713 "frame-support",5711 "frame-support",
5727[[package]]5725[[package]]
5728name = "pallet-indices"5726name = "pallet-indices"
5729version = "4.0.0-dev"5727version = "4.0.0-dev"
5730source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5728source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5731dependencies = [5729dependencies = [
5732 "frame-benchmarking",5730 "frame-benchmarking",
5733 "frame-support",5731 "frame-support",
5763[[package]]5761[[package]]
5764name = "pallet-membership"5762name = "pallet-membership"
5765version = "4.0.0-dev"5763version = "4.0.0-dev"
5766source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5764source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5767dependencies = [5765dependencies = [
5768 "frame-benchmarking",5766 "frame-benchmarking",
5769 "frame-support",5767 "frame-support",
5780[[package]]5778[[package]]
5781name = "pallet-mmr"5779name = "pallet-mmr"
5782version = "4.0.0-dev"5780version = "4.0.0-dev"
5783source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5781source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5784dependencies = [5782dependencies = [
5785 "ckb-merkle-mountain-range",5783 "ckb-merkle-mountain-range",
5786 "frame-benchmarking",5784 "frame-benchmarking",
5798[[package]]5796[[package]]
5799name = "pallet-mmr-primitives"5797name = "pallet-mmr-primitives"
5800version = "4.0.0-dev"5798version = "4.0.0-dev"
5801source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5799source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5802dependencies = [5800dependencies = [
5803 "frame-support",5801 "frame-support",
5804 "frame-system",5802 "frame-system",
5814[[package]]5812[[package]]
5815name = "pallet-mmr-rpc"5813name = "pallet-mmr-rpc"
5816version = "3.0.0"5814version = "3.0.0"
5817source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5815source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5818dependencies = [5816dependencies = [
5819 "jsonrpc-core",5817 "jsonrpc-core",
5820 "jsonrpc-core-client",5818 "jsonrpc-core-client",
5831[[package]]5829[[package]]
5832name = "pallet-multisig"5830name = "pallet-multisig"
5833version = "4.0.0-dev"5831version = "4.0.0-dev"
5834source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5832source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5835dependencies = [5833dependencies = [
5836 "frame-benchmarking",5834 "frame-benchmarking",
5837 "frame-support",5835 "frame-support",
5846[[package]]5844[[package]]
5847name = "pallet-nicks"5845name = "pallet-nicks"
5848version = "4.0.0-dev"5846version = "4.0.0-dev"
5849source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5847source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5850dependencies = [5848dependencies = [
5851 "frame-support",5849 "frame-support",
5852 "frame-system",5850 "frame-system",
5861name = "pallet-nonfungible"5859name = "pallet-nonfungible"
5862version = "0.1.0"5860version = "0.1.0"
5863dependencies = [5861dependencies = [
5864 "ethereum 0.10.0",5862 "ethereum",
5865 "evm-coder",5863 "evm-coder",
5866 "frame-benchmarking",5864 "frame-benchmarking",
5867 "frame-support",5865 "frame-support",
5879[[package]]5877[[package]]
5880name = "pallet-offences"5878name = "pallet-offences"
5881version = "4.0.0-dev"5879version = "4.0.0-dev"
5882source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5880source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5883dependencies = [5881dependencies = [
5884 "frame-support",5882 "frame-support",
5885 "frame-system",5883 "frame-system",
5896[[package]]5894[[package]]
5897name = "pallet-offences-benchmarking"5895name = "pallet-offences-benchmarking"
5898version = "4.0.0-dev"5896version = "4.0.0-dev"
5899source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5897source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5900dependencies = [5898dependencies = [
5901 "frame-benchmarking",5899 "frame-benchmarking",
5902 "frame-election-provider-support",5900 "frame-election-provider-support",
5917]5915]
59185916
5919[[package]]5917[[package]]
5918name = "pallet-preimage"
5919version = "4.0.0-dev"
5920source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5921dependencies = [
5922 "frame-benchmarking",
5923 "frame-support",
5924 "frame-system",
5925 "parity-scale-codec",
5926 "scale-info",
5927 "sp-core",
5928 "sp-io",
5929 "sp-runtime",
5930 "sp-std",
5931]
5932
5933[[package]]
5920name = "pallet-proxy"5934name = "pallet-proxy"
5921version = "4.0.0-dev"5935version = "4.0.0-dev"
5922source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5936source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5923dependencies = [5937dependencies = [
5924 "frame-benchmarking",5938 "frame-benchmarking",
5925 "frame-support",5939 "frame-support",
5934[[package]]5948[[package]]
5935name = "pallet-randomness-collective-flip"5949name = "pallet-randomness-collective-flip"
5936version = "4.0.0-dev"5950version = "4.0.0-dev"
5937source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5951source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5938dependencies = [5952dependencies = [
5939 "frame-support",5953 "frame-support",
5940 "frame-system",5954 "frame-system",
5948[[package]]5962[[package]]
5949name = "pallet-recovery"5963name = "pallet-recovery"
5950version = "4.0.0-dev"5964version = "4.0.0-dev"
5951source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5965source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5952dependencies = [5966dependencies = [
5953 "frame-support",5967 "frame-support",
5954 "frame-system",5968 "frame-system",
5978[[package]]5992[[package]]
5979name = "pallet-scheduler"5993name = "pallet-scheduler"
5980version = "4.0.0-dev"5994version = "4.0.0-dev"
5981source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"5995source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5982dependencies = [5996dependencies = [
5983 "frame-benchmarking",5997 "frame-benchmarking",
5984 "frame-support",5998 "frame-support",
5994[[package]]6008[[package]]
5995name = "pallet-session"6009name = "pallet-session"
5996version = "4.0.0-dev"6010version = "4.0.0-dev"
5997source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6011source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
5998dependencies = [6012dependencies = [
5999 "frame-support",6013 "frame-support",
6000 "frame-system",6014 "frame-system",
6015[[package]]6029[[package]]
6016name = "pallet-session-benchmarking"6030name = "pallet-session-benchmarking"
6017version = "4.0.0-dev"6031version = "4.0.0-dev"
6018source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6032source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6019dependencies = [6033dependencies = [
6020 "frame-benchmarking",6034 "frame-benchmarking",
6021 "frame-support",6035 "frame-support",
6031[[package]]6045[[package]]
6032name = "pallet-society"6046name = "pallet-society"
6033version = "4.0.0-dev"6047version = "4.0.0-dev"
6034source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6048source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6035dependencies = [6049dependencies = [
6036 "frame-support",6050 "frame-support",
6037 "frame-system",6051 "frame-system",
6045[[package]]6059[[package]]
6046name = "pallet-staking"6060name = "pallet-staking"
6047version = "4.0.0-dev"6061version = "4.0.0-dev"
6048source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6062source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6049dependencies = [6063dependencies = [
6050 "frame-benchmarking",6064 "frame-benchmarking",
6051 "frame-election-provider-support",6065 "frame-election-provider-support",
6068[[package]]6082[[package]]
6069name = "pallet-staking-reward-curve"6083name = "pallet-staking-reward-curve"
6070version = "4.0.0-dev"6084version = "4.0.0-dev"
6071source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6085source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6072dependencies = [6086dependencies = [
6073 "proc-macro-crate 1.1.0",6087 "proc-macro-crate 1.1.0",
6074 "proc-macro2",6088 "proc-macro2",
6079[[package]]6093[[package]]
6080name = "pallet-staking-reward-fn"6094name = "pallet-staking-reward-fn"
6081version = "4.0.0-dev"6095version = "4.0.0-dev"
6082source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6096source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6083dependencies = [6097dependencies = [
6084 "log",6098 "log",
6085 "sp-arithmetic",6099 "sp-arithmetic",
6088[[package]]6102[[package]]
6089name = "pallet-sudo"6103name = "pallet-sudo"
6090version = "4.0.0-dev"6104version = "4.0.0-dev"
6091source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6105source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6092dependencies = [6106dependencies = [
6093 "frame-support",6107 "frame-support",
6094 "frame-system",6108 "frame-system",
6102[[package]]6116[[package]]
6103name = "pallet-template-transaction-payment"6117name = "pallet-template-transaction-payment"
6104version = "3.0.0"6118version = "3.0.0"
6105source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.14#858001a6fd841614eb3bc47562e1a08685e6c8df"6119source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.16#a08e9828d44c54ec9905e9c7f642f0e734f92780"
6106dependencies = [6120dependencies = [
6107 "frame-benchmarking",6121 "frame-benchmarking",
6108 "frame-support",6122 "frame-support",
6122[[package]]6136[[package]]
6123name = "pallet-timestamp"6137name = "pallet-timestamp"
6124version = "4.0.0-dev"6138version = "4.0.0-dev"
6125source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6139source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6126dependencies = [6140dependencies = [
6127 "frame-benchmarking",6141 "frame-benchmarking",
6128 "frame-support",6142 "frame-support",
6140[[package]]6154[[package]]
6141name = "pallet-tips"6155name = "pallet-tips"
6142version = "4.0.0-dev"6156version = "4.0.0-dev"
6143source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6157source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6144dependencies = [6158dependencies = [
6145 "frame-benchmarking",6159 "frame-benchmarking",
6146 "frame-support",6160 "frame-support",
6159[[package]]6173[[package]]
6160name = "pallet-transaction-payment"6174name = "pallet-transaction-payment"
6161version = "4.0.0-dev"6175version = "4.0.0-dev"
6162source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6176source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6163dependencies = [6177dependencies = [
6164 "frame-support",6178 "frame-support",
6165 "frame-system",6179 "frame-system",
6176[[package]]6190[[package]]
6177name = "pallet-transaction-payment-rpc"6191name = "pallet-transaction-payment-rpc"
6178version = "4.0.0-dev"6192version = "4.0.0-dev"
6179source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6193source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6180dependencies = [6194dependencies = [
6181 "jsonrpc-core",6195 "jsonrpc-core",
6182 "jsonrpc-core-client",6196 "jsonrpc-core-client",
6193[[package]]6207[[package]]
6194name = "pallet-transaction-payment-rpc-runtime-api"6208name = "pallet-transaction-payment-rpc-runtime-api"
6195version = "4.0.0-dev"6209version = "4.0.0-dev"
6196source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6210source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6197dependencies = [6211dependencies = [
6198 "pallet-transaction-payment",6212 "pallet-transaction-payment",
6199 "parity-scale-codec",6213 "parity-scale-codec",
6204[[package]]6218[[package]]
6205name = "pallet-treasury"6219name = "pallet-treasury"
6206version = "4.0.0-dev"6220version = "4.0.0-dev"
6207source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6221source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6208dependencies = [6222dependencies = [
6209 "frame-benchmarking",6223 "frame-benchmarking",
6210 "frame-support",6224 "frame-support",
6222name = "pallet-unique"6236name = "pallet-unique"
6223version = "0.1.0"6237version = "0.1.0"
6224dependencies = [6238dependencies = [
6225 "ethereum 0.10.0",6239 "ethereum",
6226 "evm-coder",6240 "evm-coder",
6227 "fp-evm",6241 "fp-evm",
6228 "frame-benchmarking",6242 "frame-benchmarking",
6277[[package]]6291[[package]]
6278name = "pallet-utility"6292name = "pallet-utility"
6279version = "4.0.0-dev"6293version = "4.0.0-dev"
6280source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6294source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6281dependencies = [6295dependencies = [
6282 "frame-benchmarking",6296 "frame-benchmarking",
6283 "frame-support",6297 "frame-support",
6293[[package]]6307[[package]]
6294name = "pallet-vesting"6308name = "pallet-vesting"
6295version = "4.0.0-dev"6309version = "4.0.0-dev"
6296source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"6310source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
6297dependencies = [6311dependencies = [
6298 "frame-benchmarking",6312 "frame-benchmarking",
6299 "frame-support",6313 "frame-support",
63076321
6308[[package]]6322[[package]]
6309name = "pallet-xcm"6323name = "pallet-xcm"
6310version = "0.9.14"6324version = "0.9.16"
6311source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6325source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6312dependencies = [6326dependencies = [
6313 "frame-support",6327 "frame-support",
6314 "frame-system",6328 "frame-system",
63256339
6326[[package]]6340[[package]]
6327name = "pallet-xcm-benchmarks"6341name = "pallet-xcm-benchmarks"
6328version = "0.9.8"6342version = "0.9.16"
6329source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6343source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6330dependencies = [6344dependencies = [
6331 "frame-benchmarking",6345 "frame-benchmarking",
6332 "frame-support",6346 "frame-support",
6343[[package]]6357[[package]]
6344name = "parachain-info"6358name = "parachain-info"
6345version = "0.1.0"6359version = "0.1.0"
6346source = "git+https://github.com/UniqueNetwork/cumulus.git?branch=polkadot-v0.9.14#d361390046a6ea3c6510deb75e9dbaf7f9ddccb8"6360source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.16#86f76c5619c64d1300315612695ad4b4fcd0f562"
6347dependencies = [6361dependencies = [
6348 "cumulus-primitives-core",6362 "cumulus-primitives-core",
6349 "frame-support",6363 "frame-support",
63556369
6356[[package]]6370[[package]]
6357name = "parity-db"6371name = "parity-db"
6358version = "0.3.5"6372version = "0.3.6"
6359source = "registry+https://github.com/rust-lang/crates.io-index"6373source = "registry+https://github.com/rust-lang/crates.io-index"
6360checksum = "78a95abf24f1097c6e3181abbbbfc3630b3b5e681470940f719b69acb4911c7f"6374checksum = "68de01cff53da5574397233383dd7f5c15ee958c348245765ea8cb09f2571e6b"
6361dependencies = [6375dependencies = [
6362 "blake2-rfc",6376 "blake2-rfc",
6363 "crc32fast",6377 "crc32fast",
6410source = "registry+https://github.com/rust-lang/crates.io-index"6424source = "registry+https://github.com/rust-lang/crates.io-index"
6411checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6"6425checksum = "9981e32fb75e004cc148f5fb70342f393830e0a4aa62e3cc93b50976218d42b6"
6412dependencies = [6426dependencies = [
6413 "futures 0.3.18",6427 "futures 0.3.21",
6414 "libc",6428 "libc",
6415 "log",6429 "log",
6416 "rand 0.7.3",6430 "rand 0.7.3",
6417 "tokio 1.14.0",6431 "tokio 1.16.1",
6418 "winapi 0.3.9",6432 "winapi 0.3.9",
6419]6433]
64206434
6426dependencies = [6440dependencies = [
6427 "cfg-if 1.0.0",6441 "cfg-if 1.0.0",
6428 "ethereum-types",6442 "ethereum-types",
6429 "hashbrown",6443 "hashbrown 0.11.2",
6430 "impl-trait-for-tuples",6444 "impl-trait-for-tuples",
6431 "lru 0.6.6",6445 "lru 0.6.6",
6432 "parity-util-mem-derive",6446 "parity-util-mem-derive",
6503checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"6517checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
6504dependencies = [6518dependencies = [
6505 "instant",6519 "instant",
6506 "lock_api 0.4.5",6520 "lock_api 0.4.6",
6507 "parking_lot_core 0.8.5",6521 "parking_lot_core 0.8.5",
6508]6522]
65096523
66326646
6633[[package]]6647[[package]]
6634name = "pin-project"6648name = "pin-project"
6635version = "0.4.28"6649version = "0.4.29"
6636source = "registry+https://github.com/rust-lang/crates.io-index"6650source = "registry+https://github.com/rust-lang/crates.io-index"
6637checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f"6651checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909"
6638dependencies = [6652dependencies = [
6639 "pin-project-internal 0.4.28",6653 "pin-project-internal 0.4.29",
6640]6654]
66416655
6642[[package]]6656[[package]]
6643name = "pin-project"6657name = "pin-project"
6644version = "1.0.8"6658version = "1.0.10"
6645source = "registry+https://github.com/rust-lang/crates.io-index"6659source = "registry+https://github.com/rust-lang/crates.io-index"
6646checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08"6660checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
6647dependencies = [6661dependencies = [
6648 "pin-project-internal 1.0.8",6662 "pin-project-internal 1.0.10",
6649]6663]
66506664
6651[[package]]6665[[package]]
6652name = "pin-project-internal"6666name = "pin-project-internal"
6653version = "0.4.28"6667version = "0.4.29"
6654source = "registry+https://github.com/rust-lang/crates.io-index"6668source = "registry+https://github.com/rust-lang/crates.io-index"
6655checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e"6669checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a"
6656dependencies = [6670dependencies = [
6657 "proc-macro2",6671 "proc-macro2",
6658 "quote",6672 "quote",
66616675
6662[[package]]6676[[package]]
6663name = "pin-project-internal"6677name = "pin-project-internal"
6664version = "1.0.8"6678version = "1.0.10"
6665source = "registry+https://github.com/rust-lang/crates.io-index"6679source = "registry+https://github.com/rust-lang/crates.io-index"
6666checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389"6680checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
6667dependencies = [6681dependencies = [
6668 "proc-macro2",6682 "proc-macro2",
6669 "quote",6683 "quote",
66786692
6679[[package]]6693[[package]]
6680name = "pin-project-lite"6694name = "pin-project-lite"
6681version = "0.2.7"6695version = "0.2.8"
6682source = "registry+https://github.com/rust-lang/crates.io-index"6696source = "registry+https://github.com/rust-lang/crates.io-index"
6683checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"6697checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
66846698
6685[[package]]6699[[package]]
6686name = "pin-utils"6700name = "pin-utils"
67026716
6703[[package]]6717[[package]]
6704name = "polkadot-approval-distribution"6718name = "polkadot-approval-distribution"
6705version = "0.9.14"6719version = "0.9.16"
6706source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6720source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6707dependencies = [6721dependencies = [
6708 "futures 0.3.18",6722 "futures 0.3.21",
6709 "polkadot-node-network-protocol",6723 "polkadot-node-network-protocol",
6710 "polkadot-node-primitives",6724 "polkadot-node-primitives",
6711 "polkadot-node-subsystem",6725 "polkadot-node-subsystem",
67166730
6717[[package]]6731[[package]]
6718name = "polkadot-availability-bitfield-distribution"6732name = "polkadot-availability-bitfield-distribution"
6719version = "0.9.14"6733version = "0.9.16"
6720source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6734source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6721dependencies = [6735dependencies = [
6722 "futures 0.3.18",6736 "futures 0.3.21",
6723 "polkadot-node-network-protocol",6737 "polkadot-node-network-protocol",
6724 "polkadot-node-subsystem",6738 "polkadot-node-subsystem",
6725 "polkadot-node-subsystem-util",6739 "polkadot-node-subsystem-util",
67296743
6730[[package]]6744[[package]]
6731name = "polkadot-availability-distribution"6745name = "polkadot-availability-distribution"
6732version = "0.9.14"6746version = "0.9.16"
6733source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6747source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6734dependencies = [6748dependencies = [
6735 "derive_more",6749 "derive_more",
6736 "futures 0.3.18",6750 "futures 0.3.21",
6737 "lru 0.7.0",6751 "lru 0.7.2",
6738 "parity-scale-codec",6752 "parity-scale-codec",
6739 "polkadot-erasure-coding",6753 "polkadot-erasure-coding",
6740 "polkadot-node-network-protocol",6754 "polkadot-node-network-protocol",
67516765
6752[[package]]6766[[package]]
6753name = "polkadot-availability-recovery"6767name = "polkadot-availability-recovery"
6754version = "0.9.14"6768version = "0.9.16"
6755source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6769source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6756dependencies = [6770dependencies = [
6757 "futures 0.3.18",6771 "futures 0.3.21",
6758 "lru 0.7.0",6772 "lru 0.7.2",
6759 "parity-scale-codec",6773 "parity-scale-codec",
6760 "polkadot-erasure-coding",6774 "polkadot-erasure-coding",
6761 "polkadot-node-network-protocol",6775 "polkadot-node-network-protocol",
67716785
6772[[package]]6786[[package]]
6773name = "polkadot-cli"6787name = "polkadot-cli"
6774version = "0.9.14"6788version = "0.9.16"
6775source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6789source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6776dependencies = [6790dependencies = [
6777 "frame-benchmarking-cli",6791 "frame-benchmarking-cli",
6778 "futures 0.3.18",6792 "futures 0.3.21",
6779 "log",6793 "log",
6780 "polkadot-node-core-pvf",6794 "polkadot-node-core-pvf",
6795 "polkadot-node-metrics",
6796 "polkadot-performance-test",
6781 "polkadot-service",6797 "polkadot-service",
6782 "sc-cli",6798 "sc-cli",
6783 "sc-service",6799 "sc-service",
6800 "sc-tracing",
6784 "sp-core",6801 "sp-core",
6785 "sp-trie",6802 "sp-trie",
6786 "structopt",6803 "structopt",
67916808
6792[[package]]6809[[package]]
6793name = "polkadot-client"6810name = "polkadot-client"
6794version = "0.9.14"6811version = "0.9.16"
6795source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6812source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6796dependencies = [6813dependencies = [
6797 "beefy-primitives",6814 "beefy-primitives",
6798 "frame-benchmarking",6815 "frame-benchmarking",
68216838
6822[[package]]6839[[package]]
6823name = "polkadot-collator-protocol"6840name = "polkadot-collator-protocol"
6824version = "0.9.14"6841version = "0.9.16"
6825source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6842source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6826dependencies = [6843dependencies = [
6827 "always-assert",6844 "always-assert",
6828 "derive_more",6845 "derive_more",
6829 "futures 0.3.18",6846 "futures 0.3.21",
6830 "futures-timer 3.0.2",6847 "futures-timer",
6831 "polkadot-node-network-protocol",6848 "polkadot-node-network-protocol",
6832 "polkadot-node-primitives",6849 "polkadot-node-primitives",
6833 "polkadot-node-subsystem",6850 "polkadot-node-subsystem",
68426859
6843[[package]]6860[[package]]
6844name = "polkadot-core-primitives"6861name = "polkadot-core-primitives"
6845version = "0.9.14"6862version = "0.9.16"
6846source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6863source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6847dependencies = [6864dependencies = [
6848 "parity-scale-codec",6865 "parity-scale-codec",
6849 "parity-util-mem",6866 "parity-util-mem",
68556872
6856[[package]]6873[[package]]
6857name = "polkadot-dispute-distribution"6874name = "polkadot-dispute-distribution"
6858version = "0.9.14"6875version = "0.9.16"
6859source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6876source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6860dependencies = [6877dependencies = [
6861 "derive_more",6878 "derive_more",
6862 "futures 0.3.18",6879 "futures 0.3.21",
6863 "lru 0.7.0",6880 "lru 0.7.2",
6864 "parity-scale-codec",6881 "parity-scale-codec",
6865 "polkadot-erasure-coding",6882 "polkadot-erasure-coding",
6866 "polkadot-node-network-protocol",6883 "polkadot-node-network-protocol",
68776894
6878[[package]]6895[[package]]
6879name = "polkadot-erasure-coding"6896name = "polkadot-erasure-coding"
6880version = "0.9.14"6897version = "0.9.16"
6881source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6898source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6882dependencies = [6899dependencies = [
6883 "parity-scale-codec",6900 "parity-scale-codec",
6884 "polkadot-node-primitives",6901 "polkadot-node-primitives",
68916908
6892[[package]]6909[[package]]
6893name = "polkadot-gossip-support"6910name = "polkadot-gossip-support"
6894version = "0.9.14"6911version = "0.9.16"
6895source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6912source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6896dependencies = [6913dependencies = [
6897 "futures 0.3.18",6914 "futures 0.3.21",
6898 "futures-timer 3.0.2",6915 "futures-timer",
6899 "polkadot-node-network-protocol",6916 "polkadot-node-network-protocol",
6900 "polkadot-node-subsystem",6917 "polkadot-node-subsystem",
6901 "polkadot-node-subsystem-util",6918 "polkadot-node-subsystem-util",
69116928
6912[[package]]6929[[package]]
6913name = "polkadot-network-bridge"6930name = "polkadot-network-bridge"
6914version = "0.9.14"6931version = "0.9.16"
6915source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6932source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6916dependencies = [6933dependencies = [
6917 "async-trait",6934 "async-trait",
6918 "futures 0.3.18",6935 "futures 0.3.21",
6919 "parity-scale-codec",6936 "parity-scale-codec",
6920 "parking_lot 0.11.2",6937 "parking_lot 0.11.2",
6921 "polkadot-node-network-protocol",6938 "polkadot-node-network-protocol",
69306947
6931[[package]]6948[[package]]
6932name = "polkadot-node-collation-generation"6949name = "polkadot-node-collation-generation"
6933version = "0.9.14"6950version = "0.9.16"
6934source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6951source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6935dependencies = [6952dependencies = [
6936 "futures 0.3.18",6953 "futures 0.3.21",
6937 "parity-scale-codec",6954 "parity-scale-codec",
6938 "polkadot-erasure-coding",6955 "polkadot-erasure-coding",
6939 "polkadot-node-primitives",6956 "polkadot-node-primitives",
69486965
6949[[package]]6966[[package]]
6950name = "polkadot-node-core-approval-voting"6967name = "polkadot-node-core-approval-voting"
6951version = "0.9.14"6968version = "0.9.16"
6952source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6969source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6953dependencies = [6970dependencies = [
6954 "bitvec",6971 "bitvec",
6955 "derive_more",6972 "derive_more",
6956 "futures 0.3.18",6973 "futures 0.3.21",
6957 "futures-timer 3.0.2",6974 "futures-timer",
6958 "kvdb",6975 "kvdb",
6959 "lru 0.7.0",6976 "lru 0.7.2",
6960 "merlin",6977 "merlin",
6961 "parity-scale-codec",6978 "parity-scale-codec",
6962 "polkadot-node-jaeger",6979 "polkadot-node-jaeger",
69766993
6977[[package]]6994[[package]]
6978name = "polkadot-node-core-av-store"6995name = "polkadot-node-core-av-store"
6979version = "0.9.14"6996version = "0.9.16"
6980source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"6997source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
6981dependencies = [6998dependencies = [
6982 "bitvec",6999 "bitvec",
6983 "futures 0.3.18",7000 "futures 0.3.21",
6984 "futures-timer 3.0.2",7001 "futures-timer",
6985 "kvdb",7002 "kvdb",
6986 "parity-scale-codec",7003 "parity-scale-codec",
6987 "polkadot-erasure-coding",7004 "polkadot-erasure-coding",
69967013
6997[[package]]7014[[package]]
6998name = "polkadot-node-core-backing"7015name = "polkadot-node-core-backing"
6999version = "0.9.14"7016version = "0.9.16"
7000source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7017source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7001dependencies = [7018dependencies = [
7002 "bitvec",7019 "bitvec",
7003 "futures 0.3.18",7020 "futures 0.3.21",
7004 "polkadot-erasure-coding",7021 "polkadot-erasure-coding",
7005 "polkadot-node-primitives",7022 "polkadot-node-primitives",
7006 "polkadot-node-subsystem",7023 "polkadot-node-subsystem",
70147031
7015[[package]]7032[[package]]
7016name = "polkadot-node-core-bitfield-signing"7033name = "polkadot-node-core-bitfield-signing"
7017version = "0.9.14"7034version = "0.9.16"
7018source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7035source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7019dependencies = [7036dependencies = [
7020 "futures 0.3.18",7037 "futures 0.3.21",
7021 "polkadot-node-subsystem",7038 "polkadot-node-subsystem",
7022 "polkadot-node-subsystem-util",7039 "polkadot-node-subsystem-util",
7023 "polkadot-primitives",7040 "polkadot-primitives",
70297046
7030[[package]]7047[[package]]
7031name = "polkadot-node-core-candidate-validation"7048name = "polkadot-node-core-candidate-validation"
7032version = "0.9.14"7049version = "0.9.16"
7033source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7050source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7034dependencies = [7051dependencies = [
7035 "async-trait",7052 "async-trait",
7036 "futures 0.3.18",7053 "futures 0.3.21",
7037 "parity-scale-codec",7054 "parity-scale-codec",
7038 "polkadot-node-core-pvf",7055 "polkadot-node-core-pvf",
7039 "polkadot-node-primitives",7056 "polkadot-node-primitives",
70477064
7048[[package]]7065[[package]]
7049name = "polkadot-node-core-chain-api"7066name = "polkadot-node-core-chain-api"
7050version = "0.9.14"7067version = "0.9.16"
7051source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7068source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7052dependencies = [7069dependencies = [
7053 "futures 0.3.18",7070 "futures 0.3.21",
7054 "polkadot-node-subsystem",7071 "polkadot-node-subsystem",
7055 "polkadot-node-subsystem-util",7072 "polkadot-node-subsystem-util",
7056 "polkadot-primitives",7073 "polkadot-primitives",
70627079
7063[[package]]7080[[package]]
7064name = "polkadot-node-core-chain-selection"7081name = "polkadot-node-core-chain-selection"
7065version = "0.9.14"7082version = "0.9.16"
7066source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7083source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7067dependencies = [7084dependencies = [
7068 "futures 0.3.18",7085 "futures 0.3.21",
7069 "futures-timer 3.0.2",7086 "futures-timer",
7070 "kvdb",7087 "kvdb",
7071 "parity-scale-codec",7088 "parity-scale-codec",
7072 "polkadot-node-primitives",7089 "polkadot-node-primitives",
70797096
7080[[package]]7097[[package]]
7081name = "polkadot-node-core-dispute-coordinator"7098name = "polkadot-node-core-dispute-coordinator"
7082version = "0.9.14"7099version = "0.9.16"
7083source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7100source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7084dependencies = [7101dependencies = [
7085 "bitvec",7102 "futures 0.3.21",
7086 "derive_more",
7087 "futures 0.3.18",
7088 "kvdb",7103 "kvdb",
7104 "lru 0.7.2",
7089 "parity-scale-codec",7105 "parity-scale-codec",
7090 "polkadot-node-primitives",7106 "polkadot-node-primitives",
7091 "polkadot-node-subsystem",7107 "polkadot-node-subsystem",
7097]7113]
70987114
7099[[package]]7115[[package]]
7100name = "polkadot-node-core-dispute-participation"
7101version = "0.9.14"
7102source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"
7103dependencies = [
7104 "futures 0.3.18",
7105 "polkadot-node-primitives",
7106 "polkadot-node-subsystem",
7107 "polkadot-primitives",
7108 "thiserror",
7109 "tracing",
7110]
7111
7112[[package]]
7113name = "polkadot-node-core-parachains-inherent"7116name = "polkadot-node-core-parachains-inherent"
7114version = "0.9.14"7117version = "0.9.16"
7115source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7118source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7116dependencies = [7119dependencies = [
7117 "async-trait",7120 "async-trait",
7118 "futures 0.3.18",7121 "futures 0.3.21",
7119 "futures-timer 3.0.2",7122 "futures-timer",
7120 "polkadot-node-subsystem",7123 "polkadot-node-subsystem",
7121 "polkadot-primitives",7124 "polkadot-primitives",
7122 "sp-blockchain",7125 "sp-blockchain",
71287131
7129[[package]]7132[[package]]
7130name = "polkadot-node-core-provisioner"7133name = "polkadot-node-core-provisioner"
7131version = "0.9.14"7134version = "0.9.16"
7132source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7135source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7133dependencies = [7136dependencies = [
7134 "bitvec",7137 "bitvec",
7135 "futures 0.3.18",7138 "futures 0.3.21",
7136 "futures-timer 3.0.2",7139 "futures-timer",
7140 "polkadot-node-primitives",
7137 "polkadot-node-subsystem",7141 "polkadot-node-subsystem",
7138 "polkadot-node-subsystem-util",7142 "polkadot-node-subsystem-util",
7139 "polkadot-primitives",7143 "polkadot-primitives",
7144 "rand 0.8.4",
7140 "thiserror",7145 "thiserror",
7141 "tracing",7146 "tracing",
7142]7147]
71437148
7144[[package]]7149[[package]]
7145name = "polkadot-node-core-pvf"7150name = "polkadot-node-core-pvf"
7146version = "0.9.14"7151version = "0.9.16"
7147source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7152source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7148dependencies = [7153dependencies = [
7149 "always-assert",7154 "always-assert",
7150 "assert_matches",7155 "assert_matches",
7151 "async-process",7156 "async-process",
7152 "async-std",7157 "async-std",
7153 "futures 0.3.18",7158 "futures 0.3.21",
7154 "futures-timer 3.0.2",7159 "futures-timer",
7155 "libc",
7156 "parity-scale-codec",7160 "parity-scale-codec",
7157 "pin-project 1.0.8",7161 "pin-project 1.0.10",
7158 "polkadot-core-primitives",7162 "polkadot-core-primitives",
7159 "polkadot-node-subsystem-util",7163 "polkadot-node-subsystem-util",
7160 "polkadot-parachain",7164 "polkadot-parachain",
7173]7177]
71747178
7175[[package]]7179[[package]]
7180name = "polkadot-node-core-pvf-checker"
7181version = "0.9.16"
7182source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7183dependencies = [
7184 "futures 0.3.21",
7185 "polkadot-node-primitives",
7186 "polkadot-node-subsystem",
7187 "polkadot-node-subsystem-util",
7188 "polkadot-overseer",
7189 "polkadot-primitives",
7190 "sp-keystore",
7191 "thiserror",
7192 "tracing",
7193]
7194
7195[[package]]
7176name = "polkadot-node-core-runtime-api"7196name = "polkadot-node-core-runtime-api"
7177version = "0.9.14"7197version = "0.9.16"
7178source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7198source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7179dependencies = [7199dependencies = [
7180 "futures 0.3.18",7200 "futures 0.3.21",
7181 "memory-lru",7201 "memory-lru",
7182 "parity-util-mem",7202 "parity-util-mem",
7183 "polkadot-node-subsystem",7203 "polkadot-node-subsystem",
71927212
7193[[package]]7213[[package]]
7194name = "polkadot-node-jaeger"7214name = "polkadot-node-jaeger"
7195version = "0.9.14"7215version = "0.9.16"
7196source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7216source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7197dependencies = [7217dependencies = [
7198 "async-std",7218 "async-std",
7199 "lazy_static",7219 "lazy_static",
72107230
7211[[package]]7231[[package]]
7212name = "polkadot-node-metrics"7232name = "polkadot-node-metrics"
7213version = "0.9.14"7233version = "0.9.16"
7214source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7234source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7215dependencies = [7235dependencies = [
7216 "futures 0.3.18",7236 "bs58",
7237 "futures 0.3.21",
7217 "futures-timer 3.0.2",7238 "futures-timer",
7239 "log",
7218 "metered-channel",7240 "metered-channel",
7241 "parity-scale-codec",
7242 "polkadot-primitives",
7243 "sc-cli",
7244 "sc-service",
7245 "sc-tracing",
7219 "substrate-prometheus-endpoint",7246 "substrate-prometheus-endpoint",
7247 "tracing",
7220]7248]
72217249
7222[[package]]7250[[package]]
7223name = "polkadot-node-network-protocol"7251name = "polkadot-node-network-protocol"
7224version = "0.9.14"7252version = "0.9.16"
7225source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7253source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7226dependencies = [7254dependencies = [
7227 "async-trait",7255 "async-trait",
7228 "derive_more",7256 "derive_more",
7229 "futures 0.3.18",7257 "futures 0.3.21",
7230 "parity-scale-codec",7258 "parity-scale-codec",
7231 "polkadot-node-jaeger",7259 "polkadot-node-jaeger",
7232 "polkadot-node-primitives",7260 "polkadot-node-primitives",
7233 "polkadot-primitives",7261 "polkadot-primitives",
7234 "sc-authority-discovery",7262 "sc-authority-discovery",
7235 "sc-network",7263 "sc-network",
7236 "strum",7264 "strum 0.23.0",
7237 "thiserror",7265 "thiserror",
7238]7266]
72397267
7240[[package]]7268[[package]]
7241name = "polkadot-node-primitives"7269name = "polkadot-node-primitives"
7242version = "0.9.14"7270version = "0.9.16"
7243source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7271source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7244dependencies = [7272dependencies = [
7245 "bounded-vec",7273 "bounded-vec",
7246 "futures 0.3.18",7274 "futures 0.3.21",
7247 "parity-scale-codec",7275 "parity-scale-codec",
7248 "polkadot-parachain",7276 "polkadot-parachain",
7249 "polkadot-primitives",7277 "polkadot-primitives",
72617289
7262[[package]]7290[[package]]
7263name = "polkadot-node-subsystem"7291name = "polkadot-node-subsystem"
7264version = "0.9.14"7292version = "0.9.16"
7265source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7293source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7266dependencies = [7294dependencies = [
7267 "polkadot-node-jaeger",7295 "polkadot-node-jaeger",
7268 "polkadot-node-subsystem-types",7296 "polkadot-node-subsystem-types",
72717299
7272[[package]]7300[[package]]
7273name = "polkadot-node-subsystem-types"7301name = "polkadot-node-subsystem-types"
7274version = "0.9.14"7302version = "0.9.16"
7275source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7303source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7276dependencies = [7304dependencies = [
7277 "derive_more",7305 "derive_more",
7278 "futures 0.3.18",7306 "futures 0.3.21",
7279 "polkadot-node-jaeger",7307 "polkadot-node-jaeger",
7280 "polkadot-node-network-protocol",7308 "polkadot-node-network-protocol",
7281 "polkadot-node-primitives",7309 "polkadot-node-primitives",
72907318
7291[[package]]7319[[package]]
7292name = "polkadot-node-subsystem-util"7320name = "polkadot-node-subsystem-util"
7293version = "0.9.14"7321version = "0.9.16"
7294source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7322source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7295dependencies = [7323dependencies = [
7296 "async-trait",7324 "async-trait",
7297 "derive_more",7325 "derive_more",
7298 "futures 0.3.18",7326 "futures 0.3.21",
7299 "itertools",7327 "itertools",
7300 "lru 0.7.0",7328 "lru 0.7.2",
7301 "metered-channel",7329 "metered-channel",
7302 "parity-scale-codec",7330 "parity-scale-codec",
7303 "pin-project 1.0.8",7331 "pin-project 1.0.10",
7304 "polkadot-node-jaeger",7332 "polkadot-node-jaeger",
7305 "polkadot-node-metrics",7333 "polkadot-node-metrics",
7306 "polkadot-node-network-protocol",7334 "polkadot-node-network-protocol",
7335 "polkadot-node-primitives",
7307 "polkadot-node-subsystem",7336 "polkadot-node-subsystem",
7308 "polkadot-overseer",7337 "polkadot-overseer",
7309 "polkadot-primitives",7338 "polkadot-primitives",
73177346
7318[[package]]7347[[package]]
7319name = "polkadot-overseer"7348name = "polkadot-overseer"
7320version = "0.9.14"7349version = "0.9.16"
7321source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7350source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7322dependencies = [7351dependencies = [
7323 "futures 0.3.18",7352 "futures 0.3.21",
7324 "futures-timer 3.0.2",7353 "futures-timer",
7325 "lru 0.7.0",7354 "lru 0.7.2",
7326 "parity-util-mem",7355 "parity-util-mem",
7327 "parking_lot 0.11.2",7356 "parking_lot 0.11.2",
7328 "polkadot-node-metrics",7357 "polkadot-node-metrics",
73387367
7339[[package]]7368[[package]]
7340name = "polkadot-overseer-gen"7369name = "polkadot-overseer-gen"
7341version = "0.9.14"7370version = "0.9.16"
7342source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7371source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7343dependencies = [7372dependencies = [
7344 "async-trait",7373 "async-trait",
7345 "futures 0.3.18",7374 "futures 0.3.21",
7346 "futures-timer 3.0.2",7375 "futures-timer",
7347 "metered-channel",7376 "metered-channel",
7348 "pin-project 1.0.8",7377 "pin-project 1.0.10",
7349 "polkadot-node-network-protocol",7378 "polkadot-node-network-protocol",
7350 "polkadot-node-primitives",7379 "polkadot-node-primitives",
7351 "polkadot-overseer-gen-proc-macro",7380 "polkadot-overseer-gen-proc-macro",
73557384
7356[[package]]7385[[package]]
7357name = "polkadot-overseer-gen-proc-macro"7386name = "polkadot-overseer-gen-proc-macro"
7358version = "0.9.14"7387version = "0.9.16"
7359source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7388source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7360dependencies = [7389dependencies = [
7361 "proc-macro-crate 1.1.0",7390 "proc-macro-crate 1.1.0",
7362 "proc-macro2",7391 "proc-macro2",
73667395
7367[[package]]7396[[package]]
7368name = "polkadot-parachain"7397name = "polkadot-parachain"
7369version = "0.9.14"7398version = "0.9.16"
7370source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7399source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7371dependencies = [7400dependencies = [
7372 "derive_more",7401 "derive_more",
7373 "frame-support",7402 "frame-support",
7382]7411]
73837412
7384[[package]]7413[[package]]
7414name = "polkadot-performance-test"
7415version = "0.9.16"
7416source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7417dependencies = [
7418 "env_logger",
7419 "kusama-runtime",
7420 "log",
7421 "polkadot-erasure-coding",
7422 "polkadot-node-core-pvf",
7423 "polkadot-node-primitives",
7424 "quote",
7425 "thiserror",
7426]
7427
7428[[package]]
7385name = "polkadot-primitives"7429name = "polkadot-primitives"
7386version = "0.9.14"7430version = "0.9.16"
7387source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7431source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7388dependencies = [7432dependencies = [
7389 "bitvec",7433 "bitvec",
7390 "frame-system",7434 "frame-system",
74137457
7414[[package]]7458[[package]]
7415name = "polkadot-rpc"7459name = "polkadot-rpc"
7416version = "0.9.14"7460version = "0.9.16"
7417source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7461source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7418dependencies = [7462dependencies = [
7419 "beefy-gadget",7463 "beefy-gadget",
7420 "beefy-gadget-rpc",7464 "beefy-gadget-rpc",
74447488
7445[[package]]7489[[package]]
7446name = "polkadot-runtime"7490name = "polkadot-runtime"
7447version = "0.9.14"7491version = "0.9.16"
7448source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7492source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7449dependencies = [7493dependencies = [
7450 "beefy-primitives",7494 "beefy-primitives",
7451 "bitvec",7495 "bitvec",
7479 "pallet-nicks",7523 "pallet-nicks",
7480 "pallet-offences",7524 "pallet-offences",
7481 "pallet-offences-benchmarking",7525 "pallet-offences-benchmarking",
7526 "pallet-preimage",
7482 "pallet-proxy",7527 "pallet-proxy",
7483 "pallet-scheduler",7528 "pallet-scheduler",
7484 "pallet-session",7529 "pallet-session",
7496 "parity-scale-codec",7541 "parity-scale-codec",
7497 "polkadot-primitives",7542 "polkadot-primitives",
7498 "polkadot-runtime-common",7543 "polkadot-runtime-common",
7544 "polkadot-runtime-constants",
7499 "polkadot-runtime-parachains",7545 "polkadot-runtime-parachains",
7500 "rustc-hex",7546 "rustc-hex",
7501 "scale-info",7547 "scale-info",
75267572
7527[[package]]7573[[package]]
7528name = "polkadot-runtime-common"7574name = "polkadot-runtime-common"
7529version = "0.9.14"7575version = "0.9.16"
7530source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7576source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7531dependencies = [7577dependencies = [
7532 "beefy-primitives",7578 "beefy-primitives",
7533 "bitvec",7579 "bitvec",
7572]7618]
75737619
7574[[package]]7620[[package]]
7621name = "polkadot-runtime-constants"
7622version = "0.9.16"
7623source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7624dependencies = [
7625 "frame-support",
7626 "polkadot-primitives",
7627 "polkadot-runtime-common",
7628 "smallvec",
7629 "sp-runtime",
7630]
7631
7632[[package]]
7633name = "polkadot-runtime-metrics"
7634version = "0.9.16"
7635source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7636dependencies = [
7637 "bs58",
7638 "parity-scale-codec",
7639 "polkadot-primitives",
7640 "sp-std",
7641 "sp-tracing",
7642]
7643
7644[[package]]
7575name = "polkadot-runtime-parachains"7645name = "polkadot-runtime-parachains"
7576version = "0.9.14"7646version = "0.9.16"
7577source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7647source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7578dependencies = [7648dependencies = [
7579 "bitflags",7649 "bitflags",
7580 "bitvec",7650 "bitvec",
7593 "pallet-vesting",7663 "pallet-vesting",
7594 "parity-scale-codec",7664 "parity-scale-codec",
7595 "polkadot-primitives",7665 "polkadot-primitives",
7666 "polkadot-runtime-metrics",
7596 "rand 0.8.4",7667 "rand 0.8.4",
7597 "rand_chacha 0.3.1",7668 "rand_chacha 0.3.1",
7598 "rustc-hex",7669 "rustc-hex",
76137684
7614[[package]]7685[[package]]
7615name = "polkadot-service"7686name = "polkadot-service"
7616version = "0.9.14"7687version = "0.9.16"
7617source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7688source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7618dependencies = [7689dependencies = [
7619 "async-trait",7690 "async-trait",
7620 "beefy-gadget",7691 "beefy-gadget",
7621 "beefy-primitives",7692 "beefy-primitives",
7622 "frame-system-rpc-runtime-api",7693 "frame-system-rpc-runtime-api",
7623 "futures 0.3.18",7694 "futures 0.3.21",
7624 "hex-literal",7695 "hex-literal",
7625 "kusama-runtime",7696 "kusama-runtime",
7626 "kvdb",7697 "kvdb",
7627 "kvdb-rocksdb",7698 "kvdb-rocksdb",
7628 "lru 0.7.0",7699 "lru 0.7.2",
7629 "pallet-babe",7700 "pallet-babe",
7630 "pallet-im-online",7701 "pallet-im-online",
7631 "pallet-mmr-primitives",7702 "pallet-mmr-primitives",
7649 "polkadot-node-core-chain-api",7720 "polkadot-node-core-chain-api",
7650 "polkadot-node-core-chain-selection",7721 "polkadot-node-core-chain-selection",
7651 "polkadot-node-core-dispute-coordinator",7722 "polkadot-node-core-dispute-coordinator",
7652 "polkadot-node-core-dispute-participation",
7653 "polkadot-node-core-parachains-inherent",7723 "polkadot-node-core-parachains-inherent",
7654 "polkadot-node-core-provisioner",7724 "polkadot-node-core-provisioner",
7725 "polkadot-node-core-pvf-checker",
7655 "polkadot-node-core-runtime-api",7726 "polkadot-node-core-runtime-api",
7656 "polkadot-node-network-protocol",7727 "polkadot-node-network-protocol",
7657 "polkadot-node-primitives",7728 "polkadot-node-primitives",
7662 "polkadot-primitives",7733 "polkadot-primitives",
7663 "polkadot-rpc",7734 "polkadot-rpc",
7664 "polkadot-runtime",7735 "polkadot-runtime",
7736 "polkadot-runtime-constants",
7665 "polkadot-runtime-parachains",7737 "polkadot-runtime-parachains",
7666 "polkadot-statement-distribution",7738 "polkadot-statement-distribution",
7667 "rococo-runtime",7739 "rococo-runtime",
77127784
7713[[package]]7785[[package]]
7714name = "polkadot-statement-distribution"7786name = "polkadot-statement-distribution"
7715version = "0.9.14"7787version = "0.9.16"
7716source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7788source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7717dependencies = [7789dependencies = [
7718 "arrayvec 0.5.2",7790 "arrayvec 0.5.2",
7719 "derive_more",7791 "derive_more",
7720 "futures 0.3.18",7792 "futures 0.3.21",
7721 "indexmap",7793 "indexmap",
7722 "parity-scale-codec",7794 "parity-scale-codec",
7723 "polkadot-node-network-protocol",7795 "polkadot-node-network-protocol",
77337805
7734[[package]]7806[[package]]
7735name = "polkadot-statement-table"7807name = "polkadot-statement-table"
7736version = "0.9.14"7808version = "0.9.16"
7737source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7809source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7738dependencies = [7810dependencies = [
7739 "parity-scale-codec",7811 "parity-scale-codec",
7740 "polkadot-primitives",7812 "polkadot-primitives",
77437815
7744[[package]]7816[[package]]
7745name = "polkadot-test-runtime"7817name = "polkadot-test-runtime"
7746version = "0.9.14"7818version = "0.9.16"
7747source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7819source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7748dependencies = [7820dependencies = [
7749 "beefy-primitives",7821 "beefy-primitives",
7750 "bitvec",7822 "bitvec",
7797 "sp-transaction-pool",7869 "sp-transaction-pool",
7798 "sp-version",7870 "sp-version",
7799 "substrate-wasm-builder",7871 "substrate-wasm-builder",
7872 "test-runtime-constants",
7800 "xcm",7873 "xcm",
7801 "xcm-builder",7874 "xcm-builder",
7802 "xcm-executor",7875 "xcm-executor",
7803]7876]
78047877
7805[[package]]7878[[package]]
7806name = "polkadot-test-service"7879name = "polkadot-test-service"
7807version = "0.9.14"7880version = "0.9.16"
7808source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"7881source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
7809dependencies = [7882dependencies = [
7810 "frame-benchmarking",7883 "frame-benchmarking",
7811 "frame-system",7884 "frame-system",
7812 "futures 0.1.31",7885 "futures 0.1.31",
7813 "futures 0.3.18",7886 "futures 0.3.21",
7814 "hex",7887 "hex",
7815 "pallet-balances",7888 "pallet-balances",
7816 "pallet-staking",7889 "pallet-staking",
7851 "sp-state-machine",7924 "sp-state-machine",
7852 "substrate-test-client",7925 "substrate-test-client",
7853 "tempfile",7926 "tempfile",
7854 "tokio 1.14.0",7927 "test-runtime-constants",
7928 "tokio 1.16.1",
7855 "tracing",7929 "tracing",
7856]7930]
78577931
78937967
7894[[package]]7968[[package]]
7895name = "ppv-lite86"7969name = "ppv-lite86"
7896version = "0.2.15"7970version = "0.2.16"
7897source = "registry+https://github.com/rust-lang/crates.io-index"7971source = "registry+https://github.com/rust-lang/crates.io-index"
7898checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba"7972checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
78997973
7900[[package]]7974[[package]]
7901name = "primitive-types"7975name = "primitive-types"
79688042
7969[[package]]8043[[package]]
7970name = "proc-macro2"8044name = "proc-macro2"
7971version = "1.0.33"8045version = "1.0.36"
7972source = "registry+https://github.com/rust-lang/crates.io-index"8046source = "registry+https://github.com/rust-lang/crates.io-index"
7973checksum = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a"8047checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
7974dependencies = [8048dependencies = [
7975 "unicode-xid",8049 "unicode-xid",
7976]8050]
8052]8126]
80538127
8054[[package]]8128[[package]]
8055name = "pwasm-utils"
8056version = "0.18.2"
8057source = "registry+https://github.com/rust-lang/crates.io-index"
8058checksum = "880b3384fb00b8f6ecccd5d358b93bd2201900ae3daad213791d1864f6441f5c"
8059dependencies = [
8060 "byteorder",
8061 "log",
8062 "parity-wasm 0.42.2",
8063]
8064
8065[[package]]
8066name = "quick-error"8129name = "quick-error"
8067version = "1.2.3"8130version = "1.2.3"
8068source = "registry+https://github.com/rust-lang/crates.io-index"8131source = "registry+https://github.com/rust-lang/crates.io-index"
80878150
8088[[package]]8151[[package]]
8089name = "quote"8152name = "quote"
8090version = "1.0.10"8153version = "1.0.15"
8091source = "registry+https://github.com/rust-lang/crates.io-index"8154source = "registry+https://github.com/rust-lang/crates.io-index"
8092checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"8155checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
8093dependencies = [8156dependencies = [
8094 "proc-macro2",8157 "proc-macro2",
8095]8158]
8161source = "registry+https://github.com/rust-lang/crates.io-index"8224source = "registry+https://github.com/rust-lang/crates.io-index"
8162checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"8225checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
8163dependencies = [8226dependencies = [
8164 "getrandom 0.2.3",8227 "getrandom 0.2.4",
8165]8228]
81668229
8167[[package]]8230[[package]]
8168name = "rand_distr"8231name = "rand_distr"
8169version = "0.4.2"8232version = "0.4.3"
8170source = "registry+https://github.com/rust-lang/crates.io-index"8233source = "registry+https://github.com/rust-lang/crates.io-index"
8171checksum = "964d548f8e7d12e102ef183a0de7e98180c9f8729f555897a857b96e48122d2f"8234checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31"
8172dependencies = [8235dependencies = [
8173 "num-traits",8236 "num-traits",
8174 "rand 0.8.4",8237 "rand 0.8.4",
8253source = "registry+https://github.com/rust-lang/crates.io-index"8316source = "registry+https://github.com/rust-lang/crates.io-index"
8254checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"8317checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
8255dependencies = [8318dependencies = [
8256 "getrandom 0.2.3",8319 "getrandom 0.2.4",
8257 "redox_syscall 0.2.10",8320 "redox_syscall 0.2.10",
8258]8321]
82598322
82928355
8293[[package]]8356[[package]]
8294name = "regalloc"8357name = "regalloc"
8295version = "0.0.32"8358version = "0.0.33"
8296source = "registry+https://github.com/rust-lang/crates.io-index"8359source = "registry+https://github.com/rust-lang/crates.io-index"
8297checksum = "a6304468554ed921da3d32c355ea107b8d13d7b8996c3adfb7aab48d3bc321f4"8360checksum = "7d808cff91dfca7b239d40b972ba628add94892b1d9e19a842aedc5cfae8ab1a"
8298dependencies = [8361dependencies = [
8299 "log",8362 "log",
8300 "rustc-hash",8363 "rustc-hash",
8342[[package]]8405[[package]]
8343name = "remote-externalities"8406name = "remote-externalities"
8344version = "0.10.0-dev"8407version = "0.10.0-dev"
8345source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8408source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8346dependencies = [8409dependencies = [
8347 "env_logger 0.9.0",8410 "env_logger",
8348 "jsonrpsee",8411 "jsonrpsee",
8349 "log",8412 "log",
8350 "parity-scale-codec",8413 "parity-scale-codec",
83778440
8378[[package]]8441[[package]]
8379name = "retain_mut"8442name = "retain_mut"
8380version = "0.1.5"8443version = "0.1.6"
8381source = "registry+https://github.com/rust-lang/crates.io-index"8444source = "registry+https://github.com/rust-lang/crates.io-index"
8382checksum = "11000e6ba5020e53e7cc26f73b91ae7d5496b4977851479edb66b694c0675c21"8445checksum = "51dd4445360338dab5116712bee1388dc727991d51969558a8882ab552e6db30"
83838446
8384[[package]]8447[[package]]
8385name = "ring"8448name = "ring"
84298492
8430[[package]]8493[[package]]
8431name = "rococo-runtime"8494name = "rococo-runtime"
8432version = "0.9.14"8495version = "0.9.16"
8433source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"8496source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
8434dependencies = [8497dependencies = [
8435 "beefy-primitives",8498 "beefy-primitives",
8436 "bp-messages",8499 "bp-messages",
8477 "polkadot-primitives",8540 "polkadot-primitives",
8478 "polkadot-runtime-common",8541 "polkadot-runtime-common",
8479 "polkadot-runtime-parachains",8542 "polkadot-runtime-parachains",
8543 "rococo-runtime-constants",
8480 "scale-info",8544 "scale-info",
8481 "serde",8545 "serde",
8482 "serde_derive",8546 "serde_derive",
8502]8566]
85038567
8504[[package]]8568[[package]]
8569name = "rococo-runtime-constants"
8570version = "0.9.16"
8571source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
8572dependencies = [
8573 "frame-support",
8574 "polkadot-primitives",
8575 "polkadot-runtime-common",
8576 "smallvec",
8577 "sp-runtime",
8578]
8579
8580[[package]]
8505name = "rpassword"8581name = "rpassword"
8506version = "5.0.1"8582version = "5.0.1"
8507source = "registry+https://github.com/rust-lang/crates.io-index"8583source = "registry+https://github.com/rust-lang/crates.io-index"
8512]8588]
85138589
8514[[package]]8590[[package]]
8515name = "rsix"
8516version = "0.23.9"
8517source = "registry+https://github.com/rust-lang/crates.io-index"
8518checksum = "1f64c5788d5aab8b75441499d99576a24eb09f76fb267b36fec7e3d970c66431"
8519dependencies = [
8520 "bitflags",
8521 "cc",
8522 "errno",
8523 "io-lifetimes",
8524 "itoa",
8525 "libc",
8526 "linux-raw-sys",
8527 "once_cell",
8528 "rustc_version 0.4.0",
8529]
8530
8531[[package]]
8532name = "rustc-demangle"8591name = "rustc-demangle"
8533version = "0.1.21"8592version = "0.1.21"
8534source = "registry+https://github.com/rust-lang/crates.io-index"8593source = "registry+https://github.com/rust-lang/crates.io-index"
8570source = "registry+https://github.com/rust-lang/crates.io-index"8629source = "registry+https://github.com/rust-lang/crates.io-index"
8571checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"8630checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
8572dependencies = [8631dependencies = [
8573 "semver 1.0.4",8632 "semver 1.0.5",
8574]8633]
85758634
8576[[package]]8635[[package]]
8636name = "rustix"
8637version = "0.31.3"
8638source = "registry+https://github.com/rust-lang/crates.io-index"
8639checksum = "b2dcfc2778a90e38f56a708bfc90572422e11d6c7ee233d053d1f782cf9df6d2"
8640dependencies = [
8641 "bitflags",
8642 "errno",
8643 "io-lifetimes",
8644 "libc",
8645 "linux-raw-sys",
8646 "winapi 0.3.9",
8647]
8648
8649[[package]]
8577name = "rustls"8650name = "rustls"
8578version = "0.19.1"8651version = "0.19.1"
8579source = "registry+https://github.com/rust-lang/crates.io-index"8652source = "registry+https://github.com/rust-lang/crates.io-index"
8599]8672]
86008673
8601[[package]]8674[[package]]
8675name = "rustversion"
8676version = "1.0.6"
8677source = "registry+https://github.com/rust-lang/crates.io-index"
8678checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"
8679
8680[[package]]
8602name = "rw-stream-sink"8681name = "rw-stream-sink"
8603version = "0.2.1"8682version = "0.2.1"
8604source = "registry+https://github.com/rust-lang/crates.io-index"8683source = "registry+https://github.com/rust-lang/crates.io-index"
8605checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"8684checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"
8606dependencies = [8685dependencies = [
8607 "futures 0.3.18",8686 "futures 0.3.21",
8608 "pin-project 0.4.28",8687 "pin-project 0.4.29",
8609 "static_assertions",8688 "static_assertions",
8610]8689]
86118690
8645[[package]]8724[[package]]
8646name = "sc-allocator"8725name = "sc-allocator"
8647version = "4.1.0-dev"8726version = "4.1.0-dev"
8648source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8727source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8649dependencies = [8728dependencies = [
8650 "log",8729 "log",
8651 "sp-core",8730 "sp-core",
8656[[package]]8735[[package]]
8657name = "sc-authority-discovery"8736name = "sc-authority-discovery"
8658version = "0.10.0-dev"8737version = "0.10.0-dev"
8659source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8738source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8660dependencies = [8739dependencies = [
8661 "async-trait",8740 "async-trait",
8662 "derive_more",8741 "derive_more",
8663 "futures 0.3.18",8742 "futures 0.3.21",
8664 "futures-timer 3.0.2",8743 "futures-timer",
8665 "ip_network",8744 "ip_network",
8666 "libp2p",8745 "libp2p",
8667 "log",8746 "log",
8683[[package]]8762[[package]]
8684name = "sc-basic-authorship"8763name = "sc-basic-authorship"
8685version = "0.10.0-dev"8764version = "0.10.0-dev"
8686source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8765source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8687dependencies = [8766dependencies = [
8688 "futures 0.3.18",8767 "futures 0.3.21",
8689 "futures-timer 3.0.2",8768 "futures-timer",
8690 "log",8769 "log",
8691 "parity-scale-codec",8770 "parity-scale-codec",
8692 "sc-block-builder",8771 "sc-block-builder",
8706[[package]]8785[[package]]
8707name = "sc-block-builder"8786name = "sc-block-builder"
8708version = "0.10.0-dev"8787version = "0.10.0-dev"
8709source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8788source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8710dependencies = [8789dependencies = [
8711 "parity-scale-codec",8790 "parity-scale-codec",
8712 "sc-client-api",8791 "sc-client-api",
8722[[package]]8801[[package]]
8723name = "sc-chain-spec"8802name = "sc-chain-spec"
8724version = "4.0.0-dev"8803version = "4.0.0-dev"
8725source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8804source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8726dependencies = [8805dependencies = [
8727 "impl-trait-for-tuples",8806 "impl-trait-for-tuples",
8728 "memmap2 0.5.0",8807 "memmap2 0.5.3",
8729 "parity-scale-codec",8808 "parity-scale-codec",
8730 "sc-chain-spec-derive",8809 "sc-chain-spec-derive",
8731 "sc-network",8810 "sc-network",
8739[[package]]8818[[package]]
8740name = "sc-chain-spec-derive"8819name = "sc-chain-spec-derive"
8741version = "4.0.0-dev"8820version = "4.0.0-dev"
8742source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8821source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8743dependencies = [8822dependencies = [
8744 "proc-macro-crate 1.1.0",8823 "proc-macro-crate 1.1.0",
8745 "proc-macro2",8824 "proc-macro2",
8750[[package]]8829[[package]]
8751name = "sc-cli"8830name = "sc-cli"
8752version = "0.10.0-dev"8831version = "0.10.0-dev"
8753source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8832source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8754dependencies = [8833dependencies = [
8755 "chrono",8834 "chrono",
8756 "fdlimit",8835 "fdlimit",
8757 "futures 0.3.18",8836 "futures 0.3.21",
8758 "hex",8837 "hex",
8759 "libp2p",8838 "libp2p",
8760 "log",8839 "log",
8782 "structopt",8861 "structopt",
8783 "thiserror",8862 "thiserror",
8784 "tiny-bip39",8863 "tiny-bip39",
8785 "tokio 1.14.0",8864 "tokio 1.16.1",
8786]8865]
87878866
8788[[package]]8867[[package]]
8789name = "sc-client-api"8868name = "sc-client-api"
8790version = "4.0.0-dev"8869version = "4.0.0-dev"
8791source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8870source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8792dependencies = [8871dependencies = [
8793 "fnv",8872 "fnv",
8794 "futures 0.3.18",8873 "futures 0.3.21",
8795 "hash-db",8874 "hash-db",
8796 "log",8875 "log",
8797 "parity-scale-codec",8876 "parity-scale-codec",
8816[[package]]8895[[package]]
8817name = "sc-client-db"8896name = "sc-client-db"
8818version = "0.10.0-dev"8897version = "0.10.0-dev"
8819source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8898source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8820dependencies = [8899dependencies = [
8821 "hash-db",8900 "hash-db",
8822 "kvdb",8901 "kvdb",
8841[[package]]8920[[package]]
8842name = "sc-consensus"8921name = "sc-consensus"
8843version = "0.10.0-dev"8922version = "0.10.0-dev"
8844source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8923source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8845dependencies = [8924dependencies = [
8846 "async-trait",8925 "async-trait",
8847 "futures 0.3.18",8926 "futures 0.3.21",
8848 "futures-timer 3.0.2",8927 "futures-timer",
8849 "libp2p",8928 "libp2p",
8850 "log",8929 "log",
8851 "parking_lot 0.11.2",8930 "parking_lot 0.11.2",
8865[[package]]8944[[package]]
8866name = "sc-consensus-aura"8945name = "sc-consensus-aura"
8867version = "0.10.0-dev"8946version = "0.10.0-dev"
8868source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8947source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8869dependencies = [8948dependencies = [
8870 "async-trait",8949 "async-trait",
8871 "derive_more",8950 "derive_more",
8872 "futures 0.3.18",8951 "futures 0.3.21",
8873 "log",8952 "log",
8874 "parity-scale-codec",8953 "parity-scale-codec",
8875 "sc-block-builder",8954 "sc-block-builder",
8894[[package]]8973[[package]]
8895name = "sc-consensus-babe"8974name = "sc-consensus-babe"
8896version = "0.10.0-dev"8975version = "0.10.0-dev"
8897source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"8976source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8898dependencies = [8977dependencies = [
8899 "async-trait",8978 "async-trait",
8900 "derive_more",8979 "derive_more",
8901 "fork-tree",8980 "fork-tree",
8902 "futures 0.3.18",8981 "futures 0.3.21",
8903 "log",8982 "log",
8904 "merlin",8983 "merlin",
8905 "num-bigint",8984 "num-bigint",
8937[[package]]9016[[package]]
8938name = "sc-consensus-babe-rpc"9017name = "sc-consensus-babe-rpc"
8939version = "0.10.0-dev"9018version = "0.10.0-dev"
8940source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9019source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8941dependencies = [9020dependencies = [
8942 "derive_more",9021 "derive_more",
8943 "futures 0.3.18",9022 "futures 0.3.21",
8944 "jsonrpc-core",9023 "jsonrpc-core",
8945 "jsonrpc-core-client",9024 "jsonrpc-core-client",
8946 "jsonrpc-derive",9025 "jsonrpc-derive",
8961[[package]]9040[[package]]
8962name = "sc-consensus-epochs"9041name = "sc-consensus-epochs"
8963version = "0.10.0-dev"9042version = "0.10.0-dev"
8964source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9043source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8965dependencies = [9044dependencies = [
8966 "fork-tree",9045 "fork-tree",
8967 "parity-scale-codec",9046 "parity-scale-codec",
8974[[package]]9053[[package]]
8975name = "sc-consensus-slots"9054name = "sc-consensus-slots"
8976version = "0.10.0-dev"9055version = "0.10.0-dev"
8977source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9056source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
8978dependencies = [9057dependencies = [
8979 "async-trait",9058 "async-trait",
8980 "futures 0.3.18",9059 "futures 0.3.21",
8981 "futures-timer 3.0.2",9060 "futures-timer",
8982 "log",9061 "log",
8983 "parity-scale-codec",9062 "parity-scale-codec",
8984 "sc-client-api",9063 "sc-client-api",
8985 "sc-consensus",9064 "sc-consensus",
8986 "sc-telemetry",9065 "sc-telemetry",
8987 "sp-api",
8988 "sp-arithmetic",9066 "sp-arithmetic",
8989 "sp-blockchain",9067 "sp-blockchain",
8990 "sp-consensus",9068 "sp-consensus",
9000[[package]]9078[[package]]
9001name = "sc-consensus-uncles"9079name = "sc-consensus-uncles"
9002version = "0.10.0-dev"9080version = "0.10.0-dev"
9003source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9081source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9004dependencies = [9082dependencies = [
9005 "sc-client-api",9083 "sc-client-api",
9006 "sp-authorship",9084 "sp-authorship",
9011[[package]]9089[[package]]
9012name = "sc-executor"9090name = "sc-executor"
9013version = "0.10.0-dev"9091version = "0.10.0-dev"
9014source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9092source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9015dependencies = [9093dependencies = [
9016 "lazy_static",9094 "lazy_static",
9017 "libsecp256k1 0.7.0",9095 "libsecp256k1 0.7.0",
9018 "log",9096 "log",
9097 "lru 0.6.6",
9019 "parity-scale-codec",9098 "parity-scale-codec",
9020 "parking_lot 0.11.2",9099 "parking_lot 0.11.2",
9021 "sc-executor-common",9100 "sc-executor-common",
9038[[package]]9117[[package]]
9039name = "sc-executor-common"9118name = "sc-executor-common"
9040version = "0.10.0-dev"9119version = "0.10.0-dev"
9041source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9120source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9042dependencies = [9121dependencies = [
9043 "derive_more",9122 "derive_more",
9044 "environmental",9123 "environmental",
9045 "parity-scale-codec",9124 "parity-scale-codec",
9046 "pwasm-utils",
9047 "sc-allocator",9125 "sc-allocator",
9048 "sp-core",9126 "sp-core",
9049 "sp-maybe-compressed-blob",9127 "sp-maybe-compressed-blob",
9050 "sp-serializer",9128 "sp-serializer",
9051 "sp-wasm-interface",9129 "sp-wasm-interface",
9052 "thiserror",9130 "thiserror",
9131 "wasm-instrument",
9053 "wasmi",9132 "wasmi",
9054]9133]
90559134
9056[[package]]9135[[package]]
9057name = "sc-executor-wasmi"9136name = "sc-executor-wasmi"
9058version = "0.10.0-dev"9137version = "0.10.0-dev"
9059source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9138source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9060dependencies = [9139dependencies = [
9061 "log",9140 "log",
9062 "parity-scale-codec",9141 "parity-scale-codec",
9072[[package]]9151[[package]]
9073name = "sc-executor-wasmtime"9152name = "sc-executor-wasmtime"
9074version = "0.10.0-dev"9153version = "0.10.0-dev"
9075source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9154source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9076dependencies = [9155dependencies = [
9077 "cfg-if 1.0.0",9156 "cfg-if 1.0.0",
9078 "libc",9157 "libc",
9090[[package]]9169[[package]]
9091name = "sc-finality-grandpa"9170name = "sc-finality-grandpa"
9092version = "0.10.0-dev"9171version = "0.10.0-dev"
9093source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9172source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9094dependencies = [9173dependencies = [
9095 "async-trait",9174 "async-trait",
9096 "derive_more",9175 "derive_more",
9097 "dyn-clone",9176 "dyn-clone",
9098 "finality-grandpa",9177 "finality-grandpa",
9099 "fork-tree",9178 "fork-tree",
9100 "futures 0.3.18",9179 "futures 0.3.21",
9101 "futures-timer 3.0.2",9180 "futures-timer",
9102 "log",9181 "log",
9103 "parity-scale-codec",9182 "parity-scale-codec",
9104 "parking_lot 0.11.2",9183 "parking_lot 0.11.2",
9105 "rand 0.8.4",9184 "rand 0.8.4",
9106 "sc-block-builder",9185 "sc-block-builder",
9186 "sc-chain-spec",
9107 "sc-client-api",9187 "sc-client-api",
9108 "sc-consensus",9188 "sc-consensus",
9109 "sc-keystore",9189 "sc-keystore",
9127[[package]]9207[[package]]
9128name = "sc-finality-grandpa-rpc"9208name = "sc-finality-grandpa-rpc"
9129version = "0.10.0-dev"9209version = "0.10.0-dev"
9130source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9210source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9131dependencies = [9211dependencies = [
9132 "derive_more",9212 "derive_more",
9133 "finality-grandpa",9213 "finality-grandpa",
9134 "futures 0.3.18",9214 "futures 0.3.21",
9135 "jsonrpc-core",9215 "jsonrpc-core",
9136 "jsonrpc-core-client",9216 "jsonrpc-core-client",
9137 "jsonrpc-derive",9217 "jsonrpc-derive",
9151[[package]]9231[[package]]
9152name = "sc-informant"9232name = "sc-informant"
9153version = "0.10.0-dev"9233version = "0.10.0-dev"
9154source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9234source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9155dependencies = [9235dependencies = [
9156 "ansi_term",9236 "ansi_term",
9157 "futures 0.3.18",9237 "futures 0.3.21",
9158 "futures-timer 3.0.2",9238 "futures-timer",
9159 "log",9239 "log",
9160 "parity-util-mem",9240 "parity-util-mem",
9161 "sc-client-api",9241 "sc-client-api",
9168[[package]]9248[[package]]
9169name = "sc-keystore"9249name = "sc-keystore"
9170version = "4.0.0-dev"9250version = "4.0.0-dev"
9171source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9251source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9172dependencies = [9252dependencies = [
9173 "async-trait",9253 "async-trait",
9174 "derive_more",9254 "derive_more",
9183[[package]]9263[[package]]
9184name = "sc-network"9264name = "sc-network"
9185version = "0.10.0-dev"9265version = "0.10.0-dev"
9186source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9266source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9187dependencies = [9267dependencies = [
9188 "async-std",9268 "async-std",
9189 "async-trait",9269 "async-trait",
9195 "either",9275 "either",
9196 "fnv",9276 "fnv",
9197 "fork-tree",9277 "fork-tree",
9198 "futures 0.3.18",9278 "futures 0.3.21",
9199 "futures-timer 3.0.2",9279 "futures-timer",
9200 "hex",9280 "hex",
9201 "ip_network",9281 "ip_network",
9202 "libp2p",9282 "libp2p",
9203 "linked-hash-map",9283 "linked-hash-map",
9204 "linked_hash_set",9284 "linked_hash_set",
9205 "log",9285 "log",
9206 "lru 0.7.0",9286 "lru 0.7.2",
9207 "parity-scale-codec",9287 "parity-scale-codec",
9208 "parking_lot 0.11.2",9288 "parking_lot 0.11.2",
9209 "pin-project 1.0.8",9289 "pin-project 1.0.10",
9210 "prost",9290 "prost",
9211 "prost-build",9291 "prost-build",
9212 "rand 0.7.3",9292 "rand 0.7.3",
9234[[package]]9314[[package]]
9235name = "sc-network-gossip"9315name = "sc-network-gossip"
9236version = "0.10.0-dev"9316version = "0.10.0-dev"
9237source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9317source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9238dependencies = [9318dependencies = [
9239 "futures 0.3.18",9319 "futures 0.3.21",
9240 "futures-timer 3.0.2",9320 "futures-timer",
9241 "libp2p",9321 "libp2p",
9242 "log",9322 "log",
9243 "lru 0.7.0",9323 "lru 0.7.2",
9244 "sc-network",9324 "sc-network",
9245 "sp-runtime",9325 "sp-runtime",
9246 "substrate-prometheus-endpoint",9326 "substrate-prometheus-endpoint",
9250[[package]]9330[[package]]
9251name = "sc-offchain"9331name = "sc-offchain"
9252version = "4.0.0-dev"9332version = "4.0.0-dev"
9253source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9333source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9254dependencies = [9334dependencies = [
9255 "bytes 1.1.0",9335 "bytes 1.1.0",
9256 "fnv",9336 "fnv",
9257 "futures 0.3.18",9337 "futures 0.3.21",
9258 "futures-timer 3.0.2",9338 "futures-timer",
9259 "hex",9339 "hex",
9260 "hyper",9340 "hyper",
9261 "hyper-rustls",9341 "hyper-rustls",
9278[[package]]9358[[package]]
9279name = "sc-peerset"9359name = "sc-peerset"
9280version = "4.0.0-dev"9360version = "4.0.0-dev"
9281source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9361source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9282dependencies = [9362dependencies = [
9283 "futures 0.3.18",9363 "futures 0.3.21",
9284 "libp2p",9364 "libp2p",
9285 "log",9365 "log",
9286 "sc-utils",9366 "sc-utils",
9291[[package]]9371[[package]]
9292name = "sc-proposer-metrics"9372name = "sc-proposer-metrics"
9293version = "0.10.0-dev"9373version = "0.10.0-dev"
9294source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9374source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9295dependencies = [9375dependencies = [
9296 "log",9376 "log",
9297 "substrate-prometheus-endpoint",9377 "substrate-prometheus-endpoint",
9300[[package]]9380[[package]]
9301name = "sc-rpc"9381name = "sc-rpc"
9302version = "4.0.0-dev"9382version = "4.0.0-dev"
9303source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9383source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9304dependencies = [9384dependencies = [
9305 "futures 0.3.18",9385 "futures 0.3.21",
9306 "hash-db",9386 "hash-db",
9307 "jsonrpc-core",9387 "jsonrpc-core",
9308 "jsonrpc-pubsub",9388 "jsonrpc-pubsub",
9331[[package]]9411[[package]]
9332name = "sc-rpc-api"9412name = "sc-rpc-api"
9333version = "0.10.0-dev"9413version = "0.10.0-dev"
9334source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9414source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9335dependencies = [9415dependencies = [
9336 "futures 0.3.18",9416 "futures 0.3.21",
9337 "jsonrpc-core",9417 "jsonrpc-core",
9338 "jsonrpc-core-client",9418 "jsonrpc-core-client",
9339 "jsonrpc-derive",9419 "jsonrpc-derive",
9356[[package]]9436[[package]]
9357name = "sc-rpc-server"9437name = "sc-rpc-server"
9358version = "4.0.0-dev"9438version = "4.0.0-dev"
9359source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9439source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9360dependencies = [9440dependencies = [
9361 "futures 0.3.18",9441 "futures 0.3.21",
9362 "jsonrpc-core",9442 "jsonrpc-core",
9363 "jsonrpc-http-server",9443 "jsonrpc-http-server",
9364 "jsonrpc-ipc-server",9444 "jsonrpc-ipc-server",
9367 "log",9447 "log",
9368 "serde_json",9448 "serde_json",
9369 "substrate-prometheus-endpoint",9449 "substrate-prometheus-endpoint",
9370 "tokio 1.14.0",9450 "tokio 1.16.1",
9371]9451]
93729452
9373[[package]]9453[[package]]
9374name = "sc-service"9454name = "sc-service"
9375version = "0.10.0-dev"9455version = "0.10.0-dev"
9376source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9456source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9377dependencies = [9457dependencies = [
9378 "async-trait",9458 "async-trait",
9379 "directories",9459 "directories",
9380 "exit-future",9460 "exit-future",
9381 "futures 0.3.18",9461 "futures 0.3.21",
9382 "futures-timer 3.0.2",9462 "futures-timer",
9383 "hash-db",9463 "hash-db",
9384 "jsonrpc-core",9464 "jsonrpc-core",
9385 "jsonrpc-pubsub",9465 "jsonrpc-pubsub",
9386 "log",9466 "log",
9387 "parity-scale-codec",9467 "parity-scale-codec",
9388 "parity-util-mem",9468 "parity-util-mem",
9389 "parking_lot 0.11.2",9469 "parking_lot 0.11.2",
9390 "pin-project 1.0.8",9470 "pin-project 1.0.10",
9391 "rand 0.7.3",9471 "rand 0.7.3",
9392 "sc-block-builder",9472 "sc-block-builder",
9393 "sc-chain-spec",9473 "sc-chain-spec",
9429 "substrate-prometheus-endpoint",9509 "substrate-prometheus-endpoint",
9430 "tempfile",9510 "tempfile",
9431 "thiserror",9511 "thiserror",
9432 "tokio 1.14.0",9512 "tokio 1.16.1",
9433 "tracing",9513 "tracing",
9434 "tracing-futures",9514 "tracing-futures",
9435]9515]
94369516
9437[[package]]9517[[package]]
9438name = "sc-state-db"9518name = "sc-state-db"
9439version = "0.10.0-dev"9519version = "0.10.0-dev"
9440source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9520source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9441dependencies = [9521dependencies = [
9442 "log",9522 "log",
9443 "parity-scale-codec",9523 "parity-scale-codec",
9451[[package]]9531[[package]]
9452name = "sc-sync-state-rpc"9532name = "sc-sync-state-rpc"
9453version = "0.10.0-dev"9533version = "0.10.0-dev"
9454source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9534source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9455dependencies = [9535dependencies = [
9456 "jsonrpc-core",9536 "jsonrpc-core",
9457 "jsonrpc-core-client",9537 "jsonrpc-core-client",
9473[[package]]9553[[package]]
9474name = "sc-telemetry"9554name = "sc-telemetry"
9475version = "4.0.0-dev"9555version = "4.0.0-dev"
9476source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9556source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9477dependencies = [9557dependencies = [
9478 "chrono",9558 "chrono",
9479 "futures 0.3.18",9559 "futures 0.3.21",
9480 "libp2p",9560 "libp2p",
9481 "log",9561 "log",
9482 "parking_lot 0.11.2",9562 "parking_lot 0.11.2",
9483 "pin-project 1.0.8",9563 "pin-project 1.0.10",
9484 "rand 0.7.3",9564 "rand 0.7.3",
9485 "serde",9565 "serde",
9486 "serde_json",9566 "serde_json",
9491[[package]]9571[[package]]
9492name = "sc-tracing"9572name = "sc-tracing"
9493version = "4.0.0-dev"9573version = "4.0.0-dev"
9494source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9574source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9495dependencies = [9575dependencies = [
9496 "ansi_term",9576 "ansi_term",
9497 "atty",9577 "atty",
9522[[package]]9602[[package]]
9523name = "sc-tracing-proc-macro"9603name = "sc-tracing-proc-macro"
9524version = "4.0.0-dev"9604version = "4.0.0-dev"
9525source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9605source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9526dependencies = [9606dependencies = [
9527 "proc-macro-crate 1.1.0",9607 "proc-macro-crate 1.1.0",
9528 "proc-macro2",9608 "proc-macro2",
9533[[package]]9613[[package]]
9534name = "sc-transaction-pool"9614name = "sc-transaction-pool"
9535version = "4.0.0-dev"9615version = "4.0.0-dev"
9536source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9616source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9537dependencies = [9617dependencies = [
9538 "futures 0.3.18",9618 "futures 0.3.21",
9539 "intervalier",9619 "futures-timer",
9540 "linked-hash-map",9620 "linked-hash-map",
9541 "log",9621 "log",
9542 "parity-scale-codec",9622 "parity-scale-codec",
9560[[package]]9640[[package]]
9561name = "sc-transaction-pool-api"9641name = "sc-transaction-pool-api"
9562version = "4.0.0-dev"9642version = "4.0.0-dev"
9563source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9643source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9564dependencies = [9644dependencies = [
9565 "derive_more",9645 "derive_more",
9566 "futures 0.3.18",9646 "futures 0.3.21",
9567 "log",9647 "log",
9568 "serde",9648 "serde",
9569 "sp-blockchain",9649 "sp-blockchain",
9574[[package]]9654[[package]]
9575name = "sc-utils"9655name = "sc-utils"
9576version = "4.0.0-dev"9656version = "4.0.0-dev"
9577source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"9657source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
9578dependencies = [9658dependencies = [
9579 "futures 0.3.18",9659 "futures 0.3.21",
9580 "futures-timer 3.0.2",9660 "futures-timer",
9581 "lazy_static",9661 "lazy_static",
9662 "parking_lot 0.11.2",
9582 "prometheus",9663 "prometheus",
9583]9664]
95849665
96699750
9670[[package]]9751[[package]]
9671name = "security-framework"9752name = "security-framework"
9672version = "2.4.2"9753version = "2.6.1"
9673source = "registry+https://github.com/rust-lang/crates.io-index"9754source = "registry+https://github.com/rust-lang/crates.io-index"
9674checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87"9755checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
9675dependencies = [9756dependencies = [
9676 "bitflags",9757 "bitflags",
9677 "core-foundation",9758 "core-foundation",
96829763
9683[[package]]9764[[package]]
9684name = "security-framework-sys"9765name = "security-framework-sys"
9685version = "2.4.2"9766version = "2.6.1"
9686source = "registry+https://github.com/rust-lang/crates.io-index"9767source = "registry+https://github.com/rust-lang/crates.io-index"
9687checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e"9768checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
9688dependencies = [9769dependencies = [
9689 "core-foundation-sys",9770 "core-foundation-sys",
9690 "libc",9771 "libc",
97199800
9720[[package]]9801[[package]]
9721name = "semver"9802name = "semver"
9722version = "1.0.4"9803version = "1.0.5"
9723source = "registry+https://github.com/rust-lang/crates.io-index"9804source = "registry+https://github.com/rust-lang/crates.io-index"
9724checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012"9805checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7"
9725dependencies = [9806dependencies = [
9726 "serde",9807 "serde",
9727]9808]
97439824
9744[[package]]9825[[package]]
9745name = "serde"9826name = "serde"
9746version = "1.0.131"9827version = "1.0.136"
9747source = "registry+https://github.com/rust-lang/crates.io-index"9828source = "registry+https://github.com/rust-lang/crates.io-index"
9748checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1"9829checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
9749dependencies = [9830dependencies = [
9750 "serde_derive",9831 "serde_derive",
9751]9832]
97529833
9753[[package]]9834[[package]]
9754name = "serde_derive"9835name = "serde_derive"
9755version = "1.0.131"9836version = "1.0.136"
9756source = "registry+https://github.com/rust-lang/crates.io-index"9837source = "registry+https://github.com/rust-lang/crates.io-index"
9757checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2"9838checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
9758dependencies = [9839dependencies = [
9759 "proc-macro2",9840 "proc-macro2",
9760 "quote",9841 "quote",
97639844
9764[[package]]9845[[package]]
9765name = "serde_json"9846name = "serde_json"
9766version = "1.0.72"9847version = "1.0.78"
9767source = "registry+https://github.com/rust-lang/crates.io-index"9848source = "registry+https://github.com/rust-lang/crates.io-index"
9768checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527"9849checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085"
9769dependencies = [9850dependencies = [
9770 "itoa",9851 "itoa 1.0.1",
9771 "ryu",9852 "ryu",
9772 "serde",9853 "serde",
9773]9854]
98119892
9812[[package]]9893[[package]]
9813name = "sha2"9894name = "sha2"
9814version = "0.9.8"9895version = "0.9.9"
9815source = "registry+https://github.com/rust-lang/crates.io-index"9896source = "registry+https://github.com/rust-lang/crates.io-index"
9816checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa"9897checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
9817dependencies = [9898dependencies = [
9818 "block-buffer 0.9.0",9899 "block-buffer 0.9.0",
9819 "cfg-if 1.0.0",9900 "cfg-if 1.0.0",
9823]9904]
98249905
9825[[package]]9906[[package]]
9907name = "sha2"
9908version = "0.10.1"
9909source = "registry+https://github.com/rust-lang/crates.io-index"
9910checksum = "99c3bd8169c58782adad9290a9af5939994036b76187f7b4f0e6de91dbbfc0ec"
9911dependencies = [
9912 "cfg-if 1.0.0",
9913 "cpufeatures 0.2.1",
9914 "digest 0.10.2",
9915]
9916
9917[[package]]
9826name = "sha3"9918name = "sha3"
9827version = "0.8.2"9919version = "0.8.2"
9828source = "registry+https://github.com/rust-lang/crates.io-index"9920source = "registry+https://github.com/rust-lang/crates.io-index"
98649956
9865[[package]]9957[[package]]
9866name = "signal-hook"9958name = "signal-hook"
9867version = "0.3.12"9959version = "0.3.13"
9868source = "registry+https://github.com/rust-lang/crates.io-index"9960source = "registry+https://github.com/rust-lang/crates.io-index"
9869checksum = "c35dfd12afb7828318348b8c408383cf5071a086c1d4ab1c0f9840ec92dbb922"9961checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d"
9870dependencies = [9962dependencies = [
9871 "libc",9963 "libc",
9872 "signal-hook-registry",9964 "signal-hook-registry",
98839975
9884[[package]]9976[[package]]
9885name = "signature"9977name = "signature"
9886version = "1.4.0"9978version = "1.5.0"
9887source = "registry+https://github.com/rust-lang/crates.io-index"9979source = "registry+https://github.com/rust-lang/crates.io-index"
9888checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788"9980checksum = "f054c6c1a6e95179d6f23ed974060dcefb2d9388bb7256900badad682c499de4"
98899981
9890[[package]]9982[[package]]
9891name = "simba"9983name = "simba"
99079999
9908[[package]]10000[[package]]
9909name = "slot-range-helper"10001name = "slot-range-helper"
9910version = "0.9.14"10002version = "0.9.16"
9911source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"10003source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
9912dependencies = [10004dependencies = [
9913 "enumn",10005 "enumn",
9914 "parity-scale-codec",10006 "parity-scale-codec",
992810020
9929[[package]]10021[[package]]
9930name = "smallvec"10022name = "smallvec"
9931version = "1.7.0"10023version = "1.8.0"
9932source = "registry+https://github.com/rust-lang/crates.io-index"10024source = "registry+https://github.com/rust-lang/crates.io-index"
9933checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309"10025checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
993410026
9935[[package]]10027[[package]]
9936name = "snap"10028name = "snap"
9951 "rand_core 0.6.3",10043 "rand_core 0.6.3",
9952 "ring",10044 "ring",
9953 "rustc_version 0.3.3",10045 "rustc_version 0.3.3",
9954 "sha2 0.9.8",10046 "sha2 0.9.9",
9955 "subtle 2.4.1",10047 "subtle 2.4.1",
9956 "x25519-dalek",10048 "x25519-dalek",
9957]10049]
996910061
9970[[package]]10062[[package]]
9971name = "socket2"10063name = "socket2"
9972version = "0.4.2"10064version = "0.4.4"
9973source = "registry+https://github.com/rust-lang/crates.io-index"10065source = "registry+https://github.com/rust-lang/crates.io-index"
9974checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516"10066checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
9975dependencies = [10067dependencies = [
9976 "libc",10068 "libc",
9977 "winapi 0.3.9",10069 "winapi 0.3.9",
9986 "base64",10078 "base64",
9987 "bytes 1.1.0",10079 "bytes 1.1.0",
9988 "flate2",10080 "flate2",
9989 "futures 0.3.18",10081 "futures 0.3.21",
9990 "httparse",10082 "httparse",
9991 "log",10083 "log",
9992 "rand 0.8.4",10084 "rand 0.8.4",
9996[[package]]10088[[package]]
9997name = "sp-api"10089name = "sp-api"
9998version = "4.0.0-dev"10090version = "4.0.0-dev"
9999source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10091source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10000dependencies = [10092dependencies = [
10001 "hash-db",10093 "hash-db",
10002 "log",10094 "log",
10013[[package]]10105[[package]]
10014name = "sp-api-proc-macro"10106name = "sp-api-proc-macro"
10015version = "4.0.0-dev"10107version = "4.0.0-dev"
10016source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10108source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10017dependencies = [10109dependencies = [
10018 "blake2-rfc",10110 "blake2-rfc",
10019 "proc-macro-crate 1.1.0",10111 "proc-macro-crate 1.1.0",
1002410116
10025[[package]]10117[[package]]
10026name = "sp-application-crypto"10118name = "sp-application-crypto"
10027version = "4.0.0-dev"10119version = "4.0.0"
10028source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10120source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10029dependencies = [10121dependencies = [
10030 "parity-scale-codec",10122 "parity-scale-codec",
10031 "scale-info",10123 "scale-info",
1003710129
10038[[package]]10130[[package]]
10039name = "sp-arithmetic"10131name = "sp-arithmetic"
10040version = "4.0.0-dev"10132version = "4.0.0"
10041source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10133source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10042dependencies = [10134dependencies = [
10043 "integer-sqrt",10135 "integer-sqrt",
10044 "num-traits",10136 "num-traits",
10053[[package]]10145[[package]]
10054name = "sp-authority-discovery"10146name = "sp-authority-discovery"
10055version = "4.0.0-dev"10147version = "4.0.0-dev"
10056source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10148source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10057dependencies = [10149dependencies = [
10058 "parity-scale-codec",10150 "parity-scale-codec",
10059 "scale-info",10151 "scale-info",
10066[[package]]10158[[package]]
10067name = "sp-authorship"10159name = "sp-authorship"
10068version = "4.0.0-dev"10160version = "4.0.0-dev"
10069source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10161source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10070dependencies = [10162dependencies = [
10071 "async-trait",10163 "async-trait",
10072 "parity-scale-codec",10164 "parity-scale-codec",
10078[[package]]10170[[package]]
10079name = "sp-block-builder"10171name = "sp-block-builder"
10080version = "4.0.0-dev"10172version = "4.0.0-dev"
10081source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10173source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10082dependencies = [10174dependencies = [
10083 "parity-scale-codec",10175 "parity-scale-codec",
10084 "sp-api",10176 "sp-api",
10090[[package]]10182[[package]]
10091name = "sp-blockchain"10183name = "sp-blockchain"
10092version = "4.0.0-dev"10184version = "4.0.0-dev"
10093source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10185source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10094dependencies = [10186dependencies = [
10095 "futures 0.3.18",10187 "futures 0.3.21",
10096 "log",10188 "log",
10097 "lru 0.7.0",10189 "lru 0.7.2",
10098 "parity-scale-codec",10190 "parity-scale-codec",
10099 "parking_lot 0.11.2",10191 "parking_lot 0.11.2",
10100 "sp-api",10192 "sp-api",
10108[[package]]10200[[package]]
10109name = "sp-consensus"10201name = "sp-consensus"
10110version = "0.10.0-dev"10202version = "0.10.0-dev"
10111source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10203source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10112dependencies = [10204dependencies = [
10113 "async-trait",10205 "async-trait",
10114 "futures 0.3.18",10206 "futures 0.3.21",
10115 "futures-timer 3.0.2",10207 "futures-timer",
10116 "log",10208 "log",
10117 "parity-scale-codec",10209 "parity-scale-codec",
10118 "sp-core",10210 "sp-core",
10127[[package]]10219[[package]]
10128name = "sp-consensus-aura"10220name = "sp-consensus-aura"
10129version = "0.10.0-dev"10221version = "0.10.0-dev"
10130source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10222source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10131dependencies = [10223dependencies = [
10132 "async-trait",10224 "async-trait",
10133 "parity-scale-codec",10225 "parity-scale-codec",
10145[[package]]10237[[package]]
10146name = "sp-consensus-babe"10238name = "sp-consensus-babe"
10147version = "0.10.0-dev"10239version = "0.10.0-dev"
10148source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10240source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10149dependencies = [10241dependencies = [
10150 "async-trait",10242 "async-trait",
10151 "merlin",10243 "merlin",
10168[[package]]10260[[package]]
10169name = "sp-consensus-slots"10261name = "sp-consensus-slots"
10170version = "0.10.0-dev"10262version = "0.10.0-dev"
10171source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10263source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10172dependencies = [10264dependencies = [
10173 "parity-scale-codec",10265 "parity-scale-codec",
10174 "scale-info",10266 "scale-info",
10180[[package]]10272[[package]]
10181name = "sp-consensus-vrf"10273name = "sp-consensus-vrf"
10182version = "0.10.0-dev"10274version = "0.10.0-dev"
10183source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10275source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10184dependencies = [10276dependencies = [
10185 "parity-scale-codec",10277 "parity-scale-codec",
10186 "schnorrkel",10278 "schnorrkel",
1019110283
10192[[package]]10284[[package]]
10193name = "sp-core"10285name = "sp-core"
10194version = "4.0.0-dev"10286version = "4.1.0-dev"
10195source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10287source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10196dependencies = [10288dependencies = [
10197 "base58",10289 "base58",
10198 "bitflags",10290 "bitflags",
10199 "blake2-rfc",10291 "blake2-rfc",
10200 "byteorder",10292 "byteorder",
10201 "dyn-clonable",10293 "dyn-clonable",
10202 "ed25519-dalek",10294 "ed25519-dalek",
10203 "futures 0.3.18",10295 "futures 0.3.21",
10204 "hash-db",10296 "hash-db",
10205 "hash256-std-hasher",10297 "hash256-std-hasher",
10206 "hex",10298 "hex",
10220 "schnorrkel",10312 "schnorrkel",
10221 "secrecy",10313 "secrecy",
10222 "serde",10314 "serde",
10223 "sha2 0.9.8",10315 "sha2 0.10.1",
10224 "sp-core-hashing",10316 "sp-core-hashing",
10225 "sp-debug-derive",10317 "sp-debug-derive",
10226 "sp-externalities",10318 "sp-externalities",
1023910331
10240[[package]]10332[[package]]
10241name = "sp-core-hashing"10333name = "sp-core-hashing"
10242version = "4.0.0-dev"10334version = "4.0.0"
10243source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10335source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10244dependencies = [10336dependencies = [
10245 "blake2-rfc",10337 "blake2-rfc",
10246 "byteorder",10338 "byteorder",
10247 "sha2 0.9.8",10339 "sha2 0.10.1",
10248 "sp-std",10340 "sp-std",
10249 "tiny-keccak",10341 "tiny-keccak",
10250 "twox-hash",10342 "twox-hash",
10253[[package]]10345[[package]]
10254name = "sp-core-hashing-proc-macro"10346name = "sp-core-hashing-proc-macro"
10255version = "4.0.0-dev"10347version = "4.0.0-dev"
10256source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10348source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10257dependencies = [10349dependencies = [
10258 "proc-macro2",10350 "proc-macro2",
10259 "quote",10351 "quote",
10264[[package]]10356[[package]]
10265name = "sp-database"10357name = "sp-database"
10266version = "4.0.0-dev"10358version = "4.0.0-dev"
10267source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10359source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10268dependencies = [10360dependencies = [
10269 "kvdb",10361 "kvdb",
10270 "parking_lot 0.11.2",10362 "parking_lot 0.11.2",
10271]10363]
1027210364
10273[[package]]10365[[package]]
10274name = "sp-debug-derive"10366name = "sp-debug-derive"
10275version = "4.0.0-dev"10367version = "4.0.0"
10276source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10368source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10277dependencies = [10369dependencies = [
10278 "proc-macro2",10370 "proc-macro2",
10279 "quote",10371 "quote",
1028210374
10283[[package]]10375[[package]]
10284name = "sp-externalities"10376name = "sp-externalities"
10285version = "0.10.0-dev"10377version = "0.10.0"
10286source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10378source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10287dependencies = [10379dependencies = [
10288 "environmental",10380 "environmental",
10289 "parity-scale-codec",10381 "parity-scale-codec",
10294[[package]]10386[[package]]
10295name = "sp-finality-grandpa"10387name = "sp-finality-grandpa"
10296version = "4.0.0-dev"10388version = "4.0.0-dev"
10297source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10389source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10298dependencies = [10390dependencies = [
10299 "finality-grandpa",10391 "finality-grandpa",
10300 "log",10392 "log",
10312[[package]]10404[[package]]
10313name = "sp-inherents"10405name = "sp-inherents"
10314version = "4.0.0-dev"10406version = "4.0.0-dev"
10315source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10407source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10316dependencies = [10408dependencies = [
10317 "async-trait",10409 "async-trait",
10318 "impl-trait-for-tuples",10410 "impl-trait-for-tuples",
1032510417
10326[[package]]10418[[package]]
10327name = "sp-io"10419name = "sp-io"
10328version = "4.0.0-dev"10420version = "4.0.0"
10329source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10421source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10330dependencies = [10422dependencies = [
10331 "futures 0.3.18",10423 "futures 0.3.21",
10332 "hash-db",10424 "hash-db",
10333 "libsecp256k1 0.7.0",10425 "libsecp256k1 0.7.0",
10334 "log",10426 "log",
1034910441
10350[[package]]10442[[package]]
10351name = "sp-keyring"10443name = "sp-keyring"
10352version = "4.0.0-dev"10444version = "4.1.0-dev"
10353source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10445source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10354dependencies = [10446dependencies = [
10355 "lazy_static",10447 "lazy_static",
10356 "sp-core",10448 "sp-core",
10357 "sp-runtime",10449 "sp-runtime",
10358 "strum",10450 "strum 0.22.0",
10359]10451]
1036010452
10361[[package]]10453[[package]]
10362name = "sp-keystore"10454name = "sp-keystore"
10363version = "0.10.0-dev"10455version = "0.10.0"
10364source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10456source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10365dependencies = [10457dependencies = [
10366 "async-trait",10458 "async-trait",
10367 "derive_more",10459 "derive_more",
10368 "futures 0.3.18",10460 "futures 0.3.21",
10369 "merlin",10461 "merlin",
10370 "parity-scale-codec",10462 "parity-scale-codec",
10371 "parking_lot 0.11.2",10463 "parking_lot 0.11.2",
10378[[package]]10470[[package]]
10379name = "sp-maybe-compressed-blob"10471name = "sp-maybe-compressed-blob"
10380version = "4.1.0-dev"10472version = "4.1.0-dev"
10381source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10473source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10382dependencies = [10474dependencies = [
10383 "zstd",10475 "zstd",
10384]10476]
1038510477
10386[[package]]10478[[package]]
10387name = "sp-npos-elections"10479name = "sp-npos-elections"
10388version = "4.0.0-dev"10480version = "4.0.0-dev"
10389source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10481source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10390dependencies = [10482dependencies = [
10391 "parity-scale-codec",10483 "parity-scale-codec",
10392 "scale-info",10484 "scale-info",
10401[[package]]10493[[package]]
10402name = "sp-npos-elections-solution-type"10494name = "sp-npos-elections-solution-type"
10403version = "4.0.0-dev"10495version = "4.0.0-dev"
10404source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10496source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10405dependencies = [10497dependencies = [
10406 "proc-macro-crate 1.1.0",10498 "proc-macro-crate 1.1.0",
10407 "proc-macro2",10499 "proc-macro2",
10412[[package]]10504[[package]]
10413name = "sp-offchain"10505name = "sp-offchain"
10414version = "4.0.0-dev"10506version = "4.0.0-dev"
10415source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10507source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10416dependencies = [10508dependencies = [
10417 "sp-api",10509 "sp-api",
10418 "sp-core",10510 "sp-core",
1042110513
10422[[package]]10514[[package]]
10423name = "sp-panic-handler"10515name = "sp-panic-handler"
10424version = "4.0.0-dev"10516version = "4.0.0"
10425source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10517source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10426dependencies = [10518dependencies = [
10427 "backtrace",10519 "backtrace",
10428 "lazy_static",10520 "lazy_static",
10432[[package]]10524[[package]]
10433name = "sp-rpc"10525name = "sp-rpc"
10434version = "4.0.0-dev"10526version = "4.0.0-dev"
10435source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10527source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10436dependencies = [10528dependencies = [
10437 "rustc-hash",10529 "rustc-hash",
10438 "serde",10530 "serde",
1044110533
10442[[package]]10534[[package]]
10443name = "sp-runtime"10535name = "sp-runtime"
10444version = "4.0.0-dev"10536version = "4.1.0-dev"
10445source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10537source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10446dependencies = [10538dependencies = [
10447 "either",10539 "either",
10448 "hash256-std-hasher",10540 "hash256-std-hasher",
1046310555
10464[[package]]10556[[package]]
10465name = "sp-runtime-interface"10557name = "sp-runtime-interface"
10466version = "4.0.0-dev"10558version = "4.1.0-dev"
10467source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10559source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10468dependencies = [10560dependencies = [
10469 "impl-trait-for-tuples",10561 "impl-trait-for-tuples",
10470 "parity-scale-codec",10562 "parity-scale-codec",
1048010572
10481[[package]]10573[[package]]
10482name = "sp-runtime-interface-proc-macro"10574name = "sp-runtime-interface-proc-macro"
10483version = "4.0.0-dev"10575version = "4.0.0"
10484source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10576source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10485dependencies = [10577dependencies = [
10486 "Inflector",10578 "Inflector",
10487 "proc-macro-crate 1.1.0",10579 "proc-macro-crate 1.1.0",
10491]10583]
1049210584
10493[[package]]10585[[package]]
10494name = "sp-sandbox"
10495version = "0.10.0-dev"
10496source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"
10497dependencies = [
10498 "log",
10499 "parity-scale-codec",
10500 "sp-core",
10501 "sp-io",
10502 "sp-std",
10503 "sp-wasm-interface",
10504 "wasmi",
10505]
10506
10507[[package]]
10508name = "sp-serializer"10586name = "sp-serializer"
10509version = "4.0.0-dev"10587version = "4.0.0-dev"
10510source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10588source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10511dependencies = [10589dependencies = [
10512 "serde",10590 "serde",
10513 "serde_json",10591 "serde_json",
10516[[package]]10594[[package]]
10517name = "sp-session"10595name = "sp-session"
10518version = "4.0.0-dev"10596version = "4.0.0-dev"
10519source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10597source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10520dependencies = [10598dependencies = [
10521 "parity-scale-codec",10599 "parity-scale-codec",
10522 "scale-info",10600 "scale-info",
10530[[package]]10608[[package]]
10531name = "sp-staking"10609name = "sp-staking"
10532version = "4.0.0-dev"10610version = "4.0.0-dev"
10533source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10611source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10534dependencies = [10612dependencies = [
10535 "parity-scale-codec",10613 "parity-scale-codec",
10536 "scale-info",10614 "scale-info",
1054010618
10541[[package]]10619[[package]]
10542name = "sp-state-machine"10620name = "sp-state-machine"
10543version = "0.10.0-dev"10621version = "0.10.0"
10544source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10622source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10545dependencies = [10623dependencies = [
10546 "hash-db",10624 "hash-db",
10547 "log",10625 "log",
1056310641
10564[[package]]10642[[package]]
10565name = "sp-std"10643name = "sp-std"
10566version = "4.0.0-dev"10644version = "4.0.0"
10567source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10645source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
1056810646
10569[[package]]10647[[package]]
10570name = "sp-storage"10648name = "sp-storage"
10571version = "4.0.0-dev"10649version = "4.0.0"
10572source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10650source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10573dependencies = [10651dependencies = [
10574 "impl-serde",10652 "impl-serde",
10575 "parity-scale-codec",10653 "parity-scale-codec",
10582[[package]]10660[[package]]
10583name = "sp-tasks"10661name = "sp-tasks"
10584version = "4.0.0-dev"10662version = "4.0.0-dev"
10585source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10663source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10586dependencies = [10664dependencies = [
10587 "log",10665 "log",
10588 "sp-core",10666 "sp-core",
10595[[package]]10673[[package]]
10596name = "sp-timestamp"10674name = "sp-timestamp"
10597version = "4.0.0-dev"10675version = "4.0.0-dev"
10598source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10676source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10599dependencies = [10677dependencies = [
10600 "async-trait",10678 "async-trait",
10601 "futures-timer 3.0.2",10679 "futures-timer",
10602 "log",10680 "log",
10603 "parity-scale-codec",10681 "parity-scale-codec",
10604 "sp-api",10682 "sp-api",
1061010688
10611[[package]]10689[[package]]
10612name = "sp-tracing"10690name = "sp-tracing"
10613version = "4.0.0-dev"10691version = "4.0.0"
10614source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10692source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10615dependencies = [10693dependencies = [
10616 "parity-scale-codec",10694 "parity-scale-codec",
10617 "sp-std",10695 "sp-std",
10623[[package]]10701[[package]]
10624name = "sp-transaction-pool"10702name = "sp-transaction-pool"
10625version = "4.0.0-dev"10703version = "4.0.0-dev"
10626source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10704source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10627dependencies = [10705dependencies = [
10628 "sp-api",10706 "sp-api",
10629 "sp-runtime",10707 "sp-runtime",
10632[[package]]10710[[package]]
10633name = "sp-transaction-storage-proof"10711name = "sp-transaction-storage-proof"
10634version = "4.0.0-dev"10712version = "4.0.0-dev"
10635source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10713source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10636dependencies = [10714dependencies = [
10637 "async-trait",10715 "async-trait",
10638 "log",10716 "log",
1064710725
10648[[package]]10726[[package]]
10649name = "sp-trie"10727name = "sp-trie"
10650version = "4.0.0-dev"10728version = "4.0.0"
10651source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10729source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10652dependencies = [10730dependencies = [
10653 "hash-db",10731 "hash-db",
10654 "memory-db",10732 "memory-db",
10663[[package]]10741[[package]]
10664name = "sp-version"10742name = "sp-version"
10665version = "4.0.0-dev"10743version = "4.0.0-dev"
10666source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10744source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10667dependencies = [10745dependencies = [
10668 "impl-serde",10746 "impl-serde",
10669 "parity-scale-codec",10747 "parity-scale-codec",
10670 "parity-wasm 0.42.2",10748 "parity-wasm 0.42.2",
10671 "scale-info",10749 "scale-info",
10672 "serde",10750 "serde",
10751 "sp-core-hashing-proc-macro",
10673 "sp-runtime",10752 "sp-runtime",
10674 "sp-std",10753 "sp-std",
10675 "sp-version-proc-macro",10754 "sp-version-proc-macro",
10679[[package]]10758[[package]]
10680name = "sp-version-proc-macro"10759name = "sp-version-proc-macro"
10681version = "4.0.0-dev"10760version = "4.0.0-dev"
10682source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10761source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10683dependencies = [10762dependencies = [
10684 "parity-scale-codec",10763 "parity-scale-codec",
10685 "proc-macro2",10764 "proc-macro2",
1068910768
10690[[package]]10769[[package]]
10691name = "sp-wasm-interface"10770name = "sp-wasm-interface"
10692version = "4.0.0-dev"10771version = "4.1.0-dev"
10693source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10772source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10694dependencies = [10773dependencies = [
10695 "impl-trait-for-tuples",10774 "impl-trait-for-tuples",
10775 "log",
10696 "parity-scale-codec",10776 "parity-scale-codec",
10697 "sp-std",10777 "sp-std",
10698 "wasmi",10778 "wasmi",
10779 "wasmtime",
10699]10780]
1070010781
10701[[package]]10782[[package]]
1070610787
10707[[package]]10788[[package]]
10708name = "ss58-registry"10789name = "ss58-registry"
10709version = "1.9.0"10790version = "1.12.0"
10710source = "registry+https://github.com/rust-lang/crates.io-index"10791source = "registry+https://github.com/rust-lang/crates.io-index"
10711checksum = "827441708a5dd8ca54e6b79690dc06d1bede78e61961e667f683c23c16ef964c"10792checksum = "8319f44e20b42e5c11b88b1ad4130c35fe2974665a007b08b02322070177136a"
10712dependencies = [10793dependencies = [
10713 "Inflector",10794 "Inflector",
10714 "proc-macro2",10795 "proc-macro2",
1078210863
10783[[package]]10864[[package]]
10784name = "structopt"10865name = "structopt"
10785version = "0.3.25"10866version = "0.3.26"
10786source = "registry+https://github.com/rust-lang/crates.io-index"10867source = "registry+https://github.com/rust-lang/crates.io-index"
10787checksum = "40b9788f4202aa75c240ecc9c15c65185e6a39ccdeb0fd5d008b98825464c87c"10868checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
10788dependencies = [10869dependencies = [
10789 "clap",10870 "clap",
10790 "lazy_static",10871 "lazy_static",
10810source = "registry+https://github.com/rust-lang/crates.io-index"10891source = "registry+https://github.com/rust-lang/crates.io-index"
10811checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"10892checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e"
10812dependencies = [10893dependencies = [
10813 "strum_macros",10894 "strum_macros 0.22.0",
10814]10895]
1081510896
10816[[package]]10897[[package]]
10898name = "strum"
10899version = "0.23.0"
10900source = "registry+https://github.com/rust-lang/crates.io-index"
10901checksum = "cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb"
10902dependencies = [
10903 "strum_macros 0.23.1",
10904]
10905
10906[[package]]
10817name = "strum_macros"10907name = "strum_macros"
10818version = "0.22.0"10908version = "0.22.0"
10819source = "registry+https://github.com/rust-lang/crates.io-index"10909source = "registry+https://github.com/rust-lang/crates.io-index"
10826]10916]
1082710917
10828[[package]]10918[[package]]
10919name = "strum_macros"
10920version = "0.23.1"
10921source = "registry+https://github.com/rust-lang/crates.io-index"
10922checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38"
10923dependencies = [
10924 "heck",
10925 "proc-macro2",
10926 "quote",
10927 "rustversion",
10928 "syn",
10929]
10930
10931[[package]]
10829name = "substrate-bip39"10932name = "substrate-bip39"
10830version = "0.4.4"10933version = "0.4.4"
10831source = "registry+https://github.com/rust-lang/crates.io-index"10934source = "registry+https://github.com/rust-lang/crates.io-index"
10834 "hmac 0.11.0",10937 "hmac 0.11.0",
10835 "pbkdf2 0.8.0",10938 "pbkdf2 0.8.0",
10836 "schnorrkel",10939 "schnorrkel",
10837 "sha2 0.9.8",10940 "sha2 0.9.9",
10838 "zeroize",10941 "zeroize",
10839]10942]
1084010943
10841[[package]]10944[[package]]
10842name = "substrate-build-script-utils"10945name = "substrate-build-script-utils"
10843version = "3.0.0"10946version = "3.0.0"
10844source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10947source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10845dependencies = [10948dependencies = [
10846 "platforms",10949 "platforms",
10847]10950]
1084810951
10849[[package]]10952[[package]]
10850name = "substrate-frame-rpc-system"10953name = "substrate-frame-rpc-system"
10851version = "4.0.0-dev"10954version = "4.0.0-dev"
10852source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10955source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10853dependencies = [10956dependencies = [
10854 "frame-system-rpc-runtime-api",10957 "frame-system-rpc-runtime-api",
10855 "futures 0.3.18",10958 "futures 0.3.21",
10856 "jsonrpc-core",10959 "jsonrpc-core",
10857 "jsonrpc-core-client",10960 "jsonrpc-core-client",
10858 "jsonrpc-derive",10961 "jsonrpc-derive",
10871[[package]]10974[[package]]
10872name = "substrate-prometheus-endpoint"10975name = "substrate-prometheus-endpoint"
10873version = "0.10.0-dev"10976version = "0.10.0-dev"
10874source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10977source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10875dependencies = [10978dependencies = [
10876 "async-std",10979 "async-std",
10877 "derive_more",10980 "derive_more",
10878 "futures-util",10981 "futures-util",
10879 "hyper",10982 "hyper",
10880 "log",10983 "log",
10881 "prometheus",10984 "prometheus",
10882 "tokio 1.14.0",10985 "tokio 1.16.1",
10883]10986]
1088410987
10885[[package]]10988[[package]]
10886name = "substrate-test-client"10989name = "substrate-test-client"
10887version = "2.0.1"10990version = "2.0.1"
10888source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"10991source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10889dependencies = [10992dependencies = [
10890 "async-trait",10993 "async-trait",
10891 "futures 0.3.18",10994 "futures 0.3.21",
10892 "hex",10995 "hex",
10893 "parity-scale-codec",10996 "parity-scale-codec",
10894 "sc-client-api",10997 "sc-client-api",
10911[[package]]11014[[package]]
10912name = "substrate-test-utils"11015name = "substrate-test-utils"
10913version = "4.0.0-dev"11016version = "4.0.0-dev"
10914source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"11017source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10915dependencies = [11018dependencies = [
10916 "futures 0.3.18",11019 "futures 0.3.21",
10917 "substrate-test-utils-derive",11020 "substrate-test-utils-derive",
10918 "tokio 1.14.0",11021 "tokio 1.16.1",
10919]11022]
1092011023
10921[[package]]11024[[package]]
10922name = "substrate-test-utils-derive"11025name = "substrate-test-utils-derive"
10923version = "0.10.0-dev"11026version = "0.10.0-dev"
10924source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"11027source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10925dependencies = [11028dependencies = [
10926 "proc-macro-crate 1.1.0",11029 "proc-macro-crate 1.1.0",
10927 "proc-macro2",11030 "proc-macro2",
10932[[package]]11035[[package]]
10933name = "substrate-wasm-builder"11036name = "substrate-wasm-builder"
10934version = "5.0.0-dev"11037version = "5.0.0-dev"
10935source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"11038source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
10936dependencies = [11039dependencies = [
10937 "ansi_term",11040 "ansi_term",
10938 "build-helper",11041 "build-helper",
1095811061
10959[[package]]11062[[package]]
10960name = "syn"11063name = "syn"
10961version = "1.0.82"11064version = "1.0.86"
10962source = "registry+https://github.com/rust-lang/crates.io-index"11065source = "registry+https://github.com/rust-lang/crates.io-index"
10963checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59"11066checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
10964dependencies = [11067dependencies = [
10965 "proc-macro2",11068 "proc-macro2",
10966 "quote",11069 "quote",
1098711090
10988[[package]]11091[[package]]
10989name = "target-lexicon"11092name = "target-lexicon"
10990version = "0.12.2"11093version = "0.12.3"
10991source = "registry+https://github.com/rust-lang/crates.io-index"11094source = "registry+https://github.com/rust-lang/crates.io-index"
10992checksum = "d9bffcddbc2458fa3e6058414599e3c838a022abae82e5c67b4f7f80298d5bff"11095checksum = "d7fa7e55043acb85fca6b3c01485a2eeb6b69c5d21002e273c79e465f43b7ac1"
1099311096
10994[[package]]11097[[package]]
10995name = "tempfile"11098name = "tempfile"
10996version = "3.2.0"11099version = "3.3.0"
10997source = "registry+https://github.com/rust-lang/crates.io-index"11100source = "registry+https://github.com/rust-lang/crates.io-index"
10998checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"11101checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
10999dependencies = [11102dependencies = [
11000 "cfg-if 1.0.0",11103 "cfg-if 1.0.0",
11104 "fastrand",
11001 "libc",11105 "libc",
11002 "rand 0.8.4",
11003 "redox_syscall 0.2.10",11106 "redox_syscall 0.2.10",
11004 "remove_dir_all",11107 "remove_dir_all",
11005 "winapi 0.3.9",11108 "winapi 0.3.9",
11015]11118]
1101611119
11017[[package]]11120[[package]]
11121name = "test-runtime-constants"
11122version = "0.9.16"
11123source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
11124dependencies = [
11125 "frame-support",
11126 "polkadot-primitives",
11127 "polkadot-runtime-common",
11128 "smallvec",
11129 "sp-runtime",
11130]
11131
11132[[package]]
11018name = "textwrap"11133name = "textwrap"
11019version = "0.11.0"11134version = "0.11.0"
11020source = "registry+https://github.com/rust-lang/crates.io-index"11135source = "registry+https://github.com/rust-lang/crates.io-index"
1104511160
11046[[package]]11161[[package]]
11047name = "thread_local"11162name = "thread_local"
11048version = "1.1.3"11163version = "1.1.4"
11049source = "registry+https://github.com/rust-lang/crates.io-index"11164source = "registry+https://github.com/rust-lang/crates.io-index"
11050checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd"11165checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
11051dependencies = [11166dependencies = [
11052 "once_cell",11167 "once_cell",
11053]11168]
1106311178
11064[[package]]11179[[package]]
11065name = "thrift"11180name = "thrift"
11066version = "0.13.0"11181version = "0.15.0"
11067source = "registry+https://github.com/rust-lang/crates.io-index"11182source = "registry+https://github.com/rust-lang/crates.io-index"
11068checksum = "0c6d965454947cc7266d22716ebfd07b18d84ebaf35eec558586bbb2a8cb6b5b"11183checksum = "b82ca8f46f95b3ce96081fe3dd89160fdea970c254bb72925255d1b62aae692e"
11069dependencies = [11184dependencies = [
11070 "byteorder",11185 "byteorder",
11071 "integer-encoding",11186 "integer-encoding",
11097 "pbkdf2 0.4.0",11212 "pbkdf2 0.4.0",
11098 "rand 0.7.3",11213 "rand 0.7.3",
11099 "rustc-hash",11214 "rustc-hash",
11100 "sha2 0.9.8",11215 "sha2 0.9.9",
11101 "thiserror",11216 "thiserror",
11102 "unicode-normalization",11217 "unicode-normalization",
11103 "wasm-bindgen",11218 "wasm-bindgen",
1114211257
11143[[package]]11258[[package]]
11144name = "tokio"11259name = "tokio"
11145version = "1.14.0"11260version = "1.16.1"
11146source = "registry+https://github.com/rust-lang/crates.io-index"11261source = "registry+https://github.com/rust-lang/crates.io-index"
11147checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144"11262checksum = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a"
11148dependencies = [11263dependencies = [
11149 "autocfg",
11150 "bytes 1.1.0",11264 "bytes 1.1.0",
11151 "libc",11265 "libc",
11152 "memchr",11266 "memchr",
11153 "mio 0.7.14",11267 "mio 0.7.14",
11154 "num_cpus",11268 "num_cpus",
11155 "once_cell",11269 "once_cell",
11156 "pin-project-lite 0.2.7",11270 "pin-project-lite 0.2.8",
11157 "signal-hook-registry",11271 "signal-hook-registry",
11158 "tokio-macros 1.6.0",11272 "tokio-macros 1.7.0",
11159 "winapi 0.3.9",11273 "winapi 0.3.9",
11160]11274]
1116111275
1117211286
11173[[package]]11287[[package]]
11174name = "tokio-macros"11288name = "tokio-macros"
11175version = "1.6.0"11289version = "1.7.0"
11176source = "registry+https://github.com/rust-lang/crates.io-index"11290source = "registry+https://github.com/rust-lang/crates.io-index"
11177checksum = "c9efc1aba077437943f7515666aa2b882dfabfbfdf89c819ea75a8d6e9eaba5e"11291checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7"
11178dependencies = [11292dependencies = [
11179 "proc-macro2",11293 "proc-macro2",
11180 "quote",11294 "quote",
11188checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"11302checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
11189dependencies = [11303dependencies = [
11190 "rustls",11304 "rustls",
11191 "tokio 1.14.0",11305 "tokio 1.16.1",
11192 "webpki",11306 "webpki",
11193]11307]
1119411308
11199checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"11313checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3"
11200dependencies = [11314dependencies = [
11201 "futures-core",11315 "futures-core",
11202 "pin-project-lite 0.2.7",11316 "pin-project-lite 0.2.8",
11203 "tokio 1.14.0",11317 "tokio 1.16.1",
11204]11318]
1120511319
11206[[package]]11320[[package]]
11214 "futures-io",11328 "futures-io",
11215 "futures-sink",11329 "futures-sink",
11216 "log",11330 "log",
11217 "pin-project-lite 0.2.7",11331 "pin-project-lite 0.2.8",
11218 "tokio 1.14.0",11332 "tokio 1.16.1",
11219]11333]
1122011334
11221[[package]]11335[[package]]
1123511349
11236[[package]]11350[[package]]
11237name = "tracing"11351name = "tracing"
11238version = "0.1.29"11352version = "0.1.30"
11239source = "registry+https://github.com/rust-lang/crates.io-index"11353source = "registry+https://github.com/rust-lang/crates.io-index"
11240checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105"11354checksum = "2d8d93354fe2a8e50d5953f5ae2e47a3fc2ef03292e7ea46e3cc38f549525fb9"
11241dependencies = [11355dependencies = [
11242 "cfg-if 1.0.0",11356 "cfg-if 1.0.0",
11243 "pin-project-lite 0.2.7",11357 "pin-project-lite 0.2.8",
11244 "tracing-attributes",11358 "tracing-attributes",
11245 "tracing-core",11359 "tracing-core",
11246]11360]
1124711361
11248[[package]]11362[[package]]
11249name = "tracing-attributes"11363name = "tracing-attributes"
11250version = "0.1.18"11364version = "0.1.19"
11251source = "registry+https://github.com/rust-lang/crates.io-index"11365source = "registry+https://github.com/rust-lang/crates.io-index"
11252checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e"11366checksum = "8276d9a4a3a558d7b7ad5303ad50b53d58264641b82914b7ada36bd762e7a716"
11253dependencies = [11367dependencies = [
11254 "proc-macro2",11368 "proc-macro2",
11255 "quote",11369 "quote",
1125811372
11259[[package]]11373[[package]]
11260name = "tracing-core"11374name = "tracing-core"
11261version = "0.1.21"11375version = "0.1.22"
11262source = "registry+https://github.com/rust-lang/crates.io-index"11376source = "registry+https://github.com/rust-lang/crates.io-index"
11263checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4"11377checksum = "03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23"
11264dependencies = [11378dependencies = [
11265 "lazy_static",11379 "lazy_static",
11380 "valuable",
11266]11381]
1126711382
11268[[package]]11383[[package]]
11271source = "registry+https://github.com/rust-lang/crates.io-index"11386source = "registry+https://github.com/rust-lang/crates.io-index"
11272checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"11387checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
11273dependencies = [11388dependencies = [
11274 "pin-project 1.0.8",11389 "pin-project 1.0.10",
11275 "tracing",11390 "tracing",
11276]11391]
1127711392
1128811403
11289[[package]]11404[[package]]
11290name = "tracing-serde"11405name = "tracing-serde"
11291version = "0.1.2"11406version = "0.1.3"
11292source = "registry+https://github.com/rust-lang/crates.io-index"11407source = "registry+https://github.com/rust-lang/crates.io-index"
11293checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b"11408checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1"
11294dependencies = [11409dependencies = [
11295 "serde",11410 "serde",
11296 "tracing-core",11411 "tracing-core",
1132111436
11322[[package]]11437[[package]]
11323name = "trie-db"11438name = "trie-db"
11324version = "0.22.6"11439version = "0.23.1"
11325source = "registry+https://github.com/rust-lang/crates.io-index"11440source = "registry+https://github.com/rust-lang/crates.io-index"
11326checksum = "9eac131e334e81b6b3be07399482042838adcd7957aa0010231d0813e39e02fa"11441checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83"
11327dependencies = [11442dependencies = [
11328 "hash-db",11443 "hash-db",
11329 "hashbrown",11444 "hashbrown 0.12.0",
11330 "log",11445 "log",
11331 "rustc-hex",11446 "rustc-hex",
11332 "smallvec",11447 "smallvec",
11333]11448]
1133411449
11335[[package]]11450[[package]]
11336name = "trie-root"11451name = "trie-root"
11337version = "0.16.0"11452version = "0.17.0"
11338source = "registry+https://github.com/rust-lang/crates.io-index"11453source = "registry+https://github.com/rust-lang/crates.io-index"
11339checksum = "652931506d2c1244d7217a70b99f56718a7b4161b37f04e7cd868072a99f68cd"11454checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891"
11340dependencies = [11455dependencies = [
11341 "hash-db",11456 "hash-db",
11342]11457]
1135311468
11354[[package]]11469[[package]]
11355name = "trust-dns-proto"11470name = "trust-dns-proto"
11356version = "0.20.3"11471version = "0.20.4"
11357source = "registry+https://github.com/rust-lang/crates.io-index"11472source = "registry+https://github.com/rust-lang/crates.io-index"
11358checksum = "ad0d7f5db438199a6e2609debe3f69f808d074e0a2888ee0bccb45fe234d03f4"11473checksum = "ca94d4e9feb6a181c690c4040d7a24ef34018d8313ac5044a61d21222ae24e31"
11359dependencies = [11474dependencies = [
11360 "async-trait",11475 "async-trait",
11361 "cfg-if 1.0.0",11476 "cfg-if 1.0.0",
1137711492
11378[[package]]11493[[package]]
11379name = "trust-dns-resolver"11494name = "trust-dns-resolver"
11380version = "0.20.3"11495version = "0.20.4"
11381source = "registry+https://github.com/rust-lang/crates.io-index"11496source = "registry+https://github.com/rust-lang/crates.io-index"
11382checksum = "f6ad17b608a64bd0735e67bde16b0636f8aa8591f831a25d18443ed00a699770"11497checksum = "ecae383baad9995efaa34ce8e57d12c3f305e545887472a492b838f4b5cfb77a"
11383dependencies = [11498dependencies = [
11384 "cfg-if 1.0.0",11499 "cfg-if 1.0.0",
11385 "futures-util",11500 "futures-util",
11403[[package]]11518[[package]]
11404name = "try-runtime-cli"11519name = "try-runtime-cli"
11405version = "0.10.0-dev"11520version = "0.10.0-dev"
11406source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.14#de6033a2aa4f0191877200516fbc2655399faa4b"11521source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.16#4aeb95f7f38fcd519e2628f32f79044a8fef99d5"
11407dependencies = [11522dependencies = [
11408 "jsonrpsee",11523 "jsonrpsee",
11409 "log",11524 "log",
11422 "sp-state-machine",11537 "sp-state-machine",
11423 "sp-version",11538 "sp-version",
11424 "structopt",11539 "structopt",
11540 "zstd",
11425]11541]
1142611542
11427[[package]]11543[[package]]
1143211548
11433[[package]]11549[[package]]
11434name = "twox-hash"11550name = "twox-hash"
11435version = "1.6.1"11551version = "1.6.2"
11436source = "registry+https://github.com/rust-lang/crates.io-index"11552source = "registry+https://github.com/rust-lang/crates.io-index"
11437checksum = "1f559b464de2e2bdabcac6a210d12e9b5a5973c251e102c44c585c71d51bd78e"11553checksum = "4ee73e6e4924fe940354b8d4d98cad5231175d615cd855b758adc658c0aac6a0"
11438dependencies = [11554dependencies = [
11439 "cfg-if 1.0.0",11555 "cfg-if 1.0.0",
11440 "rand 0.8.4",11556 "rand 0.8.4",
1144311559
11444[[package]]11560[[package]]
11445name = "typenum"11561name = "typenum"
11446version = "1.14.0"11562version = "1.15.0"
11447source = "registry+https://github.com/rust-lang/crates.io-index"11563source = "registry+https://github.com/rust-lang/crates.io-index"
11448checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec"11564checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
1144911565
11450[[package]]11566[[package]]
11451name = "uc-rpc"11567name = "uc-rpc"
1147311589
11474[[package]]11590[[package]]
11475name = "uint"11591name = "uint"
11476version = "0.9.1"11592version = "0.9.3"
11477source = "registry+https://github.com/rust-lang/crates.io-index"11593source = "registry+https://github.com/rust-lang/crates.io-index"
11478checksum = "6470ab50f482bde894a037a57064480a246dbfdd5960bd65a44824693f08da5f"11594checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0"
11479dependencies = [11595dependencies = [
11480 "byteorder",11596 "byteorder",
11481 "crunchy",11597 "crunchy",
1150911625
11510[[package]]11626[[package]]
11511name = "unicode-segmentation"11627name = "unicode-segmentation"
11512version = "1.8.0"11628version = "1.9.0"
11513source = "registry+https://github.com/rust-lang/crates.io-index"11629source = "registry+https://github.com/rust-lang/crates.io-index"
11514checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"11630checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
1151511631
11516[[package]]11632[[package]]
11517name = "unicode-width"11633name = "unicode-width"
1152711643
11528[[package]]11644[[package]]
11529name = "unique-node"11645name = "unique-node"
11530version = "0.9.14"11646version = "0.9.16"
11531dependencies = [11647dependencies = [
11532 "cumulus-client-cli",11648 "cumulus-client-cli",
11533 "cumulus-client-collator",11649 "cumulus-client-collator",
11537 "cumulus-client-service",11653 "cumulus-client-service",
11538 "cumulus-primitives-core",11654 "cumulus-primitives-core",
11539 "cumulus-primitives-parachain-inherent",11655 "cumulus-primitives-parachain-inherent",
11656 "cumulus-relay-chain-interface",
11657 "cumulus-relay-chain-local",
11540 "fc-consensus",11658 "fc-consensus",
11541 "fc-db",11659 "fc-db",
11542 "fc-mapping-sync",11660 "fc-mapping-sync",
11546 "fp-rpc",11664 "fp-rpc",
11547 "frame-benchmarking",11665 "frame-benchmarking",
11548 "frame-benchmarking-cli",11666 "frame-benchmarking-cli",
11549 "futures 0.3.18",11667 "futures 0.3.21",
11550 "jsonrpc-core",11668 "jsonrpc-core",
11551 "jsonrpc-pubsub",11669 "jsonrpc-pubsub",
11552 "log",11670 "log",
11610 "fc-rpc",11728 "fc-rpc",
11611 "fc-rpc-core",11729 "fc-rpc-core",
11612 "fp-rpc",11730 "fp-rpc",
11613 "futures 0.3.18",11731 "futures 0.3.21",
11614 "jsonrpc-core",11732 "jsonrpc-core",
11615 "jsonrpc-pubsub",11733 "jsonrpc-pubsub",
11616 "pallet-ethereum",11734 "pallet-ethereum",
1164811766
11649[[package]]11767[[package]]
11650name = "unique-runtime"11768name = "unique-runtime"
11651version = "0.9.14"11769version = "0.9.16"
11652dependencies = [11770dependencies = [
11653 "cumulus-pallet-aura-ext",11771 "cumulus-pallet-aura-ext",
11654 "cumulus-pallet-dmp-queue",11772 "cumulus-pallet-dmp-queue",
11671 "orml-vesting",11789 "orml-vesting",
11672 "pallet-aura",11790 "pallet-aura",
11673 "pallet-balances",11791 "pallet-balances",
11792 "pallet-base-fee",
11674 "pallet-common",11793 "pallet-common",
11675 "pallet-ethereum",11794 "pallet-ethereum",
11676 "pallet-evm",11795 "pallet-evm",
11726source = "registry+https://github.com/rust-lang/crates.io-index"11845source = "registry+https://github.com/rust-lang/crates.io-index"
11727checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"11846checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
11728dependencies = [11847dependencies = [
11729 "generic-array 0.14.4",11848 "generic-array 0.14.5",
11730 "subtle 2.4.1",11849 "subtle 2.4.1",
11731]11850]
1173211851
11805[[package]]11924[[package]]
11806name = "up-sponsorship"11925name = "up-sponsorship"
11807version = "0.1.0"11926version = "0.1.0"
11808source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.14#858001a6fd841614eb3bc47562e1a08685e6c8df"11927source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.16#a08e9828d44c54ec9905e9c7f642f0e734f92780"
11809dependencies = [11928dependencies = [
11810 "impl-trait-for-tuples",11929 "impl-trait-for-tuples",
11811]11930]
11834]11953]
1183511954
11836[[package]]11955[[package]]
11956name = "valuable"
11957version = "0.1.0"
11958source = "registry+https://github.com/rust-lang/crates.io-index"
11959checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
11960
11961[[package]]
11837name = "value-bag"11962name = "value-bag"
11838version = "1.0.0-alpha.8"11963version = "1.0.0-alpha.8"
11839source = "registry+https://github.com/rust-lang/crates.io-index"11964source = "registry+https://github.com/rust-lang/crates.io-index"
1185711982
11858[[package]]11983[[package]]
11859name = "version_check"11984name = "version_check"
11860version = "0.9.3"11985version = "0.9.4"
11861source = "registry+https://github.com/rust-lang/crates.io-index"11986source = "registry+https://github.com/rust-lang/crates.io-index"
11862checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"11987checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
1186311988
11864[[package]]11989[[package]]
11865name = "void"11990name = "void"
1190812033
11909[[package]]12034[[package]]
11910name = "wasm-bindgen"12035name = "wasm-bindgen"
11911version = "0.2.78"12036version = "0.2.79"
11912source = "registry+https://github.com/rust-lang/crates.io-index"12037source = "registry+https://github.com/rust-lang/crates.io-index"
11913checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce"12038checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06"
11914dependencies = [12039dependencies = [
11915 "cfg-if 1.0.0",12040 "cfg-if 1.0.0",
11916 "wasm-bindgen-macro",12041 "wasm-bindgen-macro",
11917]12042]
1191812043
11919[[package]]12044[[package]]
11920name = "wasm-bindgen-backend"12045name = "wasm-bindgen-backend"
11921version = "0.2.78"12046version = "0.2.79"
11922source = "registry+https://github.com/rust-lang/crates.io-index"12047source = "registry+https://github.com/rust-lang/crates.io-index"
11923checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b"12048checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca"
11924dependencies = [12049dependencies = [
11925 "bumpalo",12050 "bumpalo",
11926 "lazy_static",12051 "lazy_static",
1193312058
11934[[package]]12059[[package]]
11935name = "wasm-bindgen-futures"12060name = "wasm-bindgen-futures"
11936version = "0.4.28"12061version = "0.4.29"
11937source = "registry+https://github.com/rust-lang/crates.io-index"12062source = "registry+https://github.com/rust-lang/crates.io-index"
11938checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39"12063checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395"
11939dependencies = [12064dependencies = [
11940 "cfg-if 1.0.0",12065 "cfg-if 1.0.0",
11941 "js-sys",12066 "js-sys",
1194512070
11946[[package]]12071[[package]]
11947name = "wasm-bindgen-macro"12072name = "wasm-bindgen-macro"
11948version = "0.2.78"12073version = "0.2.79"
11949source = "registry+https://github.com/rust-lang/crates.io-index"12074source = "registry+https://github.com/rust-lang/crates.io-index"
11950checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9"12075checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01"
11951dependencies = [12076dependencies = [
11952 "quote",12077 "quote",
11953 "wasm-bindgen-macro-support",12078 "wasm-bindgen-macro-support",
11954]12079]
1195512080
11956[[package]]12081[[package]]
11957name = "wasm-bindgen-macro-support"12082name = "wasm-bindgen-macro-support"
11958version = "0.2.78"12083version = "0.2.79"
11959source = "registry+https://github.com/rust-lang/crates.io-index"12084source = "registry+https://github.com/rust-lang/crates.io-index"
11960checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab"12085checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc"
11961dependencies = [12086dependencies = [
11962 "proc-macro2",12087 "proc-macro2",
11963 "quote",12088 "quote",
1196812093
11969[[package]]12094[[package]]
11970name = "wasm-bindgen-shared"12095name = "wasm-bindgen-shared"
11971version = "0.2.78"12096version = "0.2.79"
11972source = "registry+https://github.com/rust-lang/crates.io-index"12097source = "registry+https://github.com/rust-lang/crates.io-index"
11973checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc"12098checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
1197412099
11975[[package]]12100[[package]]
11976name = "wasm-gc-api"12101name = "wasm-gc-api"
11984]12109]
1198512110
11986[[package]]12111[[package]]
12112name = "wasm-instrument"
12113version = "0.1.1"
12114source = "registry+https://github.com/rust-lang/crates.io-index"
12115checksum = "962e5b0401bbb6c887f54e69b8c496ea36f704df65db73e81fd5ff8dc3e63a9f"
12116dependencies = [
12117 "parity-wasm 0.42.2",
12118]
12119
12120[[package]]
11987name = "wasm-timer"12121name = "wasm-timer"
11988version = "0.2.5"12122version = "0.2.5"
11989source = "registry+https://github.com/rust-lang/crates.io-index"12123source = "registry+https://github.com/rust-lang/crates.io-index"
11990checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"12124checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
11991dependencies = [12125dependencies = [
11992 "futures 0.3.18",12126 "futures 0.3.21",
11993 "js-sys",12127 "js-sys",
11994 "parking_lot 0.11.2",12128 "parking_lot 0.11.2",
11995 "pin-utils",12129 "pin-utils",
12006dependencies = [12140dependencies = [
12007 "downcast-rs",12141 "downcast-rs",
12008 "libc",12142 "libc",
12009 "libm",
12010 "memory_units",12143 "memory_units",
12011 "num-rational 0.2.4",12144 "num-rational 0.2.4",
12012 "num-traits",12145 "num-traits",
1203112164
12032[[package]]12165[[package]]
12033name = "wasmtime"12166name = "wasmtime"
12034version = "0.31.0"12167version = "0.33.0"
12035source = "registry+https://github.com/rust-lang/crates.io-index"12168source = "registry+https://github.com/rust-lang/crates.io-index"
12036checksum = "311d06b0c49346d1fbf48a17052e844036b95a7753c1afb34e8c0af3f6b5bb13"12169checksum = "414be1bc5ca12e755ffd3ff7acc3a6d1979922f8237fc34068b2156cebcc3270"
12037dependencies = [12170dependencies = [
12038 "anyhow",12171 "anyhow",
12039 "backtrace",12172 "backtrace",
1206312196
12064[[package]]12197[[package]]
12065name = "wasmtime-cache"12198name = "wasmtime-cache"
12066version = "0.31.0"12199version = "0.33.0"
12067source = "registry+https://github.com/rust-lang/crates.io-index"12200source = "registry+https://github.com/rust-lang/crates.io-index"
12068checksum = "36147930a4995137dc096e5b17a573b446799be2bbaea433e821ce6a80abe2c5"12201checksum = "8b9b4cd1949206fda9241faf8c460a7d797aa1692594d3dd6bc1cbfa57ee20d0"
12069dependencies = [12202dependencies = [
12070 "anyhow",12203 "anyhow",
12071 "base64",12204 "base64",
12072 "bincode",12205 "bincode",
12073 "directories-next",12206 "directories-next",
12074 "file-per-thread-logger",12207 "file-per-thread-logger",
12075 "log",12208 "log",
12076 "rsix",12209 "rustix",
12077 "serde",12210 "serde",
12078 "sha2 0.9.8",12211 "sha2 0.9.9",
12079 "toml",12212 "toml",
12080 "winapi 0.3.9",12213 "winapi 0.3.9",
12081 "zstd",12214 "zstd",
12082]12215]
1208312216
12084[[package]]12217[[package]]
12085name = "wasmtime-cranelift"12218name = "wasmtime-cranelift"
12086version = "0.31.0"12219version = "0.33.0"
12087source = "registry+https://github.com/rust-lang/crates.io-index"12220source = "registry+https://github.com/rust-lang/crates.io-index"
12088checksum = "ab3083a47e1ede38aac06a1d9831640d673f9aeda0b82a64e4ce002f3432e2e7"12221checksum = "a4693d33725773615a4c9957e4aa731af57b27dca579702d1d8ed5750760f1a9"
12089dependencies = [12222dependencies = [
12090 "anyhow",12223 "anyhow",
12091 "cranelift-codegen",12224 "cranelift-codegen",
12092 "cranelift-entity",12225 "cranelift-entity",
12093 "cranelift-frontend",12226 "cranelift-frontend",
12094 "cranelift-native",12227 "cranelift-native",
12095 "cranelift-wasm",12228 "cranelift-wasm",
12096 "gimli 0.25.0",12229 "gimli",
12097 "log",12230 "log",
12098 "more-asserts",12231 "more-asserts",
12099 "object",12232 "object",
1210512238
12106[[package]]12239[[package]]
12107name = "wasmtime-environ"12240name = "wasmtime-environ"
12108version = "0.31.0"12241version = "0.33.0"
12109source = "registry+https://github.com/rust-lang/crates.io-index"12242source = "registry+https://github.com/rust-lang/crates.io-index"
12110checksum = "1c2d194b655321053bc4111a1aa4ead552655c8a17d17264bc97766e70073510"12243checksum = "5b17e47116a078b9770e6fb86cff8b9a660826623cebcfff251b047c8d8993ef"
12111dependencies = [12244dependencies = [
12112 "anyhow",12245 "anyhow",
12113 "cfg-if 1.0.0",
12114 "cranelift-entity",12246 "cranelift-entity",
12115 "gimli 0.25.0",12247 "gimli",
12116 "indexmap",12248 "indexmap",
12117 "log",12249 "log",
12118 "more-asserts",12250 "more-asserts",
1212612258
12127[[package]]12259[[package]]
12128name = "wasmtime-jit"12260name = "wasmtime-jit"
12129version = "0.31.0"12261version = "0.33.0"
12130source = "registry+https://github.com/rust-lang/crates.io-index"12262source = "registry+https://github.com/rust-lang/crates.io-index"
12131checksum = "864ac8dfe4ce310ac59f16fdbd560c257389cb009ee5d030ac6e30523b023d11"12263checksum = "60ea5b380bdf92e32911400375aeefb900ac9d3f8e350bb6ba555a39315f2ee7"
12132dependencies = [12264dependencies = [
12133 "addr2line 0.16.0",12265 "addr2line",
12134 "anyhow",12266 "anyhow",
12135 "bincode",12267 "bincode",
12136 "cfg-if 1.0.0",12268 "cfg-if 1.0.0",
12137 "gimli 0.25.0",12269 "gimli",
12138 "log",
12139 "more-asserts",
12140 "object",12270 "object",
12141 "region",12271 "region",
12142 "rsix",12272 "rustix",
12143 "serde",12273 "serde",
12144 "target-lexicon",12274 "target-lexicon",
12145 "thiserror",12275 "thiserror",
12146 "wasmparser",
12147 "wasmtime-environ",12276 "wasmtime-environ",
12148 "wasmtime-runtime",12277 "wasmtime-runtime",
12149 "winapi 0.3.9",12278 "winapi 0.3.9",
12150]12279]
1215112280
12152[[package]]12281[[package]]
12153name = "wasmtime-runtime"12282name = "wasmtime-runtime"
12154version = "0.31.0"12283version = "0.33.0"
12155source = "registry+https://github.com/rust-lang/crates.io-index"12284source = "registry+https://github.com/rust-lang/crates.io-index"
12156checksum = "ab97da813a26b98c9abfd3b0c2d99e42f6b78b749c0646344e2e262d212d8c8b"12285checksum = "abc7cd79937edd6e238b337608ebbcaf9c086a8457f01dfd598324f7fa56d81a"
12157dependencies = [12286dependencies = [
12158 "anyhow",12287 "anyhow",
12159 "backtrace",12288 "backtrace",
12168 "more-asserts",12297 "more-asserts",
12169 "rand 0.8.4",12298 "rand 0.8.4",
12170 "region",12299 "region",
12171 "rsix",12300 "rustix",
12172 "thiserror",12301 "thiserror",
12173 "wasmtime-environ",12302 "wasmtime-environ",
12174 "winapi 0.3.9",12303 "winapi 0.3.9",
12175]12304]
1217612305
12177[[package]]12306[[package]]
12178name = "wasmtime-types"12307name = "wasmtime-types"
12179version = "0.31.0"12308version = "0.33.0"
12180source = "registry+https://github.com/rust-lang/crates.io-index"12309source = "registry+https://github.com/rust-lang/crates.io-index"
12181checksum = "ff94409cc3557bfbbcce6b14520ccd6bd3727e965c0fe68d63ef2c185bf379c6"12310checksum = "d9e5e51a461a2cf2b69e1fc48f325b17d78a8582816e18479e8ead58844b23f8"
12182dependencies = [12311dependencies = [
12183 "cranelift-entity",12312 "cranelift-entity",
12184 "serde",12313 "serde",
1218812317
12189[[package]]12318[[package]]
12190name = "web-sys"12319name = "web-sys"
12191version = "0.3.55"12320version = "0.3.56"
12192source = "registry+https://github.com/rust-lang/crates.io-index"12321source = "registry+https://github.com/rust-lang/crates.io-index"
12193checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb"12322checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb"
12194dependencies = [12323dependencies = [
12195 "js-sys",12324 "js-sys",
12196 "wasm-bindgen",12325 "wasm-bindgen",
1222612355
12227[[package]]12356[[package]]
12228name = "westend-runtime"12357name = "westend-runtime"
12229version = "0.9.14"12358version = "0.9.16"
12230source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"12359source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
12231dependencies = [12360dependencies = [
12232 "beefy-primitives",12361 "beefy-primitives",
12233 "bitvec",12362 "bitvec",
12260 "pallet-nicks",12389 "pallet-nicks",
12261 "pallet-offences",12390 "pallet-offences",
12262 "pallet-offences-benchmarking",12391 "pallet-offences-benchmarking",
12392 "pallet-preimage",
12263 "pallet-proxy",12393 "pallet-proxy",
12264 "pallet-recovery",12394 "pallet-recovery",
12265 "pallet-scheduler",12395 "pallet-scheduler",
12303 "sp-transaction-pool",12433 "sp-transaction-pool",
12304 "sp-version",12434 "sp-version",
12305 "substrate-wasm-builder",12435 "substrate-wasm-builder",
12436 "westend-runtime-constants",
12306 "xcm",12437 "xcm",
12307 "xcm-builder",12438 "xcm-builder",
12308 "xcm-executor",12439 "xcm-executor",
12309]12440]
1231012441
12311[[package]]12442[[package]]
12443name = "westend-runtime-constants"
12444version = "0.9.16"
12445source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
12446dependencies = [
12447 "frame-support",
12448 "polkadot-primitives",
12449 "polkadot-runtime-common",
12450 "smallvec",
12451 "sp-runtime",
12452]
12453
12454[[package]]
12312name = "which"12455name = "which"
12313version = "4.2.2"12456version = "4.2.4"
12314source = "registry+https://github.com/rust-lang/crates.io-index"12457source = "registry+https://github.com/rust-lang/crates.io-index"
12315checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9"12458checksum = "2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2"
12316dependencies = [12459dependencies = [
12317 "either",12460 "either",
12318 "lazy_static",12461 "lazy_static",
1240612549
12407[[package]]12550[[package]]
12408name = "xcm"12551name = "xcm"
12409version = "0.9.14"12552version = "0.9.16"
12410source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"12553source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
12411dependencies = [12554dependencies = [
12412 "derivative",12555 "derivative",
12413 "impl-trait-for-tuples",12556 "impl-trait-for-tuples",
1241912562
12420[[package]]12563[[package]]
12421name = "xcm-builder"12564name = "xcm-builder"
12422version = "0.9.14"12565version = "0.9.16"
12423source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"12566source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
12424dependencies = [12567dependencies = [
12425 "frame-support",12568 "frame-support",
12426 "frame-system",12569 "frame-system",
1243912582
12440[[package]]12583[[package]]
12441name = "xcm-executor"12584name = "xcm-executor"
12442version = "0.9.14"12585version = "0.9.16"
12443source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"12586source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
12444dependencies = [12587dependencies = [
12445 "frame-benchmarking",12588 "frame-benchmarking",
12446 "frame-support",12589 "frame-support",
12458[[package]]12601[[package]]
12459name = "xcm-procedural"12602name = "xcm-procedural"
12460version = "0.1.0"12603version = "0.1.0"
12461source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.14#80dfb926f40114841d3894fd75f39098dff9d5d4"12604source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.16#41ab002d7451766324a9f314fee11c9c53314350"
12462dependencies = [12605dependencies = [
12606 "Inflector",
12463 "proc-macro2",12607 "proc-macro2",
12464 "quote",12608 "quote",
12465 "syn",12609 "syn",
12471source = "registry+https://github.com/rust-lang/crates.io-index"12615source = "registry+https://github.com/rust-lang/crates.io-index"
12472checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107"12616checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107"
12473dependencies = [12617dependencies = [
12474 "futures 0.3.18",12618 "futures 0.3.21",
12475 "log",12619 "log",
12476 "nohash-hasher",12620 "nohash-hasher",
12477 "parking_lot 0.11.2",12621 "parking_lot 0.11.2",
1248712631
12488[[package]]12632[[package]]
12489name = "zeroize"12633name = "zeroize"
12490version = "1.4.3"12634version = "1.5.2"
12491source = "registry+https://github.com/rust-lang/crates.io-index"12635source = "registry+https://github.com/rust-lang/crates.io-index"
12492checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619"12636checksum = "7c88870063c39ee00ec285a2f8d6a966e5b6fb2becc4e8dac77ed0d370ed6006"
12493dependencies = [12637dependencies = [
12494 "zeroize_derive",12638 "zeroize_derive",
12495]12639]
1249612640
12497[[package]]12641[[package]]
12498name = "zeroize_derive"12642name = "zeroize_derive"
12499version = "1.2.2"12643version = "1.3.1"
12500source = "registry+https://github.com/rust-lang/crates.io-index"12644source = "registry+https://github.com/rust-lang/crates.io-index"
12501checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73"12645checksum = "81e8f13fef10b63c06356d65d416b070798ddabcadc10d3ece0c5be9b3c7eddb"
12502dependencies = [12646dependencies = [
12503 "proc-macro2",12647 "proc-macro2",
12504 "quote",12648 "quote",
1250812652
12509[[package]]12653[[package]]
12510name = "zstd"12654name = "zstd"
12511version = "0.9.0+zstd.1.5.0"12655version = "0.9.2+zstd.1.5.1"
12512source = "registry+https://github.com/rust-lang/crates.io-index"12656source = "registry+https://github.com/rust-lang/crates.io-index"
12513checksum = "07749a5dc2cb6b36661290245e350f15ec3bbb304e493db54a1d354480522ccd"12657checksum = "2390ea1bf6c038c39674f22d95f0564725fc06034a47129179810b2fc58caa54"
12514dependencies = [12658dependencies = [
12515 "zstd-safe",12659 "zstd-safe",
12516]12660]
1251712661
12518[[package]]12662[[package]]
12519name = "zstd-safe"12663name = "zstd-safe"
12520version = "4.1.1+zstd.1.5.0"12664version = "4.1.3+zstd.1.5.1"
12521source = "registry+https://github.com/rust-lang/crates.io-index"12665source = "registry+https://github.com/rust-lang/crates.io-index"
12522checksum = "c91c90f2c593b003603e5e0493c837088df4469da25aafff8bce42ba48caf079"12666checksum = "e99d81b99fb3c2c2c794e3fe56c305c63d5173a16a46b5850b07c935ffc7db79"
12523dependencies = [12667dependencies = [
12524 "libc",12668 "libc",
12525 "zstd-sys",12669 "zstd-sys",
12526]12670]
1252712671
12528[[package]]12672[[package]]
12529name = "zstd-sys"12673name = "zstd-sys"
12530version = "1.6.1+zstd.1.5.0"12674version = "1.6.2+zstd.1.5.1"
12531source = "registry+https://github.com/rust-lang/crates.io-index"12675source = "registry+https://github.com/rust-lang/crates.io-index"
12532checksum = "615120c7a2431d16cf1cf979e7fc31ba7a5b5e5707b29c8a99e5dbf8a8392a33"12676checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f"
12533dependencies = [12677dependencies = [
12534 "cc",12678 "cc",
12535 "libc",12679 "libc",
modifiedDockerfile-parachaindiffbeforeafterboth
--- a/Dockerfile-parachain
+++ b/Dockerfile-parachain
@@ -4,7 +4,7 @@
 
 ARG RUST_TOOLCHAIN=nightly-2021-11-11
 #ARG RUST_C=1.58.0-nightly
-ARG POLKA_VERSION=release-v0.9.14
+ARG POLKA_VERSION=release-v0.9.16
 ARG UNIQUE_BRANCH=develop
 
 #ARG USER=***
@@ -90,7 +90,7 @@
       nvm install v15.5.0 && \
       nvm use v15.5.0
 
-RUN git clone https://github.com/PureStake/polkadot-launch -b jlm-use-para-id-in-specs
+RUN git clone https://github.com/paritytech/polkadot-launch
 
 RUN export NVM_DIR="$HOME/.nvm" && \
     [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
modifiedREADME.mddiffbeforeafterboth
--- a/README.md
+++ b/README.md
@@ -29,26 +29,11 @@
 
 Please see our [walk-thorugh instructions](doc/hackusama_walk_through.md) to try everything out!
 
-## Hackusama Update
-
-During the Kusama Hackaphon the following changes were made:
-
--   Enabled Smart Contracts Pallet
--   Enabled integration between Smart Contracts and Unique Pallet (required special edition of RC4 Substrate version)
--   Fixed misc. bugs in Unique Pallet
--   Deployed Unique TestNet. Public node available at wss://unique.usetech.com, custom UI types - see below in this README.
--   New Features:
-    -   Re-Fungible Token Mode
-    -   Off-Chain Schema to store token image URLs
-    -   Alternative economic model
-    -   Allow Lists and Public Mint Permission
--   Use example: [SubstraPunks Game](https://github.com/usetech-llc/substrapunks), fully hosted on IPFS and Unique Testnet
-    Blockchain.
-
 ## Application Development
 
 If you are building an application that operates NFT tokens, use [this document](doc/application_development.md).
 
+
 ## Building
 
 Building Unique chain requires special versions of Rust and toolchain. We don't use the most recent versions of everything
@@ -57,8 +42,8 @@
 1. Install Rust:
 
 ```bash
+sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang
 curl https://sh.rustup.rs -sSf | sh
-sudo apt-get install libssl-dev pkg-config libclang-dev clang
 ```
 
 2. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.
@@ -86,111 +71,52 @@
 cargo build --release
 ```
 
-## Run
-
-You can start a development chain with:
-
-```bash
-cargo run -- --dev
-```
-
-Detailed logs may be shown by running the node with the following environment variables set:
-`RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev`.
+## Building as Parachain locally
 
-If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet with two
-validator nodes for Alice and Bob, who are the initial authorities of the genesis chain that have been endowed with
-testnet units. Give each node a name and expose them so they are listed on the Polkadot
-[telemetry site](https://telemetry.polkadot.io/#/Local%20Testnet). You'll need two terminal windows open.
+Note: checkout this project and all related projects (see below) in the sibling folders (both under the same folder)
 
-We'll start Alice's substrate node first on default TCP port 30333 with her chain database stored locally at
-`/tmp/alice`. The bootnode ID of her node is `QmQZ8TjTqeDj3ciwr93EJ95hxfDsb9pEYDizUAbWpigtQN`, which is generated from
-the `--node-key` value that we specify below:
+### Polkadot launch utility
 
-```bash
-cargo run -- \
-  --base-path /tmp/alice \
-  --chain=local \
-  --alice \
-  --node-key 0000000000000000000000000000000000000000000000000000000000000001 \
-  --telemetry-url ws://telemetry.polkadot.io:1024 \
-  --validator
 ```
-
-In the second terminal, we'll start Bob's substrate node on a different TCP port of 30334, and with his chain database
-stored locally at `/tmp/bob`. We'll specify a value for the `--bootnodes` option that will connect his node to Alice's
-bootnode ID on TCP port 30333:
-
-```bash
-cargo run -- \
-  --base-path /tmp/bob \
-  --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/QmQZ8TjTqeDj3ciwr93EJ95hxfDsb9pEYDizUAbWpigtQN \
-  --chain=local \
-  --bob \
-  --port 30334 \
-  --telemetry-url ws://telemetry.polkadot.io:1024 \
-  --validator
+git clone https://github.com/paritytech/polkadot-launch
 ```
-
-Additional CLI usage options are available and may be shown by running `cargo run -- --help`.
-
-## Building and Running as Parachain locally
-
-Rust toolchain: nightly-2021-11-11
-Note: checkout this project and polkadot project (see below) in the sibling folders (both under the same folder)
 
 ### Build relay
 
 ```
 git clone https://github.com/paritytech/polkadot.git
 cd polkadot
-git checkout release-v0.9.9
+git checkout release-v0.9.16
 cargo build --release
 ```
 
-### Build parachain
+### Build Unique parachain
 
 Run in the root of this project:
 ```
-cargo --build
+cargo build --release
 ```
 
-### Run 4-node Relay
-
-1. Download `rococo-custom-4.json` chain spec here: https://substrate.dev/cumulus-workshop/shared/chainspecs/rococo-custom-4.json
-2. Use these instructions to launch 4 nodes: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/1-launch
+### Build Acala parachain (optional, full config only)
 
-Example (Run in polkadot folder. Replace `12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on` with output from Alice node):
 ```
-./target/release/polkadot --alice --validator --base-path ./cumulus_relay0 --chain rococo-custom-4.json --port 50555 --ws-port 9944
-./target/release/polkadot --bob --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50556 --ws-port 9945
-./target/release/polkadot --charlie --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50557 --ws-port 9946
-./target/release/polkadot --dave --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50558 --ws-port 9947
-
+git clone https://github.com/AcalaNetwork/Acala
+cd Acala
+git checkout 54db3acd409a0b787f116f20e163a3b24101ce38
+make build-release
 ```
 
-3. Export genesis state and runtime wasm from Unique parachain:
+## Running as Parachain locally
 
-Run from this project root:
 ```
-./target/release/unique-collator export-genesis-state --parachain-id 2000 > ./resources/para-2000-genesis
-./target/release/unique-collator export-genesis-wasm > ./resources/para-2000-wasm
+./launch-testnet.sh
 ```
 
-4. Run two parachain nodes:
-
-Replace `12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg` with Alice or Bob relay ID
-
-Run from this project root:
+Optional, full setup with Acala and Statemint
 ```
-./target/release/unique-collator --alice --collator --force-authoring --base-path ./tmp/parachain-alice --parachain-id 2000 --port 40333 --ws-port 9844  -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30343 --ws-port 9977
-./target/release/unique-collator --bob --collator --force-authoring --parachain-id 2000 --base-path ./tmp/parachain/bob --port 40334 --ws-port 9845 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30344 --ws-port 9978 --bootnodes /ip4/127.0.0.1/tcp/50556/p2p/12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg
+./launch-testnet-full.sh
 ```
-
-4. Reserve parachain ID as described here: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/2-reserve
 
-5. Register parachain in relay as described here: https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register
-
-
 ## Run Integration Tests
 
 1. Install all needed dependecies
@@ -202,40 +128,11 @@
 2. Run tests
 ```
 yarn test
-```
-
-## Benchmarks
-
-First of all, add rust toolchain and make it default.
-```bash
-rustup target add wasm32-unknown-unknown --toolchain nightly-2021-11-11
-```
-
-Then in "/node/src" run build command below
-```bash
-cargo +nightly-2021-11-11 build --release --features runtime-benchmarks
-```
-
-Run benchmark
-```bash
-target/release/unique-collator benchmark --chain dev --pallet "pallet_unique" --extrinsic "*" --repeat 1
 ```
-
-## UI custom types
-
-Moved to [runtime_types.json](./runtime_types.json).
-
-## Running Integration Tests
 
-See [tests/README.md](./tests/README.md).
 
 ## Code Formatting
 
-### Get formatter and linter settings into your branch (if you forked before they were introduced)
-```bash
-git cherry-pick -n 8ff77c21b0d30b2a4648fa35dbf61dfa9d3948a7
-```
-
 ### Apply formatting and clippy fixes
 ```bash
 cargo clippy
@@ -252,84 +149,57 @@
 cd tests && yarn eslint --ext .ts,.js src/
 ```
 
-## Re-Enabling Ink! Contracts
 
-Uncomment following lies:
-1. In node/rpc/Cargo.toml
-```
-# pallet-contracts-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.9' }
-```
+## Karura token transfer
 
-2. In node/rpc/src/lib.rs
-```
-// C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber, Hash>,
-...
-// use pallet_contracts_rpc::{Contracts, ContractsApi};
-...
-// io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone())));
+To get started, you need to open inbound and outbound hrmp channels.
 
+### Next, we need to register our asset at Karura.
 ```
+assetRegistry -> registerForeignAsset(location, metadata)
+location:
+	V0(X2(Parent, Parachain(PARA_ID))) 
+metadata:
+	name         OPL
+	symbol       OPL
+	decimals     18
+minimalBalance	 1
+```
 
-3. In runtime/Cargo.toml
+### Next, we can send tokens from Opal to Karura:
 ```
-    # 'pallet-contracts/std',
-    # 'pallet-contracts-primitives/std',
-    # 'pallet-contracts-rpc-runtime-api/std',
-    # 'pallet-contract-helpers/std',
-...
-    # [dependencies.pallet-contracts]
-    # git = 'https://github.com/paritytech/substrate.git'
-    # default-features = false
-    # branch = 'polkadot-v0.9.9'
-    # version = '3.0.0'
+polkadotXcm -> reserveTransferAssets
+dest:
+	V0(X2(Parent, Parachain(<KARURA_PARA_ID>))) 
+beneficiary:
+	X1(AccountId(Any, <ACCOUNT>))
+assets:
+	V1(Concrete(0,Here), Fungible(<AMOUNT>))
+feeAssetItem: 
+	0	
+weightLimit:
+	<LIMIT>
+```	
 
-    # [dependencies.pallet-contracts-primitives]
-    # git = 'https://github.com/paritytech/substrate.git'
-    # default-features = false
-    # branch = 'polkadot-v0.9.9'
-    # version = '3.0.0'
+The result will be displayed in ChainState   
+tokens -> accounts	
 
-    # [dependencies.pallet-contracts-rpc-runtime-api]
-    # git = 'https://github.com/paritytech/substrate.git'
-    # default-features = false
-    # branch = 'polkadot-v0.9.9'
-    # version = '3.0.0'
-...
-    # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
+### To send tokens from Karura to Opal:
 ```
+xtokens -> transfer
 
-4. runtime/src/lib.rs
-```
-// use pallet_contracts::weights::WeightInfo;
-...
-// pub use pallet_timestamp::Call as TimestampCall;
-...
-// mod chain_extension;
-// use crate::chain_extension::{NFTExtension, Imbalance};
-...
-/*
-parameter_types! {
-	pub TombstoneDeposit: Balance = deposit(
-  ...
-}
-*/
-...
-//pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,
-...
-// impl pallet_contract_helpers::Config for Runtime {}
-...
-// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>},
-...
-// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage},
-...
-//pallet_contract_helpers::ContractHelpersExtension<Runtime>,
-...
-/*
-	impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>
-		for Runtime
-	{
-    ...
-	}
-*/
+currencyId:
+	ForeingAsset
+		<TOKEN_ID>
 
-```
+amount:
+		<AMOUNT>
+dest:
+	V1
+	(
+		Parents:1, 
+		X2(Parachain(<KARURA_PARA_ID>), AccountId(Any, <ACCOUNT>)
+	)
+destWeight:
+	<WEIGHT>
+```
\ No newline at end of file
modifiedclient/rpc/Cargo.tomldiffbeforeafterboth
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -12,8 +12,8 @@
 jsonrpc-core-client = "18.0.0"
 jsonrpc-derive = "18.0.0"
 
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -4,7 +4,7 @@
 use jsonrpc_core::{Error as RpcError, ErrorCode, Result};
 use jsonrpc_derive::rpc;
 use up_data_structs::{Collection, CollectionId, CollectionStats, TokenId};
-use sp_api::{BlockId, BlockT, ProvideRuntimeApi};
+use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
 use sp_blockchain::HeaderBackend;
 use up_rpc::UniqueApi as UniqueRuntimeApi;
 
@@ -31,7 +31,7 @@
 		collection: CollectionId,
 		token: TokenId,
 		at: Option<BlockHash>,
-	) -> Result<CrossAccountId>;
+	) -> Result<Option<CrossAccountId>>;
 	#[rpc(name = "unique_constMetadata")]
 	fn const_metadata(
 		&self,
@@ -132,7 +132,10 @@
 }
 
 macro_rules! pass_method {
-	($method_name:ident($($name:ident: $ty:ty),* $(,)?) -> $result:ty $(=> $mapper:expr)?) => {
+	(
+		$method_name:ident($($name:ident: $ty:ty),* $(,)?) -> $result:ty $(=> $mapper:expr)?
+		$(; changed_in $ver:expr, $changed_method_name:ident ($($changed_name:expr), * $(,)?) => $fixer:expr)*
+	) => {
 		fn $method_name(
 			&self,
 			$(
@@ -142,8 +145,25 @@
 		) -> Result<$result> {
 			let api = self.client.runtime_api();
 			let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash));
+			let _api_version = if let Ok(Some(api_version)) =
+				api.api_version::<dyn UniqueRuntimeApi<Block, CrossAccountId, AccountId>>(&at)
+			{
+				api_version
+			} else {
+				// unreachable for our runtime
+				return Err(RpcError {
+					code: ErrorCode::InvalidParams,
+					message: "Api is not available".into(),
+					data: None,
+				})
+			};
+
+			let result = $(if _api_version < $ver {
+				api.$changed_method_name(&at, $($changed_name),*).map(|r| r.map($fixer))
+			} else)*
+			{ api.$method_name(&at, $($name),*) };
 
-			let result = api.$method_name(&at, $($name),*).map_err(|e| RpcError {
+			let result = result.map_err(|e| RpcError {
 				code: ErrorCode::ServerError(Error::RuntimeError.into()),
 				message: "Unable to query".into(),
 				data: Some(format!("{:?}", e).into()),
@@ -168,7 +188,10 @@
 {
 	pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);
 	pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);
-	pass_method!(token_owner(collection: CollectionId, token: TokenId) -> CrossAccountId);
+	pass_method!(
+		token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>;
+		changed_in 2, token_owner_before_version_2(collection, token) => |u| Some(u)
+	);
 	pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
 	pass_method!(variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
 	pass_method!(collection_tokens(collection: CollectionId) -> u32);
modifiedcrates/evm-coder/Cargo.tomldiffbeforeafterboth
--- a/crates/evm-coder/Cargo.toml
+++ b/crates/evm-coder/Cargo.toml
@@ -7,8 +7,8 @@
 evm-coder-macros = { path = "../evm-coder-macros" }
 primitive-types = { version = "0.10.1", default-features = false }
 hex-literal = "0.3.3"
-ethereum = { version = "0.10.0", default-features = false }
-evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-weights" }
+ethereum = { version = "0.11.1", default-features = false }
+evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-polkadot-v0.9.16" }
 impl-trait-for-tuples = "0.2.1"
 
 [dev-dependencies]
modifiedcrates/evm-coder/src/abi.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/abi.rs
+++ b/crates/evm-coder/src/abi.rs
@@ -95,6 +95,10 @@
 		string::from_utf8(self.bytes()?).map_err(|_| Error::Error(ExitError::InvalidRange))
 	}
 
+	pub fn uint8(&mut self) -> Result<u8> {
+		Ok(self.read_padleft::<1>()?[0])
+	}
+
 	pub fn uint32(&mut self) -> Result<u32> {
 		Ok(u32::from_be_bytes(self.read_padleft()?))
 	}
@@ -243,6 +247,7 @@
 	};
 }
 
+impl_abi_readable!(u8, uint8);
 impl_abi_readable!(u32, uint32);
 impl_abi_readable!(u64, uint64);
 impl_abi_readable!(u128, uint128);
addeddoc/hackusama_update.mddiffbeforeafterboth
--- /dev/null
+++ b/doc/hackusama_update.md
@@ -0,0 +1,15 @@
+## Hackusama Update
+
+During the Kusama Hackaphon the following changes were made:
+
+-   Enabled Smart Contracts Pallet
+-   Enabled integration between Smart Contracts and Unique Pallet (required special edition of RC4 Substrate version)
+-   Fixed misc. bugs in Unique Pallet
+-   Deployed Unique TestNet. Public node available at wss://unique.usetech.com, custom UI types - see below in this README.
+-   New Features:
+    -   Re-Fungible Token Mode
+    -   Off-Chain Schema to store token image URLs
+    -   Alternative economic model
+    -   Allow Lists and Public Mint Permission
+-   Use example: [SubstraPunks Game](https://github.com/usetech-llc/substrapunks), fully hosted on IPFS and Unique Testnet
+    Blockchain.
\ No newline at end of file
addeddoc/re-enable_ink_contracts.mddiffbeforeafterboth
--- /dev/null
+++ b/doc/re-enable_ink_contracts.md
@@ -0,0 +1,81 @@
+## Re-Enabling Ink! Contracts
+
+Uncomment following lies:
+1. In node/rpc/Cargo.toml
+```
+# pallet-contracts-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.9' }
+```
+
+2. In node/rpc/src/lib.rs
+```
+// C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber, Hash>,
+...
+// use pallet_contracts_rpc::{Contracts, ContractsApi};
+...
+// io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone())));
+
+```
+
+3. In runtime/Cargo.toml
+```
+    # 'pallet-contracts/std',
+    # 'pallet-contracts-primitives/std',
+    # 'pallet-contracts-rpc-runtime-api/std',
+    # 'pallet-contract-helpers/std',
+...
+    # [dependencies.pallet-contracts]
+    # git = 'https://github.com/paritytech/substrate.git'
+    # default-features = false
+    # branch = 'polkadot-v0.9.9'
+    # version = '3.0.0'
+
+    # [dependencies.pallet-contracts-primitives]
+    # git = 'https://github.com/paritytech/substrate.git'
+    # default-features = false
+    # branch = 'polkadot-v0.9.9'
+    # version = '3.0.0'
+
+    # [dependencies.pallet-contracts-rpc-runtime-api]
+    # git = 'https://github.com/paritytech/substrate.git'
+    # default-features = false
+    # branch = 'polkadot-v0.9.9'
+    # version = '3.0.0'
+...
+    # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
+```
+
+4. runtime/src/lib.rs
+```
+// use pallet_contracts::weights::WeightInfo;
+...
+// pub use pallet_timestamp::Call as TimestampCall;
+...
+// mod chain_extension;
+// use crate::chain_extension::{NFTExtension, Imbalance};
+...
+/*
+parameter_types! {
+	pub TombstoneDeposit: Balance = deposit(
+  ...
+}
+*/
+...
+//pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,
+...
+// impl pallet_contract_helpers::Config for Runtime {}
+...
+// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>},
+...
+// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage},
+...
+//pallet_contract_helpers::ContractHelpersExtension<Runtime>,
+...
+/*
+	impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>
+		for Runtime
+	{
+    ...
+	}
+*/
+
+```
\ No newline at end of file
addedlaunch-config-full.jsondiffbeforeafterboth
--- /dev/null
+++ b/launch-config-full.json
@@ -0,0 +1,135 @@
+{
+    "relaychain": {
+        "bin": "../polkadot/target/release/polkadot",
+        "chain": "rococo-local",
+        "nodes": [
+            {
+                "name": "alice",
+                "wsPort": 9844,
+                "rpcPort": 9843,
+                "port": 30444,
+                "flags": [
+                    "-lparachain::candidate_validation=debug",
+                    "-lxcm=trace"
+                ]
+            },
+            {
+                "name": "bob",
+                "wsPort": 9855,
+                "rpcPort": 9854,
+                "port": 30555,
+                "flags": [
+                    "-lparachain::candidate_validation=debug",
+                    "-lxcm=trace"
+                ]
+            },
+            {
+                "name": "charlie",
+                "wsPort": 9866,
+                "rpcPort": 9865,
+                "port": 30666,
+                "flags": [
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "dave",
+                "wsPort": 9877,
+                "rpcPort": 9876,
+                "port": 30777,
+                "flags": [
+                    "-lparachain::candidate_validation=debug"
+                ]
+            },
+            {
+                "name": "eve",
+                "wsPort": 9888,
+                "rpcPort": 9887,
+                "port": 30888,
+                "flags": [
+                    "-lparachain::candidate_validation=debug"
+                ]
+            }
+        ],
+        "genesis": {
+            "runtime": {
+                "runtime_genesis_config": {
+                    "parachainsConfiguration": {
+                        "config": {
+                            "validation_upgrade_frequency": 1,
+                            "validation_upgrade_delay": 1
+                        }
+                    }
+                }
+            }
+        }
+    },
+    "parachains": [
+        {
+            "bin": "../unique-chain/target/release/unique-collator",
+            "id": "1000",
+            "balance": "1000000000000000000000000",
+            "nodes": [
+                {
+                    "port": 31200,
+                    "wsPort": 9944,
+                    "rpcPort": 9933,
+                    "name": "alice",
+                    "flags": [
+                        "--rpc-cors=all",
+                        "--unsafe-rpc-external",
+                        "--unsafe-ws-external",
+                        "-lxcm=trace"
+                    ]
+                },
+                {
+                    "port": 31201,
+                    "wsPort": 9945,
+                    "rpcPort": 9934,
+                    "name": "bob",
+                    "flags": [
+                        "--rpc-cors=all",
+                        "--unsafe-rpc-external",
+                        "--unsafe-ws-external",
+                        "-lxcm=trace"
+                    ]
+                }
+            ]
+        },
+        {
+            "bin": "../Acala/target/release/acala",
+            "id": "2000",
+            "chain":  "karura-dev",
+			"balance": "1000000000000000000000",
+			"nodes": [
+				{
+					"wsPort": 9946,
+					"port": 31202,
+					"name": "alice",
+                    "flags": [
+                        "--rpc-cors=all",
+                        "--unsafe-rpc-external",
+                        "--unsafe-ws-external",
+                        "-lxcm=trace"
+                    ]
+				}
+			]
+		}
+    ],
+    "simpleParachains": [],
+    "hrmpChannels": [
+        {
+            "sender": 2000,
+            "recipient": 1000,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        },
+        {
+            "sender": 1000,
+            "recipient": 2000,
+            "maxCapacity": 8,
+            "maxMessageSize": 512
+        }
+    ],
+    "finalization": false
+}
deletedlaunch-config-westend.jsondiffbeforeafterboth
--- a/launch-config-westend.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
-    "relaychain": {
-        "bin": "../polkadot/target/release/polkadot",
-        "chain": "westend-local",
-        "nodes": [
-            {
-                "name": "alice",
-                "wsPort": 9844,
-                "rpcPort": 9843,
-                "port": 30444,
-                "flags": [
-                    "-lparachain::candidate_validation=debug"
-                ]
-            },
-            {
-                "name": "bob",
-                "wsPort": 9855,
-                "rpcPort": 9854,
-                "port": 30555,
-                "flags": [
-                    "-lparachain::candidate_validation=debug"
-                ]
-            },
-            {
-                "name": "charlie",
-                "wsPort": 9866,
-                "rpcPort": 9865,
-                "port": 30666,
-                "flags": [
-                    "-lparachain::candidate_validation=debug"
-                ]
-            },
-            {
-                "name": "dave",
-                "wsPort": 9877,
-                "rpcPort": 9876,
-                "port": 30777,
-                "flags": [
-                    "-lparachain::candidate_validation=debug"
-                ]
-            },
-            {
-                "name": "eve",
-                "wsPort": 9888,
-                "rpcPort": 9886,
-                "port": 30888,
-                "flags": [
-                    "-lparachain::candidate_validation=debug"
-                ]
-            },
-            {
-                "name": "ferdie",
-                "wsPort": 9897,
-                "rpcPort": 9896,
-                "port": 30999,
-                "flags": [
-                    "-lparachain::candidate_validation=debug"
-                ]
-            }
-        ],
-        "genesis": {
-            "runtime": {
-                "runtime_genesis_config": {
-                    "parachainsConfiguration": {
-                        "config": {
-                            "validation_upgrade_frequency": 1,
-                            "validation_upgrade_delay": 1
-                        }
-                    }
-                }
-            }
-        }
-    },
-    "parachains": [
-        {
-            "bin": "../unique-chain/target/release/unique-collator",
-            "chain": "westend-local",
-            "balance": "1000000000000000000000000",
-            "nodes": [
-                {
-                    "port": 31200,
-                    "wsPort": 9944,
-                    "rpcPort": 9933,
-                    "name": "alice",
-                    "flags": [
-                        "--rpc-cors=all",
-                        "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
-                    ]
-                },
-                {
-                    "port": 31201,
-                    "wsPort": 9945,
-                    "rpcPort": 9934,
-                    "name": "bob",
-                    "flags": [
-                        "--rpc-cors=all",
-                        "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
-                    ]
-                },
-                {
-                    "port": 31202,
-                    "wsPort": 9946,
-                    "rpcPort": 9935,
-                    "name": "charlie",
-                    "flags": [
-                        "--rpc-cors=all",
-                        "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
-                    ]
-                },
-                {
-                    "port": 31203,
-                    "wsPort": 9947,
-                    "rpcPort": 9936,
-                    "name": "dave",
-                    "flags": [
-                        "--rpc-cors=all",
-                        "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
-                    ]
-                },
-                {
-                    "port": 31204,
-                    "wsPort": 9948,
-                    "rpcPort": 9937,
-                    "name": "eve",
-                    "flags": [
-                        "--rpc-cors=all",
-                        "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
-                    ]
-                }
-            ]
-        }
-    ],
-    "simpleParachains": [],
-    "hrmpChannels": [],
-    "finalization": false
-}
modifiedlaunch-config.jsondiffbeforeafterboth
--- a/launch-config.json
+++ b/launch-config.json
@@ -9,7 +9,8 @@
                 "rpcPort": 9843,
                 "port": 30444,
                 "flags": [
-                    "-lparachain::candidate_validation=debug"
+                    "-lparachain::candidate_validation=debug",
+                    "-lxcm=trace"
                 ]
             },
             {
@@ -18,7 +19,8 @@
                 "rpcPort": 9854,
                 "port": 30555,
                 "flags": [
-                    "-lparachain::candidate_validation=debug"
+                    "-lparachain::candidate_validation=debug",
+                    "-lxcm=trace"
                 ]
             },
             {
@@ -38,6 +40,15 @@
                 "flags": [
                     "-lparachain::candidate_validation=debug"
                 ]
+            },
+            {
+                "name": "eve",
+                "wsPort": 9888,
+                "rpcPort": 9887,
+                "port": 30888,
+                "flags": [
+                    "-lparachain::candidate_validation=debug"
+                ]
             }
         ],
         "genesis": {
@@ -67,7 +78,8 @@
                     "flags": [
                         "--rpc-cors=all",
                         "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
+                        "--unsafe-ws-external",
+                        "-lxcm=trace"
                     ]
                 },
                 {
@@ -78,7 +90,8 @@
                     "flags": [
                         "--rpc-cors=all",
                         "--unsafe-rpc-external",
-                        "--unsafe-ws-external"
+                        "--unsafe-ws-external",
+                        "-lxcm=trace"
                     ]
                 }
             ]
deletedlaunch-test-env.shdiffbeforeafterboth
--- a/launch-test-env.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-cp launch-config.json ../polkadot-launch/launch-config.json
-
-cd ../polkadot-launch
-yarn install
-yarn build
-yarn start launch-config.json
addedlaunch-testnet-full.shdiffbeforeafterboth
--- /dev/null
+++ b/launch-testnet-full.sh
@@ -0,0 +1,6 @@
+cp launch-config-full.json ../polkadot-launch/launch-config-full.json
+
+cd ../polkadot-launch
+yarn install
+yarn build
+yarn start launch-config-full.json
addedlaunch-testnet.shdiffbeforeafterboth
--- /dev/null
+++ b/launch-testnet.sh
@@ -0,0 +1,6 @@
+cp launch-config.json ../polkadot-launch/launch-config.json
+
+cd ../polkadot-launch
+yarn install
+yarn build
+yarn start launch-config.json
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -3,7 +3,7 @@
 
 [build-dependencies.substrate-build-script-utils]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 ################################################################################
 # Substrate Dependecies
@@ -16,150 +16,150 @@
 
 [dependencies.frame-benchmarking]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-benchmarking-cli]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-transaction-payment-rpc]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.substrate-prometheus-endpoint]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-basic-authorship]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-chain-spec]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-cli]
 features = ['wasmtime']
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-client-api]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-consensus]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-consensus-aura]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-executor]
 features = ['wasmtime']
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-finality-grandpa]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-keystore]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-rpc]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-rpc-api]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-service]
 features = ['wasmtime']
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-telemetry]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-transaction-pool]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-tracing]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-block-builder]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-api]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-blockchain]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-consensus]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-consensus-aura]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-core]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-finality-grandpa]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-inherents]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-keystore]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-offchain]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-runtime]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-session]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-timestamp]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-transaction-pool]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-trie]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.substrate-frame-rpc-system]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sc-network]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.serde]
 features = ['derive']
@@ -173,59 +173,66 @@
 # Cumulus dependencies
 
 [dependencies.cumulus-client-consensus-aura]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-client-consensus-common]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-client-collator]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-client-cli]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-client-network]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-primitives-core]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-primitives-parachain-inherent]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-client-service]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
+[dependencies.cumulus-relay-chain-interface]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
+[dependencies.cumulus-relay-chain-local]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
+
 ################################################################################
 # Polkadot dependencies
 [dependencies.polkadot-primitives]
 git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 
 [dependencies.polkadot-service]
 git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 
 [dependencies.polkadot-cli]
 git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 
 [dependencies.polkadot-test-service]
 git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 
 [dependencies.polkadot-parachain]
 git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 
 
 ################################################################################
@@ -250,7 +257,7 @@
 license = 'All Rights Reserved'
 name = 'unique-node'
 repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.9.14'
+version = '0.9.16'
 
 [[bin]]
 name = 'unique-collator'
@@ -268,13 +275,13 @@
 jsonrpc-core = '18.0.0'
 jsonrpc-pubsub = "18.0.0"
 
-fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
 
 unique-rpc = { path = "../rpc" }
 
modifiednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -85,6 +85,7 @@
 		None,
 		// Protocol ID
 		None,
+		None,
 		// Properties
 		Some(properties),
 		// Extensions
@@ -134,6 +135,7 @@
 		None,
 		// Protocol ID
 		None,
+		None,
 		// Properties
 		None,
 		// Extensions
@@ -186,6 +188,7 @@
 		None,
 		// Protocol ID
 		None,
+		None,
 		// Properties
 		None,
 		// Extensions
@@ -217,7 +220,9 @@
 				.collect(),
 		},
 		treasury: Default::default(),
-		sudo: SudoConfig { key: root_key },
+		sudo: SudoConfig {
+			key: Some(root_key),
+		},
 		vesting: VestingConfig { vesting: vec![] },
 		parachain_info: unique_runtime::ParachainInfoConfig { parachain_id: id },
 		parachain_system: Default::default(),
modifiednode/cli/src/command.rsdiffbeforeafterboth
--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -40,6 +40,7 @@
 fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
 	Ok(match id {
 		"westend-local" => Box::new(chain_spec::local_testnet_westend_config()),
+		"rococo-local" => Box::new(chain_spec::local_testnet_rococo_config()),
 		"dev" => Box::new(chain_spec::development_config()),
 		"" | "local" => Box::new(chain_spec::local_testnet_rococo_config()),
 		path => Box::new(chain_spec::ChainSpec::from_json_file(
@@ -213,8 +214,9 @@
 			builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
 			let _ = builder.init();
 
-			let block: Block =
-				generate_genesis_block(&load_spec(&params.chain.clone().unwrap_or_default())?)?;
+			let spec = load_spec(&params.chain.clone().unwrap_or_default())?;
+			let state_version = Cli::native_runtime_version(&spec).state_version();
+			let block: Block = generate_genesis_block(&spec, state_version)?;
 			let raw_header = block.header().encode();
 			let output_buf = if params.raw {
 				raw_header
@@ -282,9 +284,12 @@
 				let parachain_account =
 					AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);
 
-				let block: Block =
-					generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;
+				let state_version =
+					RelayChainCli::native_runtime_version(&config.chain_spec).state_version();
+				let block: Block = generate_genesis_block(&config.chain_spec, state_version)
+					.map_err(|e| format!("{:?}", e))?;
 				let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));
+				let genesis_hash = format!("0x{:?}", HexDisplay::from(&block.header().hash().0));
 
 				let polkadot_config = SubstrateCli::create_configuration(
 					&polkadot_cli,
@@ -296,6 +301,7 @@
 				info!("Parachain id: {:?}", id);
 				info!("Parachain Account: {}", parachain_account);
 				info!("Parachain genesis state: {}", genesis_state);
+				info!("Parachain genesis hash: {}", genesis_hash);
 				info!(
 					"Is collating: {}",
 					if config.role.is_authority() {
@@ -368,11 +374,23 @@
 		self.base.base.rpc_ws(default_listen_port)
 	}
 
-	fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {
-		self.base.base.prometheus_config(default_listen_port)
+	fn prometheus_config(
+		&self,
+		default_listen_port: u16,
+		chain_spec: &Box<dyn ChainSpec>,
+	) -> Result<Option<PrometheusConfig>> {
+		self.base
+			.base
+			.prometheus_config(default_listen_port, chain_spec)
 	}
 
-	fn init<C: SubstrateCli>(&self) -> Result<()> {
+	fn init<F>(
+		&self,
+		_support_url: &String,
+		_impl_version: &String,
+		_logger_hook: F,
+		_config: &sc_service::Configuration,
+	) -> Result<()> {
 		unreachable!("PolkadotCli is never initialized; qed");
 	}
 
modifiednode/cli/src/service.rsdiffbeforeafterboth
--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -10,19 +10,23 @@
 use std::sync::Mutex;
 use std::collections::BTreeMap;
 use std::time::Duration;
+use fc_rpc_core::types::FeeHistoryCache;
 use futures::StreamExt;
 
+use unique_rpc::overrides_handle;
 // Local Runtime Types
 use unique_runtime::RuntimeApi;
 
 // Cumulus Imports
-use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams, SlotProportion};
+use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion};
 use cumulus_client_consensus_common::ParachainConsensus;
-use cumulus_client_network::build_block_announce_validator;
 use cumulus_client_service::{
 	prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
 };
+use cumulus_client_network::BlockAnnounceValidator;
 use cumulus_primitives_core::ParaId;
+use cumulus_relay_chain_interface::RelayChainInterface;
+use cumulus_relay_chain_local::build_relay_chain_interface;
 
 // Substrate Imports
 use sc_client_api::ExecutorProvider;
@@ -109,6 +113,7 @@
 			Option<FilterPool>,
 			Arc<fc_db::Backend<Block>>,
 			Option<TelemetryWorkerHandle>,
+			FeeHistoryCache,
 		),
 	>,
 	sc_service::Error,
@@ -149,6 +154,7 @@
 		config.wasm_method,
 		config.default_heap_pages,
 		config.max_runtime_instances,
+		config.runtime_cache_size,
 	);
 
 	let (client, backend, keystore_container, task_manager) =
@@ -188,6 +194,7 @@
 		telemetry.as_ref().map(|telemetry| telemetry.handle()),
 		&task_manager,
 	)?;
+	let fee_history_cache: FeeHistoryCache = Arc::new(Mutex::new(BTreeMap::new()));
 
 	let params = PartialComponents {
 		backend,
@@ -202,6 +209,7 @@
 			filter_pool,
 			frontier_backend,
 			telemetry_worker_handle,
+			fee_history_cache,
 		),
 	};
 
@@ -233,7 +241,7 @@
 		Option<&Registry>,
 		Option<TelemetryHandle>,
 		&TaskManager,
-		&polkadot_service::NewFull<polkadot_service::Client>,
+		Arc<dyn RelayChainInterface>,
 		Arc<sc_transaction_pool::FullPool<Block, FullClient>>,
 		Arc<NetworkService<Block, Hash>>,
 		SyncCryptoStorePtr,
@@ -247,29 +255,26 @@
 	let parachain_config = prepare_node_config(parachain_config);
 
 	let params = new_partial::<BIQ>(&parachain_config, build_import_queue)?;
-	let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle) = params.other;
+	let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle, fee_history_cache) =
+		params.other;
+
+	let client = params.client.clone();
+	let backend = params.backend.clone();
+	let mut task_manager = params.task_manager;
 
-	let relay_chain_full_node =
-		cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle)
+	let (relay_chain_interface, collator_key) =
+		build_relay_chain_interface(polkadot_config, telemetry_worker_handle, &mut task_manager)
 			.map_err(|e| match e {
 				polkadot_service::Error::Sub(x) => x,
 				s => format!("{}", s).into(),
 			})?;
 
-	let client = params.client.clone();
-	let backend = params.backend.clone();
-	let block_announce_validator = build_block_announce_validator(
-		relay_chain_full_node.client.clone(),
-		id,
-		Box::new(relay_chain_full_node.network.clone()),
-		relay_chain_full_node.backend.clone(),
-	);
+	let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);
 
 	let force_authoring = parachain_config.force_authoring;
 	let validator = parachain_config.role.is_authority();
 	let prometheus_registry = parachain_config.prometheus_registry().cloned();
 	let transaction_pool = params.transaction_pool.clone();
-	let mut task_manager = params.task_manager;
 	let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
 
 	let (network, system_rpc_tx, start_network) =
@@ -279,7 +284,9 @@
 			transaction_pool: transaction_pool.clone(),
 			spawn_handle: task_manager.spawn_handle(),
 			import_queue: import_queue.clone(),
-			block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),
+			block_announce_validator_builder: Some(Box::new(|_| {
+				Box::new(block_announce_validator)
+			})),
 			warp_sync: None,
 		})?;
 
@@ -287,10 +294,17 @@
 	let rpc_client = client.clone();
 	let rpc_pool = transaction_pool.clone();
 	let select_chain = params.select_chain.clone();
-	let is_authority = parachain_config.role.clone().is_authority();
 	let rpc_network = network.clone();
 
 	let rpc_frontier_backend = frontier_backend.clone();
+
+	let block_data_cache = Arc::new(fc_rpc::EthBlockDataCache::new(
+		task_manager.spawn_handle(),
+		overrides_handle(client.clone()),
+		50,
+		50,
+	));
+
 	let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {
 		let full_deps = unique_rpc::FullDeps {
 			backend: rpc_frontier_backend.clone(),
@@ -303,9 +317,13 @@
 			filter_pool: filter_pool.clone(),
 			network: rpc_network.clone(),
 			select_chain: select_chain.clone(),
-			is_authority,
+			is_authority: validator,
 			// TODO: Unhardcode
 			max_past_logs: 10000,
+			block_data_cache: block_data_cache.clone(),
+			fee_history_cache: fee_history_cache.clone(),
+			// TODO: Unhardcode
+			fee_history_limit: 2048,
 		};
 
 		Ok(unique_rpc::create_full::<_, _, _, _, RuntimeApi, _>(
@@ -346,13 +364,15 @@
 		Arc::new(move |hash, data| network.announce_block(hash, data))
 	};
 
+	let relay_chain_slot_duration = Duration::from_secs(6);
+
 	if validator {
 		let parachain_consensus = build_consensus(
 			client.clone(),
 			prometheus_registry.as_ref(),
 			telemetry.as_ref().map(|t| t.handle()),
 			&task_manager,
-			&relay_chain_full_node,
+			relay_chain_interface.clone(),
 			transaction_pool,
 			network,
 			params.keystore_container.sync_keystore(),
@@ -367,10 +387,12 @@
 			announce_block,
 			client: client.clone(),
 			task_manager: &mut task_manager,
-			relay_chain_full_node,
 			spawner,
 			parachain_consensus,
 			import_queue,
+			collator_key,
+			relay_chain_interface,
+			relay_chain_slot_duration,
 		};
 
 		start_collator(params).await?;
@@ -380,7 +402,9 @@
 			announce_block,
 			task_manager: &mut task_manager,
 			para_id: id,
-			relay_chain_full_node,
+			import_queue,
+			relay_chain_interface,
+			relay_chain_slot_duration,
 		};
 
 		start_full_node(params)?;
@@ -445,7 +469,7 @@
 		 prometheus_registry,
 		 telemetry,
 		 task_manager,
-		 relay_chain_node,
+		 relay_chain_interface,
 		 transaction_pool,
 		 sync_oracle,
 		 keystore,
@@ -460,31 +484,27 @@
 				telemetry.clone(),
 			);
 
-			let relay_chain_backend = relay_chain_node.backend.clone();
-			let relay_chain_client = relay_chain_node.client.clone();
-			Ok(build_aura_consensus::<
+			Ok(AuraConsensus::build::<
 				sp_consensus_aura::sr25519::AuthorityPair,
-				_,
-				_,
 				_,
 				_,
 				_,
 				_,
 				_,
 				_,
-				_,
 			>(BuildAuraConsensusParams {
 				proposer_factory,
 				create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
-					let parachain_inherent =
-					cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(
-						relay_parent,
-						&relay_chain_client,
-						&*relay_chain_backend,
-						&validation_data,
-						id,
-					);
+					let relay_chain_interface = relay_chain_interface.clone();
 					async move {
+						let parachain_inherent =
+						cumulus_primitives_parachain_inherent::ParachainInherentData::create_at(
+							relay_parent,
+							&relay_chain_interface,
+							&validation_data,
+							id,
+						).await;
+
 						let time = sp_timestamp::InherentDataProvider::from_system_time();
 
 						let slot =
@@ -502,8 +522,6 @@
 					}
 				},
 				block_import: client.clone(),
-				relay_chain_client: relay_chain_node.client.clone(),
-				relay_chain_backend: relay_chain_node.backend.clone(),
 				para_client: client,
 				backoff_authoring_blocks: Option::<()>::None,
 				sync_oracle,
modifiednode/rpc/Cargo.tomldiffbeforeafterboth
--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -13,40 +13,40 @@
 futures = { version = "0.3.17", features = ["compat"] }
 jsonrpc-core = "18.0.0"
 jsonrpc-pubsub = "18.0.0"
-# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 tokio = { version = "0.2.25", features = ["macros", "sync"] }
 
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
 
 pallet-unique = { path = "../../pallets/unique" }
 uc-rpc = { path = "../../client/rpc" }
modifiednode/rpc/src/lib.rsdiffbeforeafterboth
--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -1,13 +1,16 @@
+use sp_runtime::traits::BlakeTwo256;
 use unique_runtime::{Hash, AccountId, CrossAccountId, Index, opaque::Block, BlockNumber, Balance};
 use fc_rpc::{
-	EthBlockDataCache, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override, StorageOverride,
+	EthBlockDataCache, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override,
+	StorageOverride, SchemaV2Override, SchemaV3Override,
 };
-use fc_rpc_core::types::FilterPool;
+use fc_rpc_core::types::{FilterPool, FeeHistoryCache};
 use jsonrpc_pubsub::manager::SubscriptionManager;
 use pallet_ethereum::EthereumStorageSchema;
 use sc_client_api::{
 	backend::{AuxStore, StorageProvider},
 	client::BlockchainEvents,
+	StateBackend, Backend,
 };
 use sc_finality_grandpa::{
 	FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,
@@ -19,7 +22,6 @@
 use sp_api::ProvideRuntimeApi;
 use sp_block_builder::BlockBuilder;
 use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
-use sp_consensus::SelectChain;
 use sc_service::TransactionPool;
 use std::{collections::BTreeMap, marker::PhantomData, sync::Arc};
 
@@ -64,6 +66,12 @@
 	pub backend: Arc<fc_db::Backend<Block>>,
 	/// Maximum number of logs in a query.
 	pub max_past_logs: u32,
+	/// Maximum fee history cache size.
+	pub fee_history_limit: u64,
+	/// Fee history cache.
+	pub fee_history_cache: FeeHistoryCache,
+	/// Cache for Ethereum block data.
+	pub block_data_cache: Arc<EthBlockDataCache<Block>>,
 }
 
 struct AccountCodes<C, B> {
@@ -100,6 +108,41 @@
 	}
 }
 
+pub fn overrides_handle<C, BE>(client: Arc<C>) -> Arc<OverrideHandle<Block>>
+where
+	C: ProvideRuntimeApi<Block> + StorageProvider<Block, BE> + AuxStore,
+	C: HeaderBackend<Block> + HeaderMetadata<Block, Error = BlockChainError>,
+	C: Send + Sync + 'static,
+	C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,
+	C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,
+	BE: Backend<Block> + 'static,
+	BE::State: StateBackend<BlakeTwo256>,
+{
+	let mut overrides_map = BTreeMap::new();
+	overrides_map.insert(
+		EthereumStorageSchema::V1,
+		Box::new(SchemaV1Override::new_with_code_provider(
+			client.clone(),
+			Arc::new(AccountCodes::<C, Block>::new(client.clone())),
+		)) as Box<dyn StorageOverride<_> + Send + Sync>,
+	);
+	overrides_map.insert(
+		EthereumStorageSchema::V2,
+		Box::new(SchemaV2Override::new(client.clone()))
+			as Box<dyn StorageOverride<_> + Send + Sync>,
+	);
+	overrides_map.insert(
+		EthereumStorageSchema::V3,
+		Box::new(SchemaV3Override::new(client.clone()))
+			as Box<dyn StorageOverride<_> + Send + Sync>,
+	);
+
+	Arc::new(OverrideHandle {
+		schemas: overrides_map,
+		fallback: Box::new(RuntimeApiStorageOverride::new(client)),
+	})
+}
+
 /// Instantiate all Full RPC extensions.
 pub fn create_full<C, P, SC, CA, A, B>(
 	deps: FullDeps<C, P, SC, CA>,
@@ -118,7 +161,6 @@
 	C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,
 	B: sc_client_api::Backend<Block> + Send + Sync + 'static,
 	B::State: sc_client_api::backend::StateBackend<sp_runtime::traits::HashFor<Block>>,
-	SC: SelectChain<Block> + 'static,
 	P: TransactionPool<Block = Block> + 'static,
 	CA: ChainApi<Block = Block> + 'static,
 {
@@ -138,6 +180,9 @@
 		pool,
 		graph,
 		select_chain: _,
+		fee_history_limit,
+		fee_history_cache,
+		block_data_cache,
 		enable_dev_signer,
 		is_authority,
 		network,
@@ -163,21 +208,8 @@
 	if enable_dev_signer {
 		signers.push(Box::new(EthDevSigner::new()) as Box<dyn EthSigner>);
 	}
-	let mut overrides_map = BTreeMap::new();
-	overrides_map.insert(
-		EthereumStorageSchema::V1,
-		Box::new(SchemaV1Override::new_with_code_provider(
-			client.clone(),
-			Arc::new(AccountCodes::<C, Block>::new(client.clone())),
-		)) as Box<dyn StorageOverride<_> + Send + Sync>,
-	);
 
-	let overrides = Arc::new(OverrideHandle {
-		schemas: overrides_map,
-		fallback: Box::new(RuntimeApiStorageOverride::new(client.clone())),
-	});
-
-	let block_data_cache = Arc::new(EthBlockDataCache::new(50, 50));
+	let overrides = overrides_handle(client.clone());
 
 	io.extend_with(EthApiServer::to_delegate(EthApi::new(
 		client.clone(),
@@ -191,6 +223,8 @@
 		is_authority,
 		max_past_logs,
 		block_data_cache.clone(),
+		fee_history_limit,
+		fee_history_cache,
 	)));
 	io.extend_with(UniqueApi::to_delegate(Unique::new(client.clone())));
 
@@ -200,7 +234,6 @@
 			backend,
 			filter_pool,
 			500_usize, // max stored filters
-			overrides.clone(),
 			max_past_logs,
 			block_data_cache,
 		)));
modifiedpallets/common/Cargo.tomldiffbeforeafterboth
--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -10,16 +10,16 @@
 version = '2.0.0'
 
 [dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
 serde = { version = "1.0.130", default-features = false }
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
modifiedpallets/common/src/account.rsdiffbeforeafterboth
--- a/pallets/common/src/account.rs
+++ b/pallets/common/src/account.rs
@@ -1,5 +1,5 @@
 use crate::Config;
-use codec::{Encode, EncodeLike, Decode};
+use codec::{Encode, EncodeLike, Decode, MaxEncodedLen};
 use sp_core::H160;
 use scale_info::{Type, TypeInfo};
 use core::cmp::Ordering;
@@ -10,7 +10,7 @@
 pub use up_evm_mapping::EvmBackwardsAddressMapping;
 
 pub trait CrossAccountId<AccountId>:
-	Encode + EncodeLike + Decode + TypeInfo + Clone + PartialEq + Ord + core::fmt::Debug + Default
+	Encode + EncodeLike + Decode + TypeInfo + MaxEncodedLen + Clone + PartialEq + Ord + core::fmt::Debug
 // +
 // Serialize + Deserialize<'static>
 {
@@ -23,7 +23,7 @@
 	fn conv_eq(&self, other: &Self) -> bool;
 }
 
-#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo)]
+#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo, MaxEncodedLen)]
 #[serde(rename_all = "camelCase")]
 enum BasicCrossAccountIdRepr<AccountId> {
 	Substrate(AccountId),
@@ -38,17 +38,17 @@
 	ethereum: H160,
 }
 
+impl<T: Config> MaxEncodedLen for BasicCrossAccountId<T> {
+	fn max_encoded_len() -> usize {
+		<BasicCrossAccountIdRepr<T::AccountId>>::max_encoded_len()
+	}
+}
+
 impl<T: Config> TypeInfo for BasicCrossAccountId<T> {
 	type Identity = Self;
 
 	fn type_info() -> Type {
 		<BasicCrossAccountIdRepr<T::AccountId>>::type_info()
-	}
-}
-
-impl<T: Config> Default for BasicCrossAccountId<T> {
-	fn default() -> Self {
-		Self::from_sub(T::AccountId::default())
 	}
 }
 
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -8,13 +8,16 @@
 	dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},
 	ensure, fail,
 	traits::{Imbalance, Get, Currency},
+	BoundedVec,
 };
 use pallet_evm::GasWeightMapping;
 use up_data_structs::{
 	COLLECTION_NUMBER_LIMIT, Collection, CollectionId, CreateItemData, ExistenceRequirement,
-	MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_COLLECTION_NAME_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
-	COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo, TokenId, Weight,
-	WithdrawReasons, CollectionStats,
+	MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo,
+	TokenId, Weight, WithdrawReasons, CollectionStats, MAX_TOKEN_OWNERSHIP, CollectionMode,
+	NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+	REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits,
+	CustomDataLimit, CreateCollectionData, SponsorshipState,
 };
 pub use pallet::*;
 use sp_core::H160;
@@ -53,8 +56,11 @@
 	pub fn try_get(id: CollectionId) -> Result<Self, DispatchError> {
 		Ok(Self::new(id).ok_or(<Error<T>>::CollectionNotFound)?)
 	}
-	pub fn log(&self, log: impl evm_coder::ToLog) {
-		self.recorder.log(log)
+	pub fn log_mirrored(&self, log: impl evm_coder::ToLog) {
+		self.recorder.log_mirrored(log)
+	}
+	pub fn log_direct(&self, log: impl evm_coder::ToLog) {
+		self.recorder.log_direct(log)
 	}
 	pub fn consume_store_reads(&self, reads: u64) -> evm_coder::execution::Result<()> {
 		self.recorder
@@ -285,6 +291,10 @@
 		TokenVariableDataLimitExceeded,
 		/// Exceeded max admin count
 		CollectionAdminCountExceeded,
+		/// Collection limit bounds per collection exceeded
+		CollectionLimitBoundsExceeded,
+		/// Tried to enable permissions which are only permitted to be disabled
+		OwnerPermissionsCantBeReverted,
 
 		/// Collection settings not allowing items transferring
 		TransferNotAllowed,
@@ -300,7 +310,7 @@
 		/// Item balance not enough.
 		TokenValueTooLow,
 		/// Requested value more than approved.
-		TokenValueNotEnough,
+		ApprovedValueTooLow,
 		/// Tried to approve more than owned
 		CantApproveMoreThanOwned,
 
@@ -395,18 +405,13 @@
 }
 
 impl<T: Config> Pallet<T> {
-	pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {
+	pub fn init_collection(
+		owner: T::AccountId,
+		data: CreateCollectionData<T::AccountId>,
+	) -> Result<CollectionId, DispatchError> {
 		{
-			ensure!(
-				data.name.len() <= MAX_COLLECTION_NAME_LENGTH,
-				Error::<T>::CollectionNameLimitExceeded
-			);
 			ensure!(
-				data.description.len() <= MAX_COLLECTION_DESCRIPTION_LENGTH,
-				Error::<T>::CollectionDescriptionLimitExceeded
-			);
-			ensure!(
-				data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH,
+				data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH as usize,
 				Error::<T>::CollectionTokenPrefixLimitExceeded
 			);
 		}
@@ -426,6 +431,29 @@
 
 		// =========
 
+		let collection = Collection {
+			owner: owner.clone(),
+			name: data.name,
+			mode: data.mode.clone(),
+			mint_mode: false,
+			access: data.access.unwrap_or_default(),
+			description: data.description,
+			token_prefix: data.token_prefix,
+			offchain_schema: data.offchain_schema,
+			schema_version: data.schema_version.unwrap_or_default(),
+			sponsorship: data
+				.pending_sponsor
+				.map(SponsorshipState::Unconfirmed)
+				.unwrap_or_default(),
+			variable_on_chain_schema: data.variable_on_chain_schema,
+			const_on_chain_schema: data.const_on_chain_schema,
+			limits: data
+				.limits
+				.map(|limits| Self::clamp_limits(data.mode.clone(), &Default::default(), limits))
+				.unwrap_or_else(|| Ok(CollectionLimits::default()))?,
+			meta_update_permission: data.meta_update_permission.unwrap_or_default(),
+		};
+
 		// Take a (non-refundable) deposit of collection creation
 		{
 			let mut imbalance =
@@ -437,7 +465,7 @@
 				),
 			);
 			<T as Config>::Currency::settle(
-				&data.owner,
+				&owner,
 				imbalance,
 				WithdrawReasons::TRANSFER,
 				ExistenceRequirement::KeepAlive,
@@ -446,12 +474,8 @@
 		}
 
 		<CreatedCollectionCount<T>>::put(created_count);
-		<Pallet<T>>::deposit_event(Event::CollectionCreated(
-			id,
-			data.mode.id(),
-			data.owner.clone(),
-		));
-		<CollectionById<T>>::insert(id, data);
+		<Pallet<T>>::deposit_event(Event::CollectionCreated(id, data.mode.id(), owner.clone()));
+		<CollectionById<T>>::insert(id, collection);
 		Ok(id)
 	}
 
@@ -535,6 +559,61 @@
 
 		Ok(())
 	}
+
+	pub fn clamp_limits(
+		mode: CollectionMode,
+		old_limit: &CollectionLimits,
+		mut new_limit: CollectionLimits,
+	) -> Result<CollectionLimits, DispatchError> {
+		macro_rules! limit_default {
+				($old:ident, $new:ident, $($field:ident $(($arg:expr))? => $check:expr),* $(,)?) => {{
+					$(
+						if let Some($new) = $new.$field {
+							let $old = $old.$field($($arg)?);
+							let _ = $new;
+							let _ = $old;
+							$check
+						} else {
+							$new.$field = $old.$field
+						}
+					)*
+				}};
+			}
+
+		limit_default!(old_limit, new_limit,
+			account_token_ownership_limit => ensure!(
+				new_limit <= MAX_TOKEN_OWNERSHIP,
+				<Error<T>>::CollectionLimitBoundsExceeded,
+			),
+			sponsor_transfer_timeout(match mode {
+				CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,
+				CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+				CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+			}) => ensure!(
+				new_limit <= MAX_SPONSOR_TIMEOUT,
+				<Error<T>>::CollectionLimitBoundsExceeded,
+			),
+			sponsored_data_size => ensure!(
+				new_limit <= CUSTOM_DATA_LIMIT,
+				<Error<T>>::CollectionLimitBoundsExceeded,
+			),
+			token_limit => ensure!(
+				old_limit >= new_limit && new_limit > 0,
+				<Error<T>>::CollectionTokenLimitExceeded
+			),
+			owner_can_transfer => ensure!(
+				old_limit || !new_limit,
+				<Error<T>>::OwnerPermissionsCantBeReverted,
+			),
+			owner_can_destroy => ensure!(
+				old_limit || !new_limit,
+				<Error<T>>::OwnerPermissionsCantBeReverted,
+			),
+			sponsored_data_rate_limit => {},
+			transfers_enabled => {},
+		);
+		Ok(new_limit)
+	}
 }
 
 #[macro_export]
@@ -610,14 +689,14 @@
 		&self,
 		sender: T::CrossAccountId,
 		token: TokenId,
-		data: Vec<u8>,
+		data: BoundedVec<u8, CustomDataLimit>,
 	) -> DispatchResultWithPostInfo;
 
 	fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId>;
 	fn token_exists(&self, token: TokenId) -> bool;
 	fn last_token_id(&self) -> TokenId;
 
-	fn token_owner(&self, token: TokenId) -> T::CrossAccountId;
+	fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId>;
 	fn const_metadata(&self, token: TokenId) -> Vec<u8>;
 	fn variable_metadata(&self, token: TokenId) -> Vec<u8>;
 
deletedpallets/contract-helpers/Cargo.tomldiffbeforeafterboth
--- a/pallets/contract-helpers/Cargo.toml
+++ /dev/null
@@ -1,29 +0,0 @@
-[package]
-name = "pallet-contract-helpers"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '2.3.0'
-
-[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-contracts = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
-
-[features]
-default = ["std"]
-std = [
-    "frame-support/std",
-    "frame-system/std",
-    "pallet-contracts/std",
-    "sp-runtime/std",
-    "sp-std/std",
-]
deletedpallets/contract-helpers/src/lib.rsdiffbeforeafterboth
--- a/pallets/contract-helpers/src/lib.rs
+++ /dev/null
@@ -1,285 +0,0 @@
-#![cfg_attr(not(feature = "std"), no_std)]
-
-pub use pallet::*;
-
-#[frame_support::pallet]
-pub mod pallet {
-	use frame_support::sp_runtime::traits::StaticLookup;
-	use frame_support::{pallet_prelude::*, traits::IsSubType};
-	use frame_system::pallet_prelude::*;
-	use frame_system::Config as SysConfig;
-	use pallet_contracts::chain_extension::UncheckedFrom;
-	use sp_runtime::{
-		traits::{DispatchInfoOf, Hash, PostDispatchInfoOf, SignedExtension},
-		transaction_validity,
-	};
-	use sp_std::vec::Vec;
-	use up_sponsorship::SponsorshipHandler;
-
-	#[pallet::error]
-	pub enum Error<T> {
-		/// Should be contract owner
-		NoPermission,
-	}
-
-	#[pallet::config]
-	pub trait Config: frame_system::Config + pallet_contracts::Config {
-		type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;
-	}
-
-	#[pallet::pallet]
-	#[pallet::generate_store(pub(super) trait Store)]
-	pub struct Pallet<T>(_);
-
-	#[pallet::storage]
-	pub(super) type Owner<T: Config> = StorageMap<
-		Hasher = Twox128,
-		Key = T::AccountId,
-		Value = T::AccountId,
-		QueryKind = ValueQuery,
-	>;
-
-	#[pallet::storage]
-	pub(super) type AllowlistEnabled<T: Config> =
-		StorageMap<Hasher = Twox128, Key = T::AccountId, Value = bool, QueryKind = ValueQuery>;
-
-	#[pallet::storage]
-	pub(super) type Allowlist<T: Config> = StorageDoubleMap<
-		Hasher1 = Twox128,
-		Key1 = T::AccountId,
-		Hasher2 = Twox64Concat,
-		Key2 = T::AccountId,
-		Value = bool,
-		QueryKind = ValueQuery,
-	>;
-
-	#[pallet::storage]
-	pub(super) type SelfSponsoring<T: Config> =
-		StorageMap<Hasher = Twox128, Key = T::AccountId, Value = bool, QueryKind = ValueQuery>;
-
-	#[pallet::storage]
-	pub(super) type SponsoringRateLimit<T: Config> = StorageMap<
-		Hasher = Twox128,
-		Key = T::AccountId,
-		Value = T::BlockNumber,
-		QueryKind = ValueQuery,
-		OnEmpty = T::DefaultSponsoringRateLimit,
-	>;
-
-	#[pallet::storage]
-	pub(super) type SponsorBasket<T: Config> = StorageDoubleMap<
-		Hasher1 = Twox128,
-		Key1 = T::AccountId,
-		Hasher2 = Twox128,
-		Key2 = T::AccountId,
-		Value = T::BlockNumber,
-		QueryKind = ValueQuery,
-	>;
-
-	impl<T: Config> Pallet<T> {
-		pub fn allowed(contract: T::AccountId, user: T::AccountId, default: bool) -> bool {
-			if !<AllowlistEnabled<T>>::get(&contract) {
-				return default;
-			}
-			<Allowlist<T>>::get(&contract, &user) || <Owner<T>>::get(contract) == user
-		}
-	}
-
-	#[pallet::call]
-	impl<T: Config> Pallet<T> {
-		#[pallet::weight(0)]
-		pub fn toggle_sponsoring(
-			origin: OriginFor<T>,
-			contract: T::AccountId,
-			sponsoring: bool,
-		) -> DispatchResult {
-			let sender = ensure_signed(origin)?;
-			ensure!(
-				<Owner<T>>::get(&contract) == sender,
-				<Error<T>>::NoPermission
-			);
-
-			if sponsoring {
-				<SelfSponsoring<T>>::insert(contract, true);
-			} else {
-				<SelfSponsoring<T>>::remove(contract);
-			}
-			Ok(())
-		}
-
-		#[pallet::weight(0)]
-		pub fn toggle_allowlist(
-			origin: OriginFor<T>,
-			contract: T::AccountId,
-			enabled: bool,
-		) -> DispatchResult {
-			let sender = ensure_signed(origin)?;
-			ensure!(
-				<Owner<T>>::get(&contract) == sender,
-				<Error<T>>::NoPermission
-			);
-
-			if enabled {
-				<AllowlistEnabled<T>>::insert(contract, true);
-			} else {
-				<AllowlistEnabled<T>>::remove(contract);
-			}
-			Ok(())
-		}
-
-		#[pallet::weight(0)]
-		pub fn toggle_allowed(
-			origin: OriginFor<T>,
-			contract: T::AccountId,
-			user: T::AccountId,
-			allowed: bool,
-		) -> DispatchResult {
-			let sender = ensure_signed(origin)?;
-			ensure!(
-				<Owner<T>>::get(&contract) == sender,
-				<Error<T>>::NoPermission
-			);
-
-			if allowed {
-				<Allowlist<T>>::insert(contract, user, true);
-			} else {
-				<Allowlist<T>>::remove(contract, user);
-			}
-			Ok(())
-		}
-
-		#[pallet::weight(0)]
-		pub fn set_sponsoring_rate_limit(
-			origin: OriginFor<T>,
-			contract: T::AccountId,
-			rate_limit: T::BlockNumber,
-		) -> DispatchResult {
-			let sender = ensure_signed(origin)?;
-			ensure!(
-				<Owner<T>>::get(&contract) == sender,
-				<Error<T>>::NoPermission
-			);
-
-			<SponsoringRateLimit<T>>::insert(contract, rate_limit);
-			Ok(())
-		}
-	}
-
-	#[derive(Encode, Decode, Clone, PartialEq, Eq, scale_info::TypeInfo)]
-	pub struct ContractHelpersExtension<T: scale_info::TypeInfo>(PhantomData<T>);
-	impl<T: scale_info::TypeInfo> core::fmt::Debug for ContractHelpersExtension<T> {
-		fn fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
-			fmt.debug_struct("ContractHelpersExtension").finish()
-		}
-	}
-
-	type CodeHash<T> = <T as frame_system::Config>::Hash;
-	impl<T: scale_info::TypeInfo> SignedExtension for ContractHelpersExtension<T>
-	where
-		T: Config + Send + Sync,
-		<T as SysConfig>::Call: sp_runtime::traits::Dispatchable,
-		<T as SysConfig>::Call: IsSubType<pallet_contracts::Call<T>>,
-		T::AccountId: UncheckedFrom<T::Hash>,
-		T::AccountId: AsRef<[u8]>,
-	{
-		const IDENTIFIER: &'static str = "ContractHelpers";
-		type AccountId = T::AccountId;
-		type Call = <T as SysConfig>::Call;
-		type AdditionalSigned = ();
-		type Pre = Option<(Self::AccountId, CodeHash<T>, Vec<u8>)>;
-
-		fn additional_signed(&self) -> Result<(), transaction_validity::TransactionValidityError> {
-			Ok(())
-		}
-
-		fn validate(
-			&self,
-			who: &T::AccountId,
-			call: &Self::Call,
-			_info: &DispatchInfoOf<Self::Call>,
-			_len: usize,
-		) -> transaction_validity::TransactionValidity {
-			if let Some(pallet_contracts::Call::call {
-				dest,
-				value: _value,
-				gas_limit: _gas_limit,
-				data: _data,
-			}) = IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call)
-			{
-				let called_contract: T::AccountId =
-					T::Lookup::lookup((*dest).clone()).unwrap_or_default();
-				if !<Pallet<T>>::allowed(called_contract, who.clone(), true) {
-					return Err(transaction_validity::InvalidTransaction::Call.into());
-				}
-			}
-			Ok(transaction_validity::ValidTransaction::default())
-		}
-
-		fn pre_dispatch(
-			self,
-			who: &Self::AccountId,
-			call: &Self::Call,
-			_info: &DispatchInfoOf<Self::Call>,
-			_len: usize,
-		) -> Result<Self::Pre, TransactionValidityError> {
-			match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {
-				Some(pallet_contracts::Call::instantiate {
-					code_hash, salt, ..
-				}) => Ok(Some((who.clone(), *code_hash, salt.clone()))),
-				Some(pallet_contracts::Call::instantiate_with_code { code, salt, .. }) => {
-					let code_hash = &T::Hashing::hash(code);
-					Ok(Some((who.clone(), *code_hash, salt.clone())))
-				}
-				_ => Ok(None),
-			}
-		}
-
-		fn post_dispatch(
-			pre: Self::Pre,
-			_info: &DispatchInfoOf<Self::Call>,
-			_post_info: &PostDispatchInfoOf<Self::Call>,
-			_len: usize,
-			_result: &DispatchResult,
-		) -> Result<(), TransactionValidityError> {
-			if let Some((who, code_hash, salt)) = pre {
-				let new_contract_address =
-					<pallet_contracts::Pallet<T>>::contract_address(&who, &code_hash, &salt);
-				<Owner<T>>::insert(&new_contract_address, &who);
-			}
-
-			Ok(())
-		}
-	}
-
-	pub struct ContractSponsorshipHandler<T>(PhantomData<T>);
-	impl<T, C> SponsorshipHandler<T::AccountId, C> for ContractSponsorshipHandler<T>
-	where
-		T: Config,
-		C: IsSubType<pallet_contracts::Call<T>>,
-		T::AccountId: UncheckedFrom<T::Hash>,
-		T::AccountId: AsRef<[u8]>,
-	{
-		fn get_sponsor(who: &T::AccountId, call: &C) -> Option<T::AccountId> {
-			if let Some(pallet_contracts::Call::call { dest, .. }) =
-				IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call)
-			{
-				let called_contract: T::AccountId =
-					T::Lookup::lookup((*dest).clone()).unwrap_or_default();
-				if <SelfSponsoring<T>>::get(&called_contract)
-					&& <Pallet<T>>::allowed(called_contract.clone(), who.clone(), false)
-				{
-					let last_tx_block = SponsorBasket::<T>::get(&called_contract, &who);
-					let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
-					let rate_limit = SponsoringRateLimit::<T>::get(&called_contract);
-					let limit_time = last_tx_block + rate_limit;
-
-					if block_number >= limit_time {
-						SponsorBasket::<T>::insert(&called_contract, who, block_number);
-						return Some(called_contract);
-					}
-				}
-			}
-			None
-		}
-	}
-}
modifiedpallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -7,15 +7,15 @@
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-ethereum = { version = "0.10.0", default-features = false }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+ethereum = { version = "0.11.1", default-features = false }
 evm-coder = { default-features = false, path = "../../crates/evm-coder" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 
 [dependencies.codec]
 default-features = false
modifiedpallets/evm-coder-substrate/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-coder-substrate/src/lib.rs
+++ b/pallets/evm-coder-substrate/src/lib.rs
@@ -21,7 +21,7 @@
 	use frame_support::{ensure};
 	use pallet_evm::{
 		ExitError, ExitRevert, ExitSucceed, GasWeightMapping, PrecompileFailure, PrecompileOutput,
-		PrecompileResult,
+		PrecompileResult, runner::stack::MaybeMirroredLog,
 	};
 	use frame_system::ensure_signed;
 	pub use frame_support::dispatch::DispatchResult;
@@ -29,7 +29,7 @@
 	use sp_std::cell::RefCell;
 	use sp_std::vec::Vec;
 	use sp_core::{H160, H256};
-	use ethereum::Log;
+	use ethereum::TransactionV2;
 	use frame_support::{pallet_prelude::*, traits::PalletInfo};
 	use frame_system::pallet_prelude::*;
 
@@ -66,9 +66,9 @@
 	pub const G_SLOAD_WORD: u64 = 800;
 	pub const G_SSTORE_WORD: u64 = 20000;
 
-	pub fn generate_transaction() -> ethereum::TransactionV0 {
+	pub fn generate_transaction() -> TransactionV2 {
 		use ethereum::{TransactionV0, TransactionAction, TransactionSignature};
-		TransactionV0 {
+		TransactionV2::Legacy(TransactionV0 {
 			nonce: 0.into(),
 			gas_price: 0.into(),
 			gas_limit: 0.into(),
@@ -78,13 +78,13 @@
 			input: Vec::from([0, 0, 0, 0]),
 			// if v is not 27 - then we need to pass some other validity checks
 			signature: TransactionSignature::new(27, H256([0x88; 32]), H256([0x88; 32])).unwrap(),
-		}
+		})
 	}
 
 	#[derive(Default)]
 	pub struct SubstrateRecorder<T: Config> {
 		contract: H160,
-		logs: RefCell<Vec<Log>>,
+		logs: RefCell<Vec<MaybeMirroredLog>>,
 		initial_gas: u64,
 		gas_limit: RefCell<u64>,
 		_phantom: PhantomData<*const T>,
@@ -104,13 +104,19 @@
 		pub fn is_empty(&self) -> bool {
 			self.logs.borrow().is_empty()
 		}
-		// TODO: Replace with real storage in pallet-ethereum,
-		// same way as it is done with frame_system's Events
-		/// Doesn't consumes any gas, should be used after consume_log_sub
-		pub fn log(&self, log: impl ToLog) {
-			self.logs.borrow_mut().push(log.to_log(self.contract));
+		// Logs emitted with log_direct appear as substrate evm.Log event
+		pub fn log_direct(&self, log: impl ToLog) {
+			self.logs
+				.borrow_mut()
+				.push(MaybeMirroredLog::direct(log.to_log(self.contract)))
+		}
+		/// If log already has substrate equivalent - then we don't need to emit evm.Log
+		pub fn log_mirrored(&self, log: impl ToLog) {
+			self.logs
+				.borrow_mut()
+				.push(MaybeMirroredLog::mirrored(log.to_log(self.contract)))
 		}
-		pub fn retrieve_logs(self) -> Vec<Log> {
+		pub fn retrieve_logs(self) -> Vec<MaybeMirroredLog> {
 			self.logs.into_inner()
 		}
 
@@ -165,7 +171,8 @@
 				Ok(Some(v)) => Ok(PrecompileOutput {
 					exit_status: ExitSucceed::Returned,
 					cost: self.initial_gas - self.gas_left(),
-					logs: self.retrieve_logs(),
+					// TODO: preserve mirroring status
+					logs: self.retrieve_logs().into_iter().map(|l| l.log).collect(),
 					output: v.finish(),
 				}),
 				Ok(None) => return None,
modifiedpallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -7,15 +7,15 @@
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
 log = "0.4.14"
 
 [dependencies.codec]
deletedpallets/evm-contract-helpers/exp.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/exp.rs
+++ /dev/null
@@ -1,1474 +0,0 @@
-#![feature(prelude_import)]
-#[prelude_import]
-use std::prelude::rust_2018::*;
-#[macro_use]
-extern crate std;
-pub use pallet::*;
-pub use eth::*;
-pub mod eth {
-    use core::marker::PhantomData;
-    use evm_coder::{abi::AbiWriter, execution::Result, generate_stubgen, solidity_interface, types::*};
-    use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
-    use pallet_evm::{ExitReason, ExitRevert, OnCreate, OnMethodCall, PrecompileOutput};
-    use sp_core::H160;
-    use crate::{
-        AllowlistEnabled, Config, Owner, Pallet, SelfSponsoring, SponsorBasket, SponsoringRateLimit,
-    };
-    use frame_support::traits::Get;
-    use up_sponsorship::SponsorshipHandler;
-    use sp_std::{convert::TryInto, vec::Vec};
-    struct ContractHelpers<T: Config>(SubstrateRecorder<T>);
-    impl<T: Config> WithRecorder<T> for ContractHelpers<T> {
-        fn recorder(&self) -> &SubstrateRecorder<T> {
-            &self.0
-        }
-        fn into_recorder(self) -> SubstrateRecorder<T> {
-            self.0
-        }
-    }
-    impl<T: Config> ContractHelpers<T> {
-        fn contract_owner(&self, contract_address: address) -> Result<address> {
-            Ok(<Owner<T>>::get(contract_address))
-        }
-        fn sponsoring_enabled(&self, contract_address: address) -> Result<bool> {
-            Ok(<SelfSponsoring<T>>::get(contract_address))
-        }
-        fn toggle_sponsoring(
-            &mut self,
-            caller: caller,
-            contract_address: address,
-            enabled: bool,
-        ) -> Result<void> {
-            <Pallet<T>>::ensure_owner(contract_address, caller)?;
-            <Pallet<T>>::toggle_sponsoring(contract_address, enabled);
-            Ok(())
-        }
-        fn set_sponsoring_rate_limit(
-            &mut self,
-            caller: caller,
-            contract_address: address,
-            rate_limit: uint32,
-        ) -> Result<void> {
-            <Pallet<T>>::ensure_owner(contract_address, caller)?;
-            <Pallet<T>>::set_sponsoring_rate_limit(contract_address, rate_limit.into());
-            Ok(())
-        }
-        fn get_sponsoring_rate_limit(&self, contract_address: address) -> Result<uint32> {
-            Ok(<SponsoringRateLimit<T>>::get(contract_address)
-                .try_into()
-                .map_err(|_| "rate limit > u32::MAX")?)
-        }
-        fn allowed(&self, contract_address: address, user: address) -> Result<bool> {
-            Ok(<Pallet<T>>::allowed(contract_address, user, true))
-        }
-        fn allowlist_enabled(&self, contract_address: address) -> Result<bool> {
-            Ok(<AllowlistEnabled<T>>::get(contract_address))
-        }
-        fn toggle_allowlist(
-            &mut self,
-            caller: caller,
-            contract_address: address,
-            enabled: bool,
-        ) -> Result<void> {
-            <Pallet<T>>::ensure_owner(contract_address, caller)?;
-            <Pallet<T>>::toggle_allowlist(contract_address, enabled);
-            Ok(())
-        }
-        fn toggle_allowed(
-            &mut self,
-            caller: caller,
-            contract_address: address,
-            user: address,
-            allowed: bool,
-        ) -> Result<void> {
-            <Pallet<T>>::ensure_owner(contract_address, caller)?;
-            <Pallet<T>>::toggle_allowed(contract_address, user, allowed);
-            Ok(())
-        }
-    }
-    pub enum ContractHelpersCall<T: Config> {
-        ERC165Call(::evm_coder::ERC165Call, PhantomData<(T)>),
-        ContractOwner {
-            contract_address: address,
-        },
-        SponsoringEnabled {
-            contract_address: address,
-        },
-        ToggleSponsoring {
-            contract_address: address,
-            enabled: bool,
-        },
-        SetSponsoringRateLimit {
-            contract_address: address,
-            rate_limit: uint32,
-        },
-        GetSponsoringRateLimit {
-            contract_address: address,
-        },
-        Allowed {
-            contract_address: address,
-            user: address,
-        },
-        AllowlistEnabled {
-            contract_address: address,
-        },
-        ToggleAllowlist {
-            contract_address: address,
-            enabled: bool,
-        },
-        ToggleAllowed {
-            contract_address: address,
-            user: address,
-            allowed: bool,
-        },
-    }
-    #[automatically_derived]
-    #[allow(unused_qualifications)]
-    impl<T: ::core::fmt::Debug + Config> ::core::fmt::Debug for ContractHelpersCall<T> {
-        fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
-            match (&*self,) {
-                (&ContractHelpersCall::ERC165Call(ref __self_0, ref __self_1),) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_tuple(f, "ERC165Call");
-                    let _ = ::core::fmt::DebugTuple::field(debug_trait_builder, &&(*__self_0));
-                    let _ = ::core::fmt::DebugTuple::field(debug_trait_builder, &&(*__self_1));
-                    ::core::fmt::DebugTuple::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::ContractOwner {
-                    contract_address: ref __self_0,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "ContractOwner");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::SponsoringEnabled {
-                    contract_address: ref __self_0,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "SponsoringEnabled");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::ToggleSponsoring {
-                    contract_address: ref __self_0,
-                    enabled: ref __self_1,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "ToggleSponsoring");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "enabled",
-                        &&(*__self_1),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::SetSponsoringRateLimit {
-                    contract_address: ref __self_0,
-                    rate_limit: ref __self_1,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "SetSponsoringRateLimit");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "rate_limit",
-                        &&(*__self_1),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::GetSponsoringRateLimit {
-                    contract_address: ref __self_0,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "GetSponsoringRateLimit");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::Allowed {
-                    contract_address: ref __self_0,
-                    user: ref __self_1,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "Allowed");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    let _ =
-                        ::core::fmt::DebugStruct::field(debug_trait_builder, "user", &&(*__self_1));
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::AllowlistEnabled {
-                    contract_address: ref __self_0,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "AllowlistEnabled");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::ToggleAllowlist {
-                    contract_address: ref __self_0,
-                    enabled: ref __self_1,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "ToggleAllowlist");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "enabled",
-                        &&(*__self_1),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-                (&ContractHelpersCall::ToggleAllowed {
-                    contract_address: ref __self_0,
-                    user: ref __self_1,
-                    allowed: ref __self_2,
-                },) => {
-                    let debug_trait_builder =
-                        &mut ::core::fmt::Formatter::debug_struct(f, "ToggleAllowed");
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "contract_address",
-                        &&(*__self_0),
-                    );
-                    let _ =
-                        ::core::fmt::DebugStruct::field(debug_trait_builder, "user", &&(*__self_1));
-                    let _ = ::core::fmt::DebugStruct::field(
-                        debug_trait_builder,
-                        "allowed",
-                        &&(*__self_2),
-                    );
-                    ::core::fmt::DebugStruct::finish(debug_trait_builder)
-                }
-            }
-        }
-    }
-    impl<T: Config> ContractHelpersCall<T> {
-        #[doc = "contractOwner(address)"]
-        const CONTRACT_OWNER: u32 = 1364373836u32;
-        #[doc = "sponsoringEnabled(address)"]
-        const SPONSORING_ENABLED: u32 = 1613225057u32;
-        #[doc = "toggleSponsoring(address,bool)"]
-        const TOGGLE_SPONSORING: u32 = 4239158662u32;
-        #[doc = "setSponsoringRateLimit(address,uint32)"]
-        const SET_SPONSORING_RATE_LIMIT: u32 = 2008467720u32;
-        #[doc = "getSponsoringRateLimit(address)"]
-        const GET_SPONSORING_RATE_LIMIT: u32 = 1628240573u32;
-        #[doc = "allowed(address,address)"]
-        const ALLOWED: u32 = 1550156133u32;
-        #[doc = "allowlistEnabled(address)"]
-        const ALLOWLIST_ENABLED: u32 = 3346198380u32;
-        #[doc = "toggleAllowlist(address,bool)"]
-        const TOGGLE_ALLOWLIST: u32 = 920527093u32;
-        #[doc = "toggleAllowed(address,address,bool)"]
-        const TOGGLE_ALLOWED: u32 = 1191627804u32;
-        pub const fn interface_id() -> u32 {
-            let mut interface_id = 0;
-            interface_id ^= Self::CONTRACT_OWNER;
-            interface_id ^= Self::SPONSORING_ENABLED;
-            interface_id ^= Self::TOGGLE_SPONSORING;
-            interface_id ^= Self::SET_SPONSORING_RATE_LIMIT;
-            interface_id ^= Self::GET_SPONSORING_RATE_LIMIT;
-            interface_id ^= Self::ALLOWED;
-            interface_id ^= Self::ALLOWLIST_ENABLED;
-            interface_id ^= Self::TOGGLE_ALLOWLIST;
-            interface_id ^= Self::TOGGLE_ALLOWED;
-            interface_id
-        }
-        pub fn supports_interface(interface_id: u32) -> bool {
-            interface_id != 0xffffff
-                && (interface_id == ::evm_coder::ERC165Call::INTERFACE_ID
-                    || interface_id == Self::interface_id())
-        }
-        pub fn generate_solidity_interface(tc: &evm_coder::solidity::TypeCollector, is_impl: bool) {
-            use evm_coder::solidity::*;
-            use core::fmt::Write;
-            let interface = SolidityInterface {
-                name: "ContractHelpers",
-                selector: Self::interface_id(),
-                is: &["Dummy", "ERC165"],
-                functions: (
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "contractOwner(address) 5152b14c",
-                        name: "contractOwner",
-                        mutability: SolidityMutability::View,
-                        args: (<NamedArgument<address>>::new("contractAddress"),),
-                        result: <UnnamedArgument<address>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "sponsoringEnabled(address) 6027dc61",
-                        name: "sponsoringEnabled",
-                        mutability: SolidityMutability::View,
-                        args: (<NamedArgument<address>>::new("contractAddress"),),
-                        result: <UnnamedArgument<bool>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "toggleSponsoring(address,bool) fcac6d86",
-                        name: "toggleSponsoring",
-                        mutability: SolidityMutability::Mutable,
-                        args: (
-                            <NamedArgument<address>>::new("contractAddress"),
-                            <NamedArgument<bool>>::new("enabled"),
-                        ),
-                        result: <UnnamedArgument<void>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "setSponsoringRateLimit(address,uint32) 77b6c908",
-                        name: "setSponsoringRateLimit",
-                        mutability: SolidityMutability::Mutable,
-                        args: (
-                            <NamedArgument<address>>::new("contractAddress"),
-                            <NamedArgument<uint32>>::new("rateLimit"),
-                        ),
-                        result: <UnnamedArgument<void>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "getSponsoringRateLimit(address) 610cfabd",
-                        name: "getSponsoringRateLimit",
-                        mutability: SolidityMutability::View,
-                        args: (<NamedArgument<address>>::new("contractAddress"),),
-                        result: <UnnamedArgument<uint32>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "allowed(address,address) 5c658165",
-                        name: "allowed",
-                        mutability: SolidityMutability::View,
-                        args: (
-                            <NamedArgument<address>>::new("contractAddress"),
-                            <NamedArgument<address>>::new("user"),
-                        ),
-                        result: <UnnamedArgument<bool>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "allowlistEnabled(address) c772ef6c",
-                        name: "allowlistEnabled",
-                        mutability: SolidityMutability::View,
-                        args: (<NamedArgument<address>>::new("contractAddress"),),
-                        result: <UnnamedArgument<bool>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "toggleAllowlist(address,bool) 36de20f5",
-                        name: "toggleAllowlist",
-                        mutability: SolidityMutability::Mutable,
-                        args: (
-                            <NamedArgument<address>>::new("contractAddress"),
-                            <NamedArgument<bool>>::new("enabled"),
-                        ),
-                        result: <UnnamedArgument<void>>::default(),
-                    },
-                    SolidityFunction {
-                        docs: &[],
-                        selector: "toggleAllowed(address,address,bool) 4706cc1c",
-                        name: "toggleAllowed",
-                        mutability: SolidityMutability::Mutable,
-                        args: (
-                            <NamedArgument<address>>::new("contractAddress"),
-                            <NamedArgument<address>>::new("user"),
-                            <NamedArgument<bool>>::new("allowed"),
-                        ),
-                        result: <UnnamedArgument<void>>::default(),
-                    },
-                ),
-            };
-            if is_impl {
-                tc . collect ("// Common stubs holder\ncontract Dummy {\n\tuint8 dummy;\n\tstring stub_error = \"this contract is implemented in native\";\n}\ncontract ERC165 is Dummy {\n\tfunction supportsInterface(bytes4 interfaceID) external view returns (bool) {\n\t\trequire(false, stub_error);\n\t\tinterfaceID;\n\t\treturn true;\n\t}\n}\n" . into ()) ;
-            } else {
-                tc . collect ("// Common stubs holder\ninterface Dummy {\n}\ninterface ERC165 is Dummy {\n\tfunction supportsInterface(bytes4 interfaceID) external view returns (bool);\n}\n" . into ()) ;
-            }
-            let mut out = string::new();
-            if "ContractHelpers".starts_with("Inline") {
-                out.push_str("// Inline\n");
-            }
-            let _ = interface.format(is_impl, &mut out, tc);
-            tc.collect(out);
-        }
-    }
-    impl<T: Config> ::evm_coder::Call for ContractHelpersCall<T> {
-        fn parse(
-            method_id: u32,
-            reader: &mut ::evm_coder::abi::AbiReader,
-        ) -> ::evm_coder::execution::Result<Option<Self>> {
-            use ::evm_coder::abi::AbiRead;
-            match method_id {
-                ::evm_coder::ERC165Call::INTERFACE_ID => {
-                    return Ok(
-                        ::evm_coder::ERC165Call::parse(method_id, reader)?.map(Self::ERC165Call)
-                    )
-                }
-                Self::CONTRACT_OWNER => {
-                    return Ok(Some(Self::ContractOwner {
-                        contract_address: reader.abi_read()?,
-                    }))
-                }
-                Self::SPONSORING_ENABLED => {
-                    return Ok(Some(Self::SponsoringEnabled {
-                        contract_address: reader.abi_read()?,
-                    }))
-                }
-                Self::TOGGLE_SPONSORING => {
-                    return Ok(Some(Self::ToggleSponsoring {
-                        contract_address: reader.abi_read()?,
-                        enabled: reader.abi_read()?,
-                    }))
-                }
-                Self::SET_SPONSORING_RATE_LIMIT => {
-                    return Ok(Some(Self::SetSponsoringRateLimit {
-                        contract_address: reader.abi_read()?,
-                        rate_limit: reader.abi_read()?,
-                    }))
-                }
-                Self::GET_SPONSORING_RATE_LIMIT => {
-                    return Ok(Some(Self::GetSponsoringRateLimit {
-                        contract_address: reader.abi_read()?,
-                    }))
-                }
-                Self::ALLOWED => {
-                    return Ok(Some(Self::Allowed {
-                        contract_address: reader.abi_read()?,
-                        user: reader.abi_read()?,
-                    }))
-                }
-                Self::ALLOWLIST_ENABLED => {
-                    return Ok(Some(Self::AllowlistEnabled {
-                        contract_address: reader.abi_read()?,
-                    }))
-                }
-                Self::TOGGLE_ALLOWLIST => {
-                    return Ok(Some(Self::ToggleAllowlist {
-                        contract_address: reader.abi_read()?,
-                        enabled: reader.abi_read()?,
-                    }))
-                }
-                Self::TOGGLE_ALLOWED => {
-                    return Ok(Some(Self::ToggleAllowed {
-                        contract_address: reader.abi_read()?,
-                        user: reader.abi_read()?,
-                        allowed: reader.abi_read()?,
-                    }))
-                }
-                _ => {}
-            }
-            return Ok(None);
-        }
-    }
-    impl<T: Config> ::evm_coder::Weighted for ContractHelpersCall<T> {
-        fn weight(&self) -> ::evm_coder::execution::DispatchInfo {
-            type InternalCall = ContractHelpersCall;
-            match self {
-                InternalCall::ERC165Call(::evm_coder::ERC165Call::SupportsInterface { .. }) => {
-                    100u64.into()
-                }
-                InternalCall::ContractOwner { .. } => ().into(),
-                InternalCall::SponsoringEnabled { .. } => ().into(),
-                InternalCall::ToggleSponsoring { .. } => ().into(),
-                InternalCall::SetSponsoringRateLimit { .. } => ().into(),
-                InternalCall::GetSponsoringRateLimit { .. } => ().into(),
-                InternalCall::Allowed { .. } => ().into(),
-                InternalCall::AllowlistEnabled { .. } => ().into(),
-                InternalCall::ToggleAllowlist { .. } => ().into(),
-                InternalCall::ToggleAllowed { .. } => ().into(),
-            }
-        }
-    }
-    impl<T: Config> ::evm_coder::Callable<ContractHelpersCall<T>> for ContractHelpers<T> {
-        #[allow(unreachable_code)]
-        fn call(
-            &mut self,
-            c: Msg<ContractHelpersCall>,
-        ) -> ::evm_coder::execution::ResultWithPostInfo<::evm_coder::abi::AbiWriter> {
-            use ::evm_coder::abi::AbiWrite;
-            type InternalCall = ContractHelpersCall;
-            match c.call {
-                InternalCall::ERC165Call(::evm_coder::ERC165Call::SupportsInterface {
-                    interface_id,
-                }) => {
-                    let mut writer = ::evm_coder::abi::AbiWriter::default();
-                    writer.bool(&InternalCall::supports_interface(interface_id));
-                    return Ok(writer.into());
-                }
-                _ => {}
-            }
-            let mut writer = ::evm_coder::abi::AbiWriter::default();
-            match c.call {
-                InternalCall::ContractOwner { contract_address } => {
-                    let result = self.contract_owner(contract_address)?;
-                    (&result).to_result()
-                }
-                InternalCall::SponsoringEnabled { contract_address } => {
-                    let result = self.sponsoring_enabled(contract_address)?;
-                    (&result).to_result()
-                }
-                InternalCall::ToggleSponsoring {
-                    contract_address,
-                    enabled,
-                } => {
-                    let result =
-                        self.toggle_sponsoring(c.caller.clone(), contract_address, enabled)?;
-                    (&result).to_result()
-                }
-                InternalCall::SetSponsoringRateLimit {
-                    contract_address,
-                    rate_limit,
-                } => {
-                    let result = self.set_sponsoring_rate_limit(
-                        c.caller.clone(),
-                        contract_address,
-                        rate_limit,
-                    )?;
-                    (&result).to_result()
-                }
-                InternalCall::GetSponsoringRateLimit { contract_address } => {
-                    let result = self.get_sponsoring_rate_limit(contract_address)?;
-                    (&result).to_result()
-                }
-                InternalCall::Allowed {
-                    contract_address,
-                    user,
-                } => {
-                    let result = self.allowed(contract_address, user)?;
-                    (&result).to_result()
-                }
-                InternalCall::AllowlistEnabled { contract_address } => {
-                    let result = self.allowlist_enabled(contract_address)?;
-                    (&result).to_result()
-                }
-                InternalCall::ToggleAllowlist {
-                    contract_address,
-                    enabled,
-                } => {
-                    let result =
-                        self.toggle_allowlist(c.caller.clone(), contract_address, enabled)?;
-                    (&result).to_result()
-                }
-                InternalCall::ToggleAllowed {
-                    contract_address,
-                    user,
-                    allowed,
-                } => {
-                    let result =
-                        self.toggle_allowed(c.caller.clone(), contract_address, user, allowed)?;
-                    (&result).to_result()
-                }
-                _ => ::core::panicking::panic("internal error: entered unreachable code"),
-            }
-        }
-    }
-    pub struct HelpersOnMethodCall<T: Config>(PhantomData<*const T>);
-    impl<T: Config> OnMethodCall<T> for HelpersOnMethodCall<T> {
-        fn is_reserved(contract: &sp_core::H160) -> bool {
-            contract == &T::ContractAddress::get()
-        }
-        fn is_used(contract: &sp_core::H160) -> bool {
-            contract == &T::ContractAddress::get()
-        }
-        fn call(
-            source: &sp_core::H160,
-            target: &sp_core::H160,
-            gas_left: u64,
-            input: &[u8],
-            value: sp_core::U256,
-        ) -> Option<PrecompileOutput> {
-            if !<Pallet<T>>::allowed(*target, *source, true) {
-                return Some(PrecompileOutput {
-                    exit_status: ExitReason::Revert(ExitRevert::Reverted),
-                    cost: 0,
-                    output: {
-                        let mut writer = AbiWriter::new_call(147028384u32);
-                        writer.string("Target contract is allowlisted");
-                        writer.finish()
-                    },
-                    logs: ::alloc::vec::Vec::new(),
-                });
-            }
-            if target != &T::ContractAddress::get() {
-                return None;
-            }
-            let helpers = ContractHelpers::<T>(SubstrateRecorder::<T>::new(*target, gas_left));
-            pallet_evm_coder_substrate::call(*source, helpers, value, input)
-        }
-        fn get_code(contract: &sp_core::H160) -> Option<Vec<u8>> {
-            (contract == & T :: ContractAddress :: get ()) . then (| | b"`\xe0`@R`&`\x80\x81\x81R\x90a\x04\xf4`\xa09\x80Qa\x00&\x91`\x01\x91` \x90\x91\x01\x90a\x009V[P4\x80\x15a\x003W`\x00\x80\xfd[Pa\x01\rV[\x82\x80Ta\x00E\x90a\x00\xd2V[\x90`\x00R` `\x00 \x90`\x1f\x01` \x90\x04\x81\x01\x92\x82a\x00gW`\x00\x85Ua\x00\xadV[\x82`\x1f\x10a\x00\x80W\x80Q`\xff\x19\x16\x83\x80\x01\x17\x85Ua\x00\xadV[\x82\x80\x01`\x01\x01\x85U\x82\x15a\x00\xadW\x91\x82\x01[\x82\x81\x11\x15a\x00\xadW\x82Q\x82U\x91` \x01\x91\x90`\x01\x01\x90a\x00\x92V[Pa\x00\xb9\x92\x91Pa\x00\xbdV[P\x90V[[\x80\x82\x11\x15a\x00\xb9W`\x00\x81U`\x01\x01a\x00\xbeV[`\x01\x81\x81\x1c\x90\x82\x16\x80a\x00\xe6W`\x7f\x82\x16\x91P[` \x82\x10\x81\x14\x15a\x01\x07WcNH{q`\xe0\x1b`\x00R`\"`\x04R`$`\x00\xfd[P\x91\x90PV[a\x03\xd8\x80a\x01\x1c`\x009`\x00\xf3\xfe`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00\x9eW`\x005`\xe0\x1c\x80c`\'\xdca\x11a\x00fW\x80c`\'\xdca\x14a\x01\"W\x80ca\x0c\xfa\xbd\x14a\x010W\x80cw\xb6\xc9\x08\x14a\x01SW\x80c\xc7r\xefl\x14a\x01\"W\x80c\xfc\xacm\x86\x14a\x00\xcbW`\x00\x80\xfd[\x80c\x01\xff\xc9\xa7\x14a\x00\xa3W\x80c6\xde \xf5\x14a\x00\xcbW\x80cG\x06\xcc\x1c\x14a\x00\xe0W\x80cQR\xb1L\x14a\x00\xeeW\x80c\\e\x81e\x14a\x01\x14W[`\x00\x80\xfd[a\x00\xb6a\x00\xb16`\x04a\x01\xa2V[a\x01aV[`@Q\x90\x15\x15\x81R` \x01[`@Q\x80\x91\x03\x90\xf3[a\x00\xdea\x00\xd96`\x04a\x01\xffV[a\x01\x87V[\x00[a\x00\xdea\x00\xd96`\x04a\x022V[a\x00\xfca\x00\xb16`\x04a\x02uV[`@Q`\x01`\x01`\xa0\x1b\x03\x90\x91\x16\x81R` \x01a\x00\xc2V[a\x00\xb6a\x00\xb16`\x04a\x02\x90V[a\x00\xb6a\x00\xb16`\x04a\x02uV[a\x01>a\x00\xb16`\x04a\x02uV[`@Qc\xff\xff\xff\xff\x90\x91\x16\x81R` \x01a\x00\xc2V[a\x00\xdea\x00\xd96`\x04a\x02\xbaV[`\x00`\x01`@QbF\x1b\xcd`\xe5\x1b\x81R`\x04\x01a\x01~\x91\x90a\x02\xfaV[`@Q\x80\x91\x03\x90\xfd[`\x01`@QbF\x1b\xcd`\xe5\x1b\x81R`\x04\x01a\x01~\x91\x90a\x02\xfaV[`\x00` \x82\x84\x03\x12\x15a\x01\xb4W`\x00\x80\xfd[\x815`\x01`\x01`\xe0\x1b\x03\x19\x81\x16\x81\x14a\x01\xccW`\x00\x80\xfd[\x93\x92PPPV[\x805`\x01`\x01`\xa0\x1b\x03\x81\x16\x81\x14a\x01\xeaW`\x00\x80\xfd[\x91\x90PV[\x805\x80\x15\x15\x81\x14a\x01\xeaW`\x00\x80\xfd[`\x00\x80`@\x83\x85\x03\x12\x15a\x02\x12W`\x00\x80\xfd[a\x02\x1b\x83a\x01\xd3V[\x91Pa\x02)` \x84\x01a\x01\xefV[\x90P\x92P\x92\x90PV[`\x00\x80`\x00``\x84\x86\x03\x12\x15a\x02GW`\x00\x80\xfd[a\x02P\x84a\x01\xd3V[\x92Pa\x02^` \x85\x01a\x01\xd3V[\x91Pa\x02l`@\x85\x01a\x01\xefV[\x90P\x92P\x92P\x92V[`\x00` \x82\x84\x03\x12\x15a\x02\x87W`\x00\x80\xfd[a\x01\xcc\x82a\x01\xd3V[`\x00\x80`@\x83\x85\x03\x12\x15a\x02\xa3W`\x00\x80\xfd[a\x02\xac\x83a\x01\xd3V[\x91Pa\x02)` \x84\x01a\x01\xd3V[`\x00\x80`@\x83\x85\x03\x12\x15a\x02\xcdW`\x00\x80\xfd[a\x02\xd6\x83a\x01\xd3V[\x91P` \x83\x015c\xff\xff\xff\xff\x81\x16\x81\x14a\x02\xefW`\x00\x80\xfd[\x80\x91PP\x92P\x92\x90PV[`\x00` \x80\x83R`\x00\x84T\x81`\x01\x82\x81\x1c\x91P\x80\x83\x16\x80a\x03\x1cW`\x7f\x83\x16\x92P[\x85\x83\x10\x81\x14\x15a\x03:WcNH{q`\xe0\x1b\x85R`\"`\x04R`$\x85\xfd[\x87\x86\x01\x83\x81R` \x01\x81\x80\x15a\x03WW`\x01\x81\x14a\x03hWa\x03\x93V[`\xff\x19\x86\x16\x82R\x87\x82\x01\x96Pa\x03\x93V[`\x00\x8b\x81R` \x90 `\x00[\x86\x81\x10\x15a\x03\x8dW\x81T\x84\x82\x01R\x90\x85\x01\x90\x89\x01a\x03tV[\x83\x01\x97PP[P\x94\x99\x98PPPPPPPPPV\xfe\xa2dipfsX\"\x12 \xde\xe1\xb0gnP\xa0\xbb\xa7\xaf\xbek+\xe6S6\n\xcd?\x0c+\x81\xebEq\x8c\xe3\xab\xaaC6UdsolcC\x00\x08\t\x003this contract is implemented in native" . to_vec ())
-        }
-    }
-    pub struct HelpersOnCreate<T: Config>(PhantomData<*const T>);
-    impl<T: Config> OnCreate<T> for HelpersOnCreate<T> {
-        fn on_create(owner: H160, contract: H160) {
-            <Owner<T>>::insert(contract, owner);
-        }
-    }
-    pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);
-    impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for HelpersContractSponsoring<T> {
-        fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {
-            if <SelfSponsoring<T>>::get(&call.0) && <Pallet<T>>::allowed(call.0, *who, false) {
-                let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
-                if let Some(last_tx_block) = <SponsorBasket<T>>::get(&call.0, who) {
-                    let rate_limit = <SponsoringRateLimit<T>>::get(&call.0);
-                    let limit_time = last_tx_block + rate_limit;
-                    if block_number > limit_time {
-                        <SponsorBasket<T>>::insert(&call.0, who, block_number);
-                        return Some(call.0);
-                    }
-                } else {
-                    <SponsorBasket<T>>::insert(&call.0, who, block_number);
-                    return Some(call.0);
-                }
-            }
-            None
-        }
-    }
-}
-#[doc = r"
-			The module that hosts all the
-			[FRAME](https://docs.substrate.io/v3/runtime/frame)
-			types needed to add this pallet to a
-			runtime.
-			"]
-pub mod pallet {
-    use evm_coder::execution::Result;
-    use frame_support::pallet_prelude::*;
-    use sp_core::H160;
-    #[doc = r"
-			Configuration trait of this pallet.
-
-			Implement this type for a runtime in order to customize this pallet.
-			"]
-    pub trait Config: frame_system::Config + pallet_evm_coder_substrate::Config {
-        type ContractAddress: Get<H160>;
-        type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;
-    }
-    #[scale_info(skip_type_params(T), capture_docs = "always")]
-    #[doc = r"
-			Custom [dispatch errors](https://docs.substrate.io/v3/runtime/events-and-errors)
-			of this pallet.
-			"]
-    pub enum Error<T> {
-        #[doc(hidden)]
-        #[codec(skip)]
-        __Ignore(
-            frame_support::sp_std::marker::PhantomData<(T)>,
-            frame_support::Never,
-        ),
-        #[doc = " This method is only executable by owner"]
-        NoPermission,
-    }
-    #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
-    const _: () = {
-        impl<T> ::scale_info::TypeInfo for Error<T>
-        where
-            frame_support::sp_std::marker::PhantomData<(T)>: ::scale_info::TypeInfo + 'static,
-            T: 'static,
-        {
-            type Identity = Self;
-            fn type_info() -> ::scale_info::Type {
-                :: scale_info :: Type :: builder () . path (:: scale_info :: Path :: new ("Error" , "pallet_evm_contract_helpers::pallet")) . type_params (< [_] > :: into_vec (box [:: scale_info :: TypeParameter :: new ("T" , :: core :: option :: Option :: None)])) . docs_always (& ["\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/v3/runtime/events-and-errors)\n\t\t\tof this pallet.\n\t\t\t"]) . variant (:: scale_info :: build :: Variants :: new () . variant ("NoPermission" , | v | v . index (0usize as :: core :: primitive :: u8) . docs_always (& ["This method is only executable by owner"])))
-            }
-        };
-    };
-    #[doc = r"
-			The [pallet](https://docs.substrate.io/v3/runtime/frame#pallets) implementing
-			the on-chain logic.
-			"]
-    pub struct Pallet<T>(frame_support::sp_std::marker::PhantomData<(T)>);
-    const _: () = {
-        impl<T> core::clone::Clone for Pallet<T> {
-            fn clone(&self) -> Self {
-                Self(core::clone::Clone::clone(&self.0))
-            }
-        }
-    };
-    const _: () = {
-        impl<T> core::cmp::Eq for Pallet<T> {}
-    };
-    const _: () = {
-        impl<T> core::cmp::PartialEq for Pallet<T> {
-            fn eq(&self, other: &Self) -> bool {
-                true && self.0 == other.0
-            }
-        }
-    };
-    const _: () = {
-        impl<T> core::fmt::Debug for Pallet<T> {
-            fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
-                fmt.debug_tuple("Pallet").field(&self.0).finish()
-            }
-        }
-    };
-    #[allow(type_alias_bounds)]
-    pub(super) type Owner<T: Config> = StorageMap<
-        _GeneratedPrefixForStorageOwner<T>,
-        Twox128,
-        H160,
-        H160,
-        ValueQuery,
-        frame_support::traits::GetDefault,
-        frame_support::traits::GetDefault,
-    >;
-    #[allow(type_alias_bounds)]
-    pub(super) type SelfSponsoring<T: Config> = StorageMap<
-        _GeneratedPrefixForStorageSelfSponsoring<T>,
-        Twox128,
-        H160,
-        bool,
-        ValueQuery,
-        frame_support::traits::GetDefault,
-        frame_support::traits::GetDefault,
-    >;
-    #[allow(type_alias_bounds)]
-    pub(super) type SponsoringRateLimit<T: Config> = StorageMap<
-        _GeneratedPrefixForStorageSponsoringRateLimit<T>,
-        Twox128,
-        H160,
-        T::BlockNumber,
-        ValueQuery,
-        T::DefaultSponsoringRateLimit,
-        frame_support::traits::GetDefault,
-    >;
-    #[allow(type_alias_bounds)]
-    pub(super) type SponsorBasket<T: Config> = StorageDoubleMap<
-        _GeneratedPrefixForStorageSponsorBasket<T>,
-        Twox128,
-        H160,
-        Twox128,
-        H160,
-        T::BlockNumber,
-        OptionQuery,
-        frame_support::traits::GetDefault,
-        frame_support::traits::GetDefault,
-    >;
-    #[allow(type_alias_bounds)]
-    pub(super) type AllowlistEnabled<T: Config> = StorageMap<
-        _GeneratedPrefixForStorageAllowlistEnabled<T>,
-        Twox128,
-        H160,
-        bool,
-        ValueQuery,
-        frame_support::traits::GetDefault,
-        frame_support::traits::GetDefault,
-    >;
-    #[allow(type_alias_bounds)]
-    pub(super) type Allowlist<T: Config> = StorageDoubleMap<
-        _GeneratedPrefixForStorageAllowlist<T>,
-        Twox128,
-        H160,
-        Twox128,
-        H160,
-        bool,
-        ValueQuery,
-        frame_support::traits::GetDefault,
-        frame_support::traits::GetDefault,
-    >;
-    impl<T: Config> Pallet<T> {
-        pub fn toggle_sponsoring(contract: H160, enabled: bool) {
-            <SelfSponsoring<T>>::insert(contract, enabled);
-        }
-        pub fn set_sponsoring_rate_limit(contract: H160, rate_limit: T::BlockNumber) {
-            <SponsoringRateLimit<T>>::insert(contract, rate_limit);
-        }
-        #[doc = " Default is returned if allowlist is disabled"]
-        pub fn allowed(contract: H160, user: H160, default: bool) -> bool {
-            if !<AllowlistEnabled<T>>::get(contract) {
-                return default;
-            }
-            <Allowlist<T>>::get(&contract, &user) || <Owner<T>>::get(&contract) == user
-        }
-        pub fn toggle_allowlist(contract: H160, enabled: bool) {
-            <AllowlistEnabled<T>>::insert(contract, enabled)
-        }
-        pub fn toggle_allowed(contract: H160, user: H160, allowed: bool) {
-            <Allowlist<T>>::insert(contract, user, allowed);
-        }
-        pub fn ensure_owner(contract: H160, user: H160) -> Result<()> {
-            {
-                if !(<Owner<T>>::get(&contract) == user) {
-                    {
-                        return Err("no permission".into());
-                    };
-                }
-            };
-            Ok(())
-        }
-    }
-    impl<T: Config> Pallet<T> {
-        #[doc(hidden)]
-        pub fn pallet_constants_metadata(
-        ) -> frame_support::sp_std::vec::Vec<frame_support::metadata::PalletConstantMetadata>
-        {
-            ::alloc::vec::Vec::new()
-        }
-    }
-    impl<T: Config> Pallet<T> {
-        pub fn error_metadata() -> Option<frame_support::metadata::PalletErrorMetadata> {
-            Some(frame_support::metadata::PalletErrorMetadata {
-                ty: frame_support::scale_info::meta_type::<Error<T>>(),
-            })
-        }
-    }
-    #[doc = r" Type alias to `Pallet`, to be used by `construct_runtime`."]
-    #[doc = r""]
-    #[doc = r" Generated by `pallet` attribute macro."]
-    #[deprecated(note = "use `Pallet` instead")]
-    #[allow(dead_code)]
-    pub type Module<T> = Pallet<T>;
-    impl<T: Config> frame_support::traits::GetStorageVersion for Pallet<T> {
-        fn current_storage_version() -> frame_support::traits::StorageVersion {
-            frame_support::traits::StorageVersion::default()
-        }
-        fn on_chain_storage_version() -> frame_support::traits::StorageVersion {
-            frame_support::traits::StorageVersion::get::<Self>()
-        }
-    }
-    impl<T: Config> frame_support::traits::OnGenesis for Pallet<T> {
-        fn on_genesis() {
-            let storage_version = frame_support::traits::StorageVersion::default();
-            storage_version.put::<Self>();
-        }
-    }
-    impl<T: Config> frame_support::traits::PalletInfoAccess for Pallet<T> {
-        fn index() -> usize {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::index::<
-                Self,
-            >()
-            .expect(
-                "Pallet is part of the runtime because pallet `Config` trait is \
-						implemented by the runtime",
-            )
-        }
-        fn name() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Self,
-            >()
-            .expect(
-                "Pallet is part of the runtime because pallet `Config` trait is \
-						implemented by the runtime",
-            )
-        }
-        fn module_name() -> &'static str {
-            < < T as frame_system :: Config > :: PalletInfo as frame_support :: traits :: PalletInfo > :: module_name :: < Self > () . expect ("Pallet is part of the runtime because pallet `Config` trait is \
-						implemented by the runtime")
-        }
-        fn crate_version() -> frame_support::traits::CrateVersion {
-            frame_support::traits::CrateVersion {
-                major: 0u16,
-                minor: 1u8,
-                patch: 0u8,
-            }
-        }
-    }
-    impl<T: Config> frame_support::traits::StorageInfoTrait for Pallet<T> {
-        fn storage_info() -> frame_support::sp_std::vec::Vec<frame_support::traits::StorageInfo> {
-            #[allow(unused_mut)]
-            let mut res = ::alloc::vec::Vec::new();
-            {
-                let mut storage_info = < Owner < T > as frame_support :: traits :: PartialStorageInfoTrait > :: partial_storage_info () ;
-                res.append(&mut storage_info);
-            }
-            {
-                let mut storage_info = < SelfSponsoring < T > as frame_support :: traits :: PartialStorageInfoTrait > :: partial_storage_info () ;
-                res.append(&mut storage_info);
-            }
-            {
-                let mut storage_info = < SponsoringRateLimit < T > as frame_support :: traits :: PartialStorageInfoTrait > :: partial_storage_info () ;
-                res.append(&mut storage_info);
-            }
-            {
-                let mut storage_info = < SponsorBasket < T > as frame_support :: traits :: PartialStorageInfoTrait > :: partial_storage_info () ;
-                res.append(&mut storage_info);
-            }
-            {
-                let mut storage_info = < AllowlistEnabled < T > as frame_support :: traits :: PartialStorageInfoTrait > :: partial_storage_info () ;
-                res.append(&mut storage_info);
-            }
-            {
-                let mut storage_info = < Allowlist < T > as frame_support :: traits :: PartialStorageInfoTrait > :: partial_storage_info () ;
-                res.append(&mut storage_info);
-            }
-            res
-        }
-    }
-    #[doc(hidden)]
-    pub mod __substrate_call_check {
-        #[doc(hidden)]
-        pub use __is_call_part_defined_0 as is_call_part_defined;
-    }
-    #[doc = r"Contains one variant per dispatchable that can be called by an extrinsic."]
-    #[codec(encode_bound())]
-    #[codec(decode_bound())]
-    #[scale_info(skip_type_params(T), capture_docs = "always")]
-    #[allow(non_camel_case_types)]
-    pub enum Call<T: Config> {
-        #[doc(hidden)]
-        #[codec(skip)]
-        __Ignore(
-            frame_support::sp_std::marker::PhantomData<(T,)>,
-            frame_support::Never,
-        ),
-    }
-    const _: () = {
-        impl<T: Config> core::fmt::Debug for Call<T> {
-            fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
-                match *self {
-                    Self::__Ignore(ref _0, ref _1) => fmt
-                        .debug_tuple("Call::__Ignore")
-                        .field(&_0)
-                        .field(&_1)
-                        .finish(),
-                }
-            }
-        }
-    };
-    const _: () = {
-        impl<T: Config> core::clone::Clone for Call<T> {
-            fn clone(&self) -> Self {
-                match self {
-                    Self::__Ignore(ref _0, ref _1) => {
-                        Self::__Ignore(core::clone::Clone::clone(_0), core::clone::Clone::clone(_1))
-                    }
-                }
-            }
-        }
-    };
-    const _: () = {
-        impl<T: Config> core::cmp::Eq for Call<T> {}
-    };
-    const _: () = {
-        impl<T: Config> core::cmp::PartialEq for Call<T> {
-            fn eq(&self, other: &Self) -> bool {
-                match (self, other) {
-                    (Self::__Ignore(_0, _1), Self::__Ignore(_0_other, _1_other)) => {
-                        true && _0 == _0_other && _1 == _1_other
-                    }
-                }
-            }
-        }
-    };
-    const _: () = {
-        #[allow(non_camel_case_types)]
-        impl<T: Config> ::codec::Encode for Call<T> {}
-        impl<T: Config> ::codec::EncodeLike for Call<T> {}
-    };
-    const _: () = {
-        #[allow(non_camel_case_types)]
-        impl<T: Config> ::codec::Decode for Call<T> {
-            fn decode<__CodecInputEdqy: ::codec::Input>(
-                __codec_input_edqy: &mut __CodecInputEdqy,
-            ) -> ::core::result::Result<Self, ::codec::Error> {
-                match __codec_input_edqy
-                    .read_byte()
-                    .map_err(|e| e.chain("Could not decode `Call`, failed to read variant byte"))?
-                {
-                    _ => ::core::result::Result::Err(<_ as ::core::convert::Into<_>>::into(
-                        "Could not decode `Call`, variant doesn\'t exist",
-                    )),
-                }
-            }
-        }
-    };
-    #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
-    const _: () = {
-        impl<T: Config> ::scale_info::TypeInfo for Call<T>
-        where
-            frame_support::sp_std::marker::PhantomData<(T,)>: ::scale_info::TypeInfo + 'static,
-            T: Config + 'static,
-        {
-            type Identity = Self;
-            fn type_info() -> ::scale_info::Type {
-                ::scale_info::Type::builder()
-                    .path(::scale_info::Path::new(
-                        "Call",
-                        "pallet_evm_contract_helpers::pallet",
-                    ))
-                    .type_params(<[_]>::into_vec(box [::scale_info::TypeParameter::new(
-                        "T",
-                        ::core::option::Option::None,
-                    )]))
-                    .docs_always(&[
-                        "Contains one variant per dispatchable that can be called by an extrinsic.",
-                    ])
-                    .variant(::scale_info::build::Variants::new())
-            }
-        };
-    };
-    impl<T: Config> Call<T> {}
-    impl<T: Config> frame_support::dispatch::GetDispatchInfo for Call<T> {
-        fn get_dispatch_info(&self) -> frame_support::dispatch::DispatchInfo {
-            match *self {
-                Self::__Ignore(_, _) => {
-                    ::core::panicking::panic_fmt(::core::fmt::Arguments::new_v1(
-                        &["internal error: entered unreachable code: "],
-                        &match (&"__Ignore cannot be used",) {
-                            (arg0,) => [::core::fmt::ArgumentV1::new(
-                                arg0,
-                                ::core::fmt::Display::fmt,
-                            )],
-                        },
-                    ))
-                }
-            }
-        }
-    }
-    impl<T: Config> frame_support::dispatch::GetCallName for Call<T> {
-        fn get_call_name(&self) -> &'static str {
-            match *self {
-                Self::__Ignore(_, _) => {
-                    ::core::panicking::panic_fmt(::core::fmt::Arguments::new_v1(
-                        &["internal error: entered unreachable code: "],
-                        &match (&"__PhantomItem cannot be used.",) {
-                            (arg0,) => [::core::fmt::ArgumentV1::new(
-                                arg0,
-                                ::core::fmt::Display::fmt,
-                            )],
-                        },
-                    ))
-                }
-            }
-        }
-        fn get_call_names() -> &'static [&'static str] {
-            &[]
-        }
-    }
-    impl<T: Config> frame_support::traits::UnfilteredDispatchable for Call<T> {
-        type Origin = frame_system::pallet_prelude::OriginFor<T>;
-        fn dispatch_bypass_filter(
-            self,
-            origin: Self::Origin,
-        ) -> frame_support::dispatch::DispatchResultWithPostInfo {
-            match self {
-                Self::__Ignore(_, _) => {
-                    let _ = origin;
-                    {
-                        {
-                            ::core::panicking::panic_fmt(::core::fmt::Arguments::new_v1(
-                                &["internal error: entered unreachable code: "],
-                                &match (&"__PhantomItem cannot be used.",) {
-                                    (arg0,) => [::core::fmt::ArgumentV1::new(
-                                        arg0,
-                                        ::core::fmt::Display::fmt,
-                                    )],
-                                },
-                            ))
-                        }
-                    };
-                }
-            }
-        }
-    }
-    impl<T: Config> frame_support::dispatch::Callable<T> for Pallet<T> {
-        type Call = Call<T>;
-    }
-    impl<T: Config> Pallet<T> {
-        #[doc(hidden)]
-        pub fn call_functions() -> frame_support::metadata::PalletCallMetadata {
-            frame_support::scale_info::meta_type::<Call<T>>().into()
-        }
-    }
-    impl<T: Config> frame_support::sp_std::fmt::Debug for Error<T> {
-        fn fmt(
-            &self,
-            f: &mut frame_support::sp_std::fmt::Formatter<'_>,
-        ) -> frame_support::sp_std::fmt::Result {
-            f.write_str(self.as_str())
-        }
-    }
-    impl<T: Config> Error<T> {
-        pub fn as_u8(&self) -> u8 {
-            match &self {
-                Self::__Ignore(_, _) => {
-                    ::core::panicking::panic_fmt(::core::fmt::Arguments::new_v1(
-                        &["internal error: entered unreachable code: "],
-                        &match (&"`__Ignore` can never be constructed",) {
-                            (arg0,) => [::core::fmt::ArgumentV1::new(
-                                arg0,
-                                ::core::fmt::Display::fmt,
-                            )],
-                        },
-                    ))
-                }
-                Self::NoPermission => 0usize as u8,
-            }
-        }
-        pub fn as_str(&self) -> &'static str {
-            match &self {
-                Self::__Ignore(_, _) => {
-                    ::core::panicking::panic_fmt(::core::fmt::Arguments::new_v1(
-                        &["internal error: entered unreachable code: "],
-                        &match (&"`__Ignore` can never be constructed",) {
-                            (arg0,) => [::core::fmt::ArgumentV1::new(
-                                arg0,
-                                ::core::fmt::Display::fmt,
-                            )],
-                        },
-                    ))
-                }
-                Self::NoPermission => "NoPermission",
-            }
-        }
-    }
-    impl<T: Config> From<Error<T>> for &'static str {
-        fn from(err: Error<T>) -> &'static str {
-            err.as_str()
-        }
-    }
-    impl<T: Config> From<Error<T>> for frame_support::sp_runtime::DispatchError {
-        fn from(err: Error<T>) -> Self {
-            let index = < < T as frame_system :: Config > :: PalletInfo as frame_support :: traits :: PalletInfo > :: index :: < Pallet < T > > () . expect ("Every active module has an index in the runtime; qed") as u8 ;
-            frame_support::sp_runtime::DispatchError::Module {
-                index,
-                error: err.as_u8(),
-                message: Some(err.as_str()),
-            }
-        }
-    }
-    #[doc(hidden)]
-    pub mod __substrate_event_check {
-        #[doc(hidden)]
-        pub use __is_event_part_defined_1 as is_event_part_defined;
-    }
-    impl<T: Config> Pallet<T> {
-        #[doc(hidden)]
-        pub fn storage_metadata() -> frame_support::metadata::PalletStorageMetadata {
-            frame_support :: metadata :: PalletStorageMetadata { prefix : < < T as frame_system :: Config > :: PalletInfo as frame_support :: traits :: PalletInfo > :: name :: < Pallet < T > > () . expect ("Every active pallet has a name in the runtime; qed") , entries : { # [allow (unused_mut)] let mut entries = :: alloc :: vec :: Vec :: new () ; { < Owner < T > as frame_support :: storage :: StorageEntryMetadataBuilder > :: build_metadata (:: alloc :: vec :: Vec :: new () , & mut entries) ; } { < SelfSponsoring < T > as frame_support :: storage :: StorageEntryMetadataBuilder > :: build_metadata (:: alloc :: vec :: Vec :: new () , & mut entries) ; } { < SponsoringRateLimit < T > as frame_support :: storage :: StorageEntryMetadataBuilder > :: build_metadata (:: alloc :: vec :: Vec :: new () , & mut entries) ; } { < SponsorBasket < T > as frame_support :: storage :: StorageEntryMetadataBuilder > :: build_metadata (:: alloc :: vec :: Vec :: new () , & mut entries) ; } { < AllowlistEnabled < T > as frame_support :: storage :: StorageEntryMetadataBuilder > :: build_metadata (:: alloc :: vec :: Vec :: new () , & mut entries) ; } { < Allowlist < T > as frame_support :: storage :: StorageEntryMetadataBuilder > :: build_metadata (:: alloc :: vec :: Vec :: new () , & mut entries) ; } entries } , }
-        }
-    }
-    pub(super) struct _GeneratedPrefixForStorageOwner<T>(core::marker::PhantomData<(T,)>);
-    impl<T: Config> frame_support::traits::StorageInstance for _GeneratedPrefixForStorageOwner<T> {
-        fn pallet_prefix() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Pallet<T>,
-            >()
-            .expect("Every active pallet has a name in the runtime; qed")
-        }
-        const STORAGE_PREFIX: &'static str = "Owner";
-    }
-    pub(super) struct _GeneratedPrefixForStorageSelfSponsoring<T>(core::marker::PhantomData<(T,)>);
-    impl<T: Config> frame_support::traits::StorageInstance
-        for _GeneratedPrefixForStorageSelfSponsoring<T>
-    {
-        fn pallet_prefix() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Pallet<T>,
-            >()
-            .expect("Every active pallet has a name in the runtime; qed")
-        }
-        const STORAGE_PREFIX: &'static str = "SelfSponsoring";
-    }
-    pub(super) struct _GeneratedPrefixForStorageSponsoringRateLimit<T>(
-        core::marker::PhantomData<(T,)>,
-    );
-    impl<T: Config> frame_support::traits::StorageInstance
-        for _GeneratedPrefixForStorageSponsoringRateLimit<T>
-    {
-        fn pallet_prefix() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Pallet<T>,
-            >()
-            .expect("Every active pallet has a name in the runtime; qed")
-        }
-        const STORAGE_PREFIX: &'static str = "SponsoringRateLimit";
-    }
-    pub(super) struct _GeneratedPrefixForStorageSponsorBasket<T>(core::marker::PhantomData<(T,)>);
-    impl<T: Config> frame_support::traits::StorageInstance
-        for _GeneratedPrefixForStorageSponsorBasket<T>
-    {
-        fn pallet_prefix() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Pallet<T>,
-            >()
-            .expect("Every active pallet has a name in the runtime; qed")
-        }
-        const STORAGE_PREFIX: &'static str = "SponsorBasket";
-    }
-    pub(super) struct _GeneratedPrefixForStorageAllowlistEnabled<T>(
-        core::marker::PhantomData<(T,)>,
-    );
-    impl<T: Config> frame_support::traits::StorageInstance
-        for _GeneratedPrefixForStorageAllowlistEnabled<T>
-    {
-        fn pallet_prefix() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Pallet<T>,
-            >()
-            .expect("Every active pallet has a name in the runtime; qed")
-        }
-        const STORAGE_PREFIX: &'static str = "AllowlistEnabled";
-    }
-    pub(super) struct _GeneratedPrefixForStorageAllowlist<T>(core::marker::PhantomData<(T,)>);
-    impl<T: Config> frame_support::traits::StorageInstance for _GeneratedPrefixForStorageAllowlist<T> {
-        fn pallet_prefix() -> &'static str {
-            <<T as frame_system::Config>::PalletInfo as frame_support::traits::PalletInfo>::name::<
-                Pallet<T>,
-            >()
-            .expect("Every active pallet has a name in the runtime; qed")
-        }
-        const STORAGE_PREFIX: &'static str = "Allowlist";
-    }
-    #[doc(hidden)]
-    pub mod __substrate_inherent_check {
-        #[doc(hidden)]
-        pub use __is_inherent_part_defined_2 as is_inherent_part_defined;
-    }
-    #[doc = r" Hidden instance generated to be internally used when module is used without"]
-    #[doc = r" instance."]
-    #[doc(hidden)]
-    pub type __InherentHiddenInstance = ();
-    pub(super) trait Store {
-        type Owner;
-        type SelfSponsoring;
-        type SponsoringRateLimit;
-        type SponsorBasket;
-        type AllowlistEnabled;
-        type Allowlist;
-    }
-    impl<T: Config> Store for Pallet<T> {
-        type Owner = Owner<T>;
-        type SelfSponsoring = SelfSponsoring<T>;
-        type SponsoringRateLimit = SponsoringRateLimit<T>;
-        type SponsorBasket = SponsorBasket<T>;
-        type AllowlistEnabled = AllowlistEnabled<T>;
-        type Allowlist = Allowlist<T>;
-    }
-    impl<T: Config> frame_support::traits::Hooks<<T as frame_system::Config>::BlockNumber>
-        for Pallet<T>
-    {
-    }
-    impl<T: Config> frame_support::traits::OnFinalize<<T as frame_system::Config>::BlockNumber>
-        for Pallet<T>
-    {
-        fn on_finalize(n: <T as frame_system::Config>::BlockNumber) {
-            let __within_span__ = {
-                use ::tracing::__macro_support::Callsite as _;
-                static CALLSITE: ::tracing::__macro_support::MacroCallsite = {
-                    use ::tracing::__macro_support::MacroCallsite;
-                    static META: ::tracing::Metadata<'static> = {
-                        ::tracing_core::metadata::Metadata::new(
-                            "on_finalize",
-                            "pallet_evm_contract_helpers::pallet",
-                            ::tracing::Level::TRACE,
-                            Some("pallets/evm-contract-helpers/src/lib.rs"),
-                            Some(7u32),
-                            Some("pallet_evm_contract_helpers::pallet"),
-                            ::tracing_core::field::FieldSet::new(
-                                &[],
-                                ::tracing_core::callsite::Identifier(&CALLSITE),
-                            ),
-                            ::tracing::metadata::Kind::SPAN,
-                        )
-                    };
-                    MacroCallsite::new(&META)
-                };
-                let mut interest = ::tracing::subscriber::Interest::never();
-                if ::tracing::Level::TRACE <= ::tracing::level_filters::STATIC_MAX_LEVEL
-                    && ::tracing::Level::TRACE <= ::tracing::level_filters::LevelFilter::current()
-                    && {
-                        interest = CALLSITE.interest();
-                        !interest.is_never()
-                    }
-                    && CALLSITE.is_enabled(interest)
-                {
-                    let meta = CALLSITE.metadata();
-                    ::tracing::Span::new(meta, &{ meta.fields().value_set(&[]) })
-                } else {
-                    let span = CALLSITE.disabled_span();
-                    {};
-                    span
-                }
-            };
-            let __tracing_guard__ = __within_span__.enter();
-            < Self as frame_support :: traits :: Hooks < < T as frame_system :: Config > :: BlockNumber > > :: on_finalize (n)
-        }
-    }
-    impl<T: Config> frame_support::traits::OnIdle<<T as frame_system::Config>::BlockNumber>
-        for Pallet<T>
-    {
-        fn on_idle(
-            n: <T as frame_system::Config>::BlockNumber,
-            remaining_weight: frame_support::weights::Weight,
-        ) -> frame_support::weights::Weight {
-            < Self as frame_support :: traits :: Hooks < < T as frame_system :: Config > :: BlockNumber > > :: on_idle (n , remaining_weight)
-        }
-    }
-    impl<T: Config> frame_support::traits::OnInitialize<<T as frame_system::Config>::BlockNumber>
-        for Pallet<T>
-    {
-        fn on_initialize(
-            n: <T as frame_system::Config>::BlockNumber,
-        ) -> frame_support::weights::Weight {
-            let __within_span__ = {
-                use ::tracing::__macro_support::Callsite as _;
-                static CALLSITE: ::tracing::__macro_support::MacroCallsite = {
-                    use ::tracing::__macro_support::MacroCallsite;
-                    static META: ::tracing::Metadata<'static> = {
-                        ::tracing_core::metadata::Metadata::new(
-                            "on_initialize",
-                            "pallet_evm_contract_helpers::pallet",
-                            ::tracing::Level::TRACE,
-                            Some("pallets/evm-contract-helpers/src/lib.rs"),
-                            Some(7u32),
-                            Some("pallet_evm_contract_helpers::pallet"),
-                            ::tracing_core::field::FieldSet::new(
-                                &[],
-                                ::tracing_core::callsite::Identifier(&CALLSITE),
-                            ),
-                            ::tracing::metadata::Kind::SPAN,
-                        )
-                    };
-                    MacroCallsite::new(&META)
-                };
-                let mut interest = ::tracing::subscriber::Interest::never();
-                if ::tracing::Level::TRACE <= ::tracing::level_filters::STATIC_MAX_LEVEL
-                    && ::tracing::Level::TRACE <= ::tracing::level_filters::LevelFilter::current()
-                    && {
-                        interest = CALLSITE.interest();
-                        !interest.is_never()
-                    }
-                    && CALLSITE.is_enabled(interest)
-                {
-                    let meta = CALLSITE.metadata();
-                    ::tracing::Span::new(meta, &{ meta.fields().value_set(&[]) })
-                } else {
-                    let span = CALLSITE.disabled_span();
-                    {};
-                    span
-                }
-            };
-            let __tracing_guard__ = __within_span__.enter();
-            < Self as frame_support :: traits :: Hooks < < T as frame_system :: Config > :: BlockNumber > > :: on_initialize (n)
-        }
-    }
-    impl<T: Config> frame_support::traits::OnRuntimeUpgrade for Pallet<T> {
-        fn on_runtime_upgrade() -> frame_support::weights::Weight {
-            let __within_span__ = {
-                use ::tracing::__macro_support::Callsite as _;
-                static CALLSITE: ::tracing::__macro_support::MacroCallsite = {
-                    use ::tracing::__macro_support::MacroCallsite;
-                    static META: ::tracing::Metadata<'static> = {
-                        ::tracing_core::metadata::Metadata::new(
-                            "on_runtime_update",
-                            "pallet_evm_contract_helpers::pallet",
-                            ::tracing::Level::TRACE,
-                            Some("pallets/evm-contract-helpers/src/lib.rs"),
-                            Some(7u32),
-                            Some("pallet_evm_contract_helpers::pallet"),
-                            ::tracing_core::field::FieldSet::new(
-                                &[],
-                                ::tracing_core::callsite::Identifier(&CALLSITE),
-                            ),
-                            ::tracing::metadata::Kind::SPAN,
-                        )
-                    };
-                    MacroCallsite::new(&META)
-                };
-                let mut interest = ::tracing::subscriber::Interest::never();
-                if ::tracing::Level::TRACE <= ::tracing::level_filters::STATIC_MAX_LEVEL
-                    && ::tracing::Level::TRACE <= ::tracing::level_filters::LevelFilter::current()
-                    && {
-                        interest = CALLSITE.interest();
-                        !interest.is_never()
-                    }
-                    && CALLSITE.is_enabled(interest)
-                {
-                    let meta = CALLSITE.metadata();
-                    ::tracing::Span::new(meta, &{ meta.fields().value_set(&[]) })
-                } else {
-                    let span = CALLSITE.disabled_span();
-                    {};
-                    span
-                }
-            };
-            let __tracing_guard__ = __within_span__.enter();
-            let pallet_name = < < T as frame_system :: Config > :: PalletInfo as frame_support :: traits :: PalletInfo > :: name :: < Self > () . unwrap_or ("<unknown pallet name>") ;
-            {
-                let lvl = ::log::Level::Info;
-                if lvl <= ::log::STATIC_MAX_LEVEL && lvl <= ::log::max_level() {
-                    ::log::__private_api_log(
-                        ::core::fmt::Arguments::new_v1(
-                            &["\u{2705} no migration for "],
-                            &match (&pallet_name,) {
-                                (arg0,) => [::core::fmt::ArgumentV1::new(
-                                    arg0,
-                                    ::core::fmt::Display::fmt,
-                                )],
-                            },
-                        ),
-                        lvl,
-                        &(
-                            frame_support::LOG_TARGET,
-                            "pallet_evm_contract_helpers::pallet",
-                            "pallets/evm-contract-helpers/src/lib.rs",
-                            7u32,
-                        ),
-                    );
-                }
-            };
-            < Self as frame_support :: traits :: Hooks < < T as frame_system :: Config > :: BlockNumber > > :: on_runtime_upgrade ()
-        }
-    }
-    impl<T: Config> frame_support::traits::OffchainWorker<<T as frame_system::Config>::BlockNumber>
-        for Pallet<T>
-    {
-        fn offchain_worker(n: <T as frame_system::Config>::BlockNumber) {
-            < Self as frame_support :: traits :: Hooks < < T as frame_system :: Config > :: BlockNumber > > :: offchain_worker (n)
-        }
-    }
-    impl<T: Config> frame_support::traits::IntegrityTest for Pallet<T> {
-        fn integrity_test() {
-            < Self as frame_support :: traits :: Hooks < < T as frame_system :: Config > :: BlockNumber > > :: integrity_test ()
-        }
-    }
-    #[doc(hidden)]
-    pub mod __substrate_genesis_config_check {
-        #[doc(hidden)]
-        pub use __is_genesis_config_defined_3 as is_genesis_config_defined;
-        #[doc(hidden)]
-        pub use __is_std_enabled_for_genesis_3 as is_std_enabled_for_genesis;
-    }
-    #[doc(hidden)]
-    pub mod __substrate_origin_check {
-        #[doc(hidden)]
-        pub use __is_origin_part_defined_4 as is_origin_part_defined;
-    }
-    #[doc(hidden)]
-    pub mod __substrate_validate_unsigned_check {
-        #[doc(hidden)]
-        pub use __is_validate_unsigned_part_defined_5 as is_validate_unsigned_part_defined;
-    }
-}
modifiedpallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -4,7 +4,7 @@
 use pallet_evm::{ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure};
 use sp_core::H160;
 use crate::{
-	AllowlistEnabled, Config, Owner, Pallet, SelfSponsoring, SponsorBasket, SponsoringRateLimit,
+	AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringRateLimit, SponsoringModeT,
 };
 use frame_support::traits::Get;
 use up_sponsorship::SponsorshipHandler;
@@ -28,9 +28,10 @@
 	}
 
 	fn sponsoring_enabled(&self, contract_address: address) -> Result<bool> {
-		Ok(<SelfSponsoring<T>>::get(contract_address))
+		Ok(<Pallet<T>>::sponsoring_mode(contract_address) != SponsoringModeT::Disabled)
 	}
 
+	/// Deprecated
 	fn toggle_sponsoring(
 		&mut self,
 		caller: caller,
@@ -42,6 +43,22 @@
 		Ok(())
 	}
 
+	fn set_sponsoring_mode(
+		&mut self,
+		caller: caller,
+		contract_address: address,
+		mode: uint8,
+	) -> Result<void> {
+		<Pallet<T>>::ensure_owner(contract_address, caller)?;
+		let mode = SponsoringModeT::from_eth(mode).ok_or("unknown mode")?;
+		<Pallet<T>>::set_sponsoring_mode(contract_address, mode);
+		Ok(())
+	}
+
+	fn sponsoring_mode(&self, contract_address: address) -> Result<uint8> {
+		Ok(<Pallet<T>>::sponsoring_mode(contract_address).to_eth())
+	}
+
 	fn set_sponsoring_rate_limit(
 		&mut self,
 		caller: caller,
@@ -61,8 +78,7 @@
 
 	fn allowed(&self, contract_address: address, user: address) -> Result<bool> {
 		self.0.consume_sload()?;
-		Ok(<Pallet<T>>::allowed(contract_address, user)
-			|| !<AllowlistEnabled<T>>::get(contract_address))
+		Ok(<Pallet<T>>::allowed(contract_address, user))
 	}
 
 	fn allowlist_enabled(&self, contract_address: address) -> Result<bool> {
@@ -147,10 +163,11 @@
 pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);
 impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for HelpersContractSponsoring<T> {
 	fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {
-		if !<SelfSponsoring<T>>::get(&call.0) {
+		let mode = <Pallet<T>>::sponsoring_mode(call.0);
+		if mode == SponsoringModeT::Disabled {
 			return None;
 		}
-		if !<Pallet<T>>::allowed(call.0, *who) {
+		if mode == SponsoringModeT::Allowlisted && !<Pallet<T>>::allowed(call.0, *who) {
 			return None;
 		}
 		let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
modifiedpallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -1,11 +1,14 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 
+use codec::{Decode, Encode, MaxEncodedLen};
 pub use pallet::*;
 pub use eth::*;
+use scale_info::TypeInfo;
 pub mod eth;
 
 #[frame_support::pallet]
 pub mod pallet {
+	pub use super::*;
 	use evm_coder::execution::Result;
 	use frame_support::pallet_prelude::*;
 	use sp_core::H160;
@@ -31,10 +34,15 @@
 		StorageMap<Hasher = Twox128, Key = H160, Value = H160, QueryKind = ValueQuery>;
 
 	#[pallet::storage]
+	#[deprecated]
 	pub(super) type SelfSponsoring<T: Config> =
 		StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;
 
 	#[pallet::storage]
+	pub(super) type SponsoringMode<T: Config> =
+		StorageMap<Hasher = Twox128, Key = H160, Value = SponsoringModeT, QueryKind = OptionQuery>;
+
+	#[pallet::storage]
 	pub(super) type SponsoringRateLimit<T: Config> = StorageMap<
 		Hasher = Twox128,
 		Key = H160,
@@ -68,8 +76,31 @@
 	>;
 
 	impl<T: Config> Pallet<T> {
+		pub fn sponsoring_mode(contract: H160) -> SponsoringModeT {
+			<SponsoringMode<T>>::get(contract)
+				.or_else(|| {
+					<SelfSponsoring<T>>::get(contract).then(|| SponsoringModeT::Allowlisted)
+				})
+				.unwrap_or_default()
+		}
+		pub fn set_sponsoring_mode(contract: H160, mode: SponsoringModeT) {
+			if mode == SponsoringModeT::Disabled {
+				<SponsoringMode<T>>::remove(contract);
+			} else {
+				<SponsoringMode<T>>::insert(contract, mode);
+			}
+			<SelfSponsoring<T>>::remove(contract)
+		}
+
 		pub fn toggle_sponsoring(contract: H160, enabled: bool) {
-			<SelfSponsoring<T>>::insert(contract, enabled);
+			Self::set_sponsoring_mode(
+				contract,
+				if enabled {
+					SponsoringModeT::Allowlisted
+				} else {
+					SponsoringModeT::Disabled
+				},
+			)
 		}
 
 		pub fn set_sponsoring_rate_limit(contract: H160, rate_limit: T::BlockNumber) {
@@ -94,3 +125,34 @@
 		}
 	}
 }
+
+#[derive(Encode, Decode, PartialEq, TypeInfo, MaxEncodedLen)]
+pub enum SponsoringModeT {
+	Disabled,
+	Allowlisted,
+	Generous,
+}
+
+impl SponsoringModeT {
+	fn from_eth(v: u8) -> Option<Self> {
+		Some(match v {
+			0 => Self::Disabled,
+			1 => Self::Allowlisted,
+			2 => Self::Generous,
+			_ => return None,
+		})
+	}
+	fn to_eth(self) -> u8 {
+		match self {
+			SponsoringModeT::Disabled => 0,
+			SponsoringModeT::Allowlisted => 1,
+			SponsoringModeT::Generous => 2,
+		}
+	}
+}
+
+impl Default for SponsoringModeT {
+	fn default() -> Self {
+		Self::Disabled
+	}
+}
modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -21,7 +21,7 @@
 	}
 }
 
-// Selector: 31acb1fe
+// Selector: 7b4866f9
 contract ContractHelpers is Dummy, ERC165 {
 	// Selector: contractOwner(address) 5152b14c
 	function contractOwner(address contractAddress)
@@ -47,6 +47,8 @@
 		return false;
 	}
 
+	// Deprecated
+	//
 	// Selector: toggleSponsoring(address,bool) fcac6d86
 	function toggleSponsoring(address contractAddress, bool enabled) public {
 		require(false, stub_error);
@@ -55,6 +57,26 @@
 		dummy = 0;
 	}
 
+	// Selector: setSponsoringMode(address,uint8) fde8a560
+	function setSponsoringMode(address contractAddress, uint8 mode) public {
+		require(false, stub_error);
+		contractAddress;
+		mode;
+		dummy = 0;
+	}
+
+	// Selector: sponsoringMode(address) b70c7267
+	function sponsoringMode(address contractAddress)
+		public
+		view
+		returns (uint8)
+	{
+		require(false, stub_error);
+		contractAddress;
+		dummy;
+		return 0;
+	}
+
 	// Selector: setSponsoringRateLimit(address,uint32) 77b6c908
 	function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)
 		public
modifiedpallets/evm-migration/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-migration/Cargo.toml
+++ b/pallets/evm-migration/Cargo.toml
@@ -7,15 +7,15 @@
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
 
 [dependencies.codec]
 default-features = false
modifiedpallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -7,16 +7,16 @@
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
 up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
 
 [dependencies.codec]
modifiedpallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-transaction-payment/src/lib.rs
+++ b/pallets/evm-transaction-payment/src/lib.rs
@@ -100,6 +100,10 @@
 			already_withdrawn.map(|e| e.negative_imbalance),
 		)
 	}
+
+	fn pay_priority_fee(tip: U256) {
+		<EVMCurrencyAdapter<<T as Config>::Currency, ()> as pallet_evm::OnChargeEVMTransaction<T>>::pay_priority_fee(tip)
+	}
 }
 
 /// Implements sponsoring for evm calls performed from pallet-evm (via api.tx.ethereum.transact/api.tx.evm.call)
modifiedpallets/fungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -10,17 +10,17 @@
 version = '2.0.0'
 
 [dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 pallet-common = { default-features = false, path = '../common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
-ethereum = { version = "0.10.0", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+ethereum = { version = "0.11.1", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
modifiedpallets/fungible/src/common.rsdiffbeforeafterboth
--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -1,10 +1,11 @@
 use core::marker::PhantomData;
 
-use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
+use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
 use up_data_structs::TokenId;
 use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
 use sp_runtime::ArithmeticError;
 use sp_std::{vec::Vec, vec};
+use up_data_structs::CustomDataLimit;
 
 use crate::{
 	Allowance, Balance, Config, Error, FungibleHandle, Pallet, SelfWeightOf, weights::WeightInfo,
@@ -180,7 +181,7 @@
 		&self,
 		_sender: T::CrossAccountId,
 		_token: TokenId,
-		_data: Vec<u8>,
+		_data: BoundedVec<u8, CustomDataLimit>,
 	) -> DispatchResultWithPostInfo {
 		fail!(<Error<T>>::FungibleItemsDontHaveData)
 	}
@@ -201,8 +202,8 @@
 		TokenId::default()
 	}
 
-	fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {
-		T::CrossAccountId::default()
+	fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {
+		None
 	}
 	fn const_metadata(&self, _token: TokenId) -> Vec<u8> {
 		Vec::new()
modifiedpallets/fungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -2,7 +2,7 @@
 
 use core::ops::Deref;
 use frame_support::{ensure};
-use up_data_structs::{AccessMode, Collection, CollectionId, TokenId};
+use up_data_structs::{AccessMode, CollectionId, TokenId, CreateCollectionData};
 use pallet_common::{
 	Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
 };
@@ -100,8 +100,11 @@
 }
 
 impl<T: Config> Pallet<T> {
-	pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {
-		<PalletCommon<T>>::init_collection(data)
+	pub fn init_collection(
+		owner: T::AccountId,
+		data: CreateCollectionData<T::AccountId>,
+	) -> Result<CollectionId, DispatchError> {
+		<PalletCommon<T>>::init_collection(owner, data)
 	}
 	pub fn destroy_collection(
 		collection: FungibleHandle<T>,
@@ -145,7 +148,7 @@
 		}
 		<TotalSupply<T>>::insert(collection.id, total_supply);
 
-		collection.log(ERC20Events::Transfer {
+		collection.log_mirrored(ERC20Events::Transfer {
 			from: *owner.as_eth(),
 			to: H160::default(),
 			value: amount.into(),
@@ -201,7 +204,7 @@
 			<Balance<T>>::insert((collection.id, to), balance_to);
 		}
 
-		collection.log(ERC20Events::Transfer {
+		collection.log_mirrored(ERC20Events::Transfer {
 			from: *from.as_eth(),
 			to: *to.as_eth(),
 			value: amount.into(),
@@ -258,7 +261,7 @@
 		for (user, amount) in balances {
 			<Balance<T>>::insert((collection.id, &user), amount);
 
-			collection.log(ERC20Events::Transfer {
+			collection.log_mirrored(ERC20Events::Transfer {
 				from: H160::default(),
 				to: *user.as_eth(),
 				value: amount.into(),
@@ -286,7 +289,7 @@
 			<Allowance<T>>::insert((collection.id, owner, spender), amount);
 		}
 
-		collection.log(ERC20Events::Approval {
+		collection.log_mirrored(ERC20Events::Approval {
 			owner: *owner.as_eth(),
 			spender: *spender.as_eth(),
 			value: amount.into(),
@@ -343,7 +346,7 @@
 		if allowance.is_none() {
 			ensure!(
 				collection.ignores_allowance(spender),
-				<CommonError<T>>::TokenValueNotEnough
+				<CommonError<T>>::ApprovedValueTooLow
 			);
 		}
 
@@ -374,7 +377,7 @@
 		if allowance.is_none() {
 			ensure!(
 				collection.ignores_allowance(spender),
-				<CommonError<T>>::TokenValueNotEnough
+				<CommonError<T>>::ApprovedValueTooLow
 			);
 		}
 
modifiedpallets/inflation/Cargo.tomldiffbeforeafterboth
--- a/pallets/inflation/Cargo.toml
+++ b/pallets/inflation/Cargo.toml
@@ -43,37 +43,37 @@
 default-features = false
 optional = true
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-support]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-system]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-balances]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-std]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.serde]
 default-features = false
@@ -83,17 +83,17 @@
 [dependencies.sp-runtime]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-core]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-io]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies]
 scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
modifiedpallets/inflation/src/tests.rsdiffbeforeafterboth
--- a/pallets/inflation/src/tests.rs
+++ b/pallets/inflation/src/tests.rs
@@ -4,7 +4,7 @@
 
 use frame_support::{
 	assert_ok, parameter_types,
-	traits::{Currency, OnInitialize, Everything},
+	traits::{Currency, OnInitialize, Everything, ConstU32},
 };
 use frame_system::RawOrigin;
 use sp_core::H256;
@@ -81,6 +81,7 @@
 	type SystemWeightInfo = ();
 	type SS58Prefix = SS58Prefix;
 	type OnSetCode = ();
+	type MaxConsumers = ConstU32<16>;
 }
 
 parameter_types! {
modifiedpallets/nonfungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -10,17 +10,17 @@
 version = '2.0.0'
 
 [dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 pallet-common = { default-features = false, path = '../common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
-ethereum = { version = "0.10.0", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+ethereum = { version = "0.11.1", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -1,7 +1,7 @@
 use core::marker::PhantomData;
 
-use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
-use up_data_structs::TokenId;
+use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
+use up_data_structs::{TokenId, CustomDataLimit};
 use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
 use sp_runtime::DispatchError;
 use sp_std::vec::Vec;
@@ -188,7 +188,7 @@
 		&self,
 		sender: T::CrossAccountId,
 		token: TokenId,
-		data: Vec<u8>,
+		data: BoundedVec<u8, CustomDataLimit>,
 	) -> DispatchResultWithPostInfo {
 		let len = data.len();
 		with_weight(
@@ -211,20 +211,20 @@
 		TokenId(<TokensMinted<T>>::get(self.id))
 	}
 
-	fn token_owner(&self, token: TokenId) -> T::CrossAccountId {
-		<TokenData<T>>::get((self.id, token))
-			.map(|t| t.owner)
-			.unwrap_or_default()
+	fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId> {
+		<TokenData<T>>::get((self.id, token)).map(|t| t.owner)
 	}
 	fn const_metadata(&self, token: TokenId) -> Vec<u8> {
 		<TokenData<T>>::get((self.id, token))
 			.map(|t| t.const_data)
 			.unwrap_or_default()
+			.into_inner()
 	}
 	fn variable_metadata(&self, token: TokenId) -> Vec<u8> {
 		<TokenData<T>>::get((self.id, token))
 			.map(|t| t.variable_data)
 			.unwrap_or_default()
+			.into_inner()
 	}
 
 	fn collection_tokens(&self) -> u32 {
modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -338,8 +338,14 @@
 		let caller = T::CrossAccountId::from_eth(caller);
 		let token = token_id.try_into()?;
 
-		<Pallet<T>>::set_variable_metadata(self, &caller, token, data)
-			.map_err(dispatch_to_evm::<T>)?;
+		<Pallet<T>>::set_variable_metadata(
+			self,
+			&caller,
+			token,
+			data.try_into()
+				.map_err(|_| "metadata size exceeded limit")?,
+		)
+		.map_err(dispatch_to_evm::<T>)?;
 		Ok(())
 	}
 
@@ -349,7 +355,8 @@
 
 		Ok(<TokenData<T>>::get((self.id, token))
 			.ok_or("token not found")?
-			.variable_data)
+			.variable_data
+			.into_inner())
 	}
 
 	#[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -2,9 +2,7 @@
 
 use erc::ERC721Events;
 use frame_support::{BoundedVec, ensure};
-use up_data_structs::{
-	AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit, TokenId,
-};
+use up_data_structs::{AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData};
 use pallet_common::{
 	Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,
 };
@@ -14,7 +12,7 @@
 use sp_std::{vec::Vec, vec};
 use core::ops::Deref;
 use sp_std::collections::btree_map::BTreeMap;
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
 use scale_info::TypeInfo;
 
 pub use pallet::*;
@@ -31,11 +29,11 @@
 }
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
-#[derive(Encode, Decode, TypeInfo)]
-pub struct ItemData<T: Config> {
-	pub const_data: Vec<u8>,
-	pub variable_data: Vec<u8>,
-	pub owner: T::CrossAccountId,
+#[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
+pub struct ItemData<CrossAccountId> {
+	pub const_data: BoundedVec<u8, CustomDataLimit>,
+	pub variable_data: BoundedVec<u8, CustomDataLimit>,
+	pub owner: CrossAccountId,
 }
 
 #[frame_support::pallet]
@@ -72,7 +70,7 @@
 	#[pallet::storage]
 	pub type TokenData<T: Config> = StorageNMap<
 		Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
-		Value = ItemData<T>,
+		Value = ItemData<T::CrossAccountId>,
 		QueryKind = OptionQuery,
 	>;
 
@@ -142,8 +140,11 @@
 
 // unchecked calls skips any permission checks
 impl<T: Config> Pallet<T> {
-	pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {
-		<PalletCommon<T>>::init_collection(data)
+	pub fn init_collection(
+		owner: T::AccountId,
+		data: CreateCollectionData<T::AccountId>,
+	) -> Result<CollectionId, DispatchError> {
+		<PalletCommon<T>>::init_collection(owner, data)
 	}
 	pub fn destroy_collection(
 		collection: NonfungibleHandle<T>,
@@ -211,7 +212,7 @@
 			));
 		}
 
-		collection.log(ERC721Events::Transfer {
+		collection.log_mirrored(ERC721Events::Transfer {
 			from: *token_data.owner.as_eth(),
 			to: H160::default(),
 			token_id: token.into(),
@@ -291,7 +292,7 @@
 		}
 		Self::set_allowance_unchecked(collection, from, token, None, true);
 
-		collection.log(ERC721Events::Transfer {
+		collection.log_mirrored(ERC721Events::Transfer {
 			from: *from.as_eth(),
 			to: *to.as_eth(),
 			token_id: token.into(),
@@ -361,14 +362,14 @@
 			<TokenData<T>>::insert(
 				(collection.id, token),
 				ItemData {
-					const_data: data.const_data.into(),
-					variable_data: data.variable_data.into(),
+					const_data: data.const_data,
+					variable_data: data.variable_data,
 					owner: data.owner.clone(),
 				},
 			);
 			<Owned<T>>::insert((collection.id, &data.owner, token), true);
 
-			collection.log(ERC721Events::Transfer {
+			collection.log_mirrored(ERC721Events::Transfer {
 				from: H160::default(),
 				to: *data.owner.as_eth(),
 				token_id: token.into(),
@@ -395,7 +396,7 @@
 			<Allowance<T>>::insert((collection.id, token), spender);
 			// In ERC721 there is only one possible approved user of token, so we set
 			// approved user to spender
-			collection.log(ERC721Events::Approval {
+			collection.log_mirrored(ERC721Events::Approval {
 				owner: *sender.as_eth(),
 				approved: *spender.as_eth(),
 				token_id: token.into(),
@@ -425,7 +426,7 @@
 			if !assume_implicit_eth {
 				// In ERC721 there is only one possible approved user of token, so we set
 				// approved user to zero address
-				collection.log(ERC721Events::Approval {
+				collection.log_mirrored(ERC721Events::Approval {
 					owner: *sender.as_eth(),
 					approved: H160::default(),
 					token_id: token.into(),
@@ -494,7 +495,7 @@
 		if <Allowance<T>>::get((collection.id, token)).as_ref() != Some(spender) {
 			ensure!(
 				collection.ignores_allowance(spender),
-				<CommonError<T>>::TokenValueNotEnough
+				<CommonError<T>>::ApprovedValueTooLow
 			);
 		}
 
@@ -522,7 +523,7 @@
 		if <Allowance<T>>::get((collection.id, token)).as_ref() != Some(spender) {
 			ensure!(
 				collection.ignores_allowance(spender),
-				<CommonError<T>>::TokenValueNotEnough
+				<CommonError<T>>::ApprovedValueTooLow
 			);
 		}
 
@@ -535,12 +536,8 @@
 		collection: &NonfungibleHandle<T>,
 		sender: &T::CrossAccountId,
 		token: TokenId,
-		data: Vec<u8>,
+		data: BoundedVec<u8, CustomDataLimit>,
 	) -> DispatchResult {
-		ensure!(
-			data.len() as u32 <= CUSTOM_DATA_LIMIT,
-			<CommonError<T>>::TokenVariableDataLimitExceeded
-		);
 		let token_data =
 			<TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;
 		collection.check_can_update_meta(sender, &token_data.owner)?;
modifiedpallets/refungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/refungible/Cargo.toml
+++ b/pallets/refungible/Cargo.toml
@@ -10,14 +10,14 @@
 version = '2.0.0'
 
 [dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 pallet-common = { default-features = false, path = '../common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -1,8 +1,8 @@
 use core::marker::PhantomData;
 
 use sp_std::collections::btree_map::BTreeMap;
-use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight};
-use up_data_structs::TokenId;
+use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight, BoundedVec};
+use up_data_structs::{TokenId, CustomDataLimit};
 use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
 use sp_runtime::DispatchError;
 use sp_std::vec::Vec;
@@ -184,7 +184,7 @@
 		&self,
 		sender: T::CrossAccountId,
 		token: TokenId,
-		data: Vec<u8>,
+		data: BoundedVec<u8, CustomDataLimit>,
 	) -> DispatchResultWithPostInfo {
 		let len = data.len();
 		with_weight(
@@ -207,14 +207,18 @@
 		TokenId(<TokensMinted<T>>::get(self.id))
 	}
 
-	fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {
-		T::CrossAccountId::default()
+	fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {
+		None
 	}
 	fn const_metadata(&self, token: TokenId) -> Vec<u8> {
-		<TokenData<T>>::get((self.id, token)).const_data
+		<TokenData<T>>::get((self.id, token))
+			.const_data
+			.into_inner()
 	}
 	fn variable_metadata(&self, token: TokenId) -> Vec<u8> {
-		<TokenData<T>>::get((self.id, token)).variable_data
+		<TokenData<T>>::get((self.id, token))
+			.variable_data
+			.into_inner()
 	}
 
 	fn collection_tokens(&self) -> u32 {
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -2,8 +2,7 @@
 
 use frame_support::{ensure, BoundedVec};
 use up_data_structs::{
-	AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit,
-	MAX_REFUNGIBLE_PIECES, TokenId,
+	AccessMode, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId, CreateCollectionData,
 };
 use pallet_common::{
 	Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
@@ -11,7 +10,7 @@
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
 use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
 use core::ops::Deref;
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
 use scale_info::TypeInfo;
 
 pub use pallet::*;
@@ -27,10 +26,10 @@
 }
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
-#[derive(Encode, Decode, Default, TypeInfo)]
+#[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]
 pub struct ItemData {
-	pub const_data: Vec<u8>,
-	pub variable_data: Vec<u8>,
+	pub const_data: BoundedVec<u8, CustomDataLimit>,
+	pub variable_data: BoundedVec<u8, CustomDataLimit>,
 }
 
 #[frame_support::pallet]
@@ -156,8 +155,11 @@
 
 // unchecked calls skips any permission checks
 impl<T: Config> Pallet<T> {
-	pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {
-		<PalletCommon<T>>::init_collection(data)
+	pub fn init_collection(
+		owner: T::AccountId,
+		data: CreateCollectionData<T::AccountId>,
+	) -> Result<CollectionId, DispatchError> {
+		<PalletCommon<T>>::init_collection(owner, data)
 	}
 	pub fn destroy_collection(
 		collection: RefungibleHandle<T>,
@@ -437,8 +439,8 @@
 			<TokenData<T>>::insert(
 				(collection.id, token_id),
 				ItemData {
-					const_data: token.const_data.into(),
-					variable_data: token.variable_data.into(),
+					const_data: token.const_data,
+					variable_data: token.variable_data,
 				},
 			);
 			for (user, amount) in token.users.into_iter() {
@@ -529,7 +531,7 @@
 		if allowance.is_none() {
 			ensure!(
 				collection.ignores_allowance(spender),
-				<CommonError<T>>::TokenValueNotEnough
+				<CommonError<T>>::ApprovedValueTooLow
 			);
 		}
 
@@ -562,7 +564,7 @@
 		if allowance.is_none() {
 			ensure!(
 				collection.ignores_allowance(spender),
-				<CommonError<T>>::TokenValueNotEnough
+				<CommonError<T>>::ApprovedValueTooLow
 			);
 		}
 
@@ -579,12 +581,8 @@
 		collection: &RefungibleHandle<T>,
 		sender: &T::CrossAccountId,
 		token: TokenId,
-		data: Vec<u8>,
+		data: BoundedVec<u8, CustomDataLimit>,
 	) -> DispatchResult {
-		ensure!(
-			data.len() as u32 <= CUSTOM_DATA_LIMIT,
-			<CommonError<T>>::TokenVariableDataLimitExceeded
-		);
 		collection.check_can_update_meta(
 			sender,
 			&T::CrossAccountId::from_sub(collection.owner.clone()),
modifiedpallets/scheduler/Cargo.tomldiffbeforeafterboth
--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -13,19 +13,19 @@
 serde = { version = "1.0.130", default-features = false }
 codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false }
 scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
 log = { version = "0.4.14", default-features = false }
 
 [dev-dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 
 [features]
 default = ["std"]
modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
--- a/pallets/scheduler/src/lib.rs
+++ b/pallets/scheduler/src/lib.rs
@@ -413,7 +413,11 @@
 						let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(
 							s.origin.clone()
 						).into();
-						let sender = ensure_signed(origin).unwrap_or_default();
+						let sender = match ensure_signed(origin) {
+							Ok(v) => v,
+							// TODO: Support for unsigned extrinsics?
+							Err(_) => return Some(Some(s))
+						};
 						let who_will_pay = T::SponsorshipHandler::get_sponsor(&sender, &s.call).unwrap_or(sender);
 						let sponsor = T::PalletsOrigin::from(system::RawOrigin::Signed(who_will_pay));
 						let r = s.call.clone().dispatch(sponsor.into());
@@ -661,84 +665,18 @@
 				Ok((new_time, new_index))
 			},
 		)
-	}
-}
-
-impl<T: Config> schedule::Anon<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>
-	for Module<T>
-{
-	type Address = TaskAddress<T::BlockNumber>;
-
-	fn schedule(
-		when: DispatchTime<T::BlockNumber>,
-		maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
-		priority: schedule::Priority,
-		origin: T::PalletsOrigin,
-		call: <T as Config>::Call,
-	) -> Result<Self::Address, DispatchError> {
-		Self::do_schedule(when, maybe_periodic, priority, origin, call)
-	}
-
-	fn cancel((when, index): Self::Address) -> Result<(), ()> {
-		Self::do_cancel(None, (when, index)).map_err(|_| ())
 	}
-
-	fn reschedule(
-		address: Self::Address,
-		when: DispatchTime<T::BlockNumber>,
-	) -> Result<Self::Address, DispatchError> {
-		Self::do_reschedule(address, when)
-	}
-
-	fn next_dispatch_time((when, index): Self::Address) -> Result<T::BlockNumber, ()> {
-		Agenda::<T>::get(when)
-			.get(index as usize)
-			.ok_or(())
-			.map(|_| when)
-	}
 }
 
-impl<T: Config> schedule::Named<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>
-	for Module<T>
-{
-	type Address = TaskAddress<T::BlockNumber>;
-
-	fn schedule_named(
-		id: Vec<u8>,
-		when: DispatchTime<T::BlockNumber>,
-		maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
-		priority: schedule::Priority,
-		origin: T::PalletsOrigin,
-		call: <T as Config>::Call,
-	) -> Result<Self::Address, ()> {
-		Self::do_schedule_named(id, when, maybe_periodic, priority, origin, call).map_err(|_| ())
-	}
-
-	fn cancel_named(id: Vec<u8>) -> Result<(), ()> {
-		Self::do_cancel_named(None, id).map_err(|_| ())
-	}
-
-	fn reschedule_named(
-		id: Vec<u8>,
-		when: DispatchTime<T::BlockNumber>,
-	) -> Result<Self::Address, DispatchError> {
-		Self::do_reschedule_named(id, when)
-	}
-
-	fn next_dispatch_time(id: Vec<u8>) -> Result<T::BlockNumber, ()> {
-		Lookup::<T>::get(id)
-			.and_then(|(when, index)| Agenda::<T>::get(when).get(index as usize).map(|_| when))
-			.ok_or(())
-	}
-}
-
 #[cfg(test)]
 #[allow(clippy::from_over_into)]
 mod tests {
 	use super::*;
 
 	use frame_support::{
-		ord_parameter_types, parameter_types, traits::Contains, weights::constants::RocksDbWeight,
+		ord_parameter_types, parameter_types,
+		traits::{Contains, ConstU32, EnsureOneOf},
+		weights::constants::RocksDbWeight,
 	};
 	use sp_core::H256;
 	use sp_runtime::{
@@ -746,7 +684,7 @@
 		testing::Header,
 		traits::{BlakeTwo256, IdentityLookup},
 	};
-	use frame_system::{EnsureOneOf, EnsureRoot, EnsureSignedBy};
+	use frame_system::{EnsureRoot, EnsureSignedBy};
 	use crate as scheduler;
 
 	mod logger {
@@ -843,6 +781,7 @@
 		type SystemWeightInfo = ();
 		type SS58Prefix = ();
 		type OnSetCode = ();
+		type MaxConsumers = ConstU32<16>;
 	}
 	impl logger::Config for Test {
 		type Event = Event;
@@ -861,7 +800,7 @@
 		type PalletsOrigin = OriginCaller;
 		type Call = Call;
 		type MaximumWeight = MaximumSchedulerWeight;
-		type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
+		type ScheduleOrigin = EnsureOneOf<EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
 		type MaxScheduledPerBlock = MaxScheduledPerBlock;
 		type WeightInfo = ();
 		type SponsorshipHandler = ();
modifiedpallets/unique/Cargo.tomldiffbeforeafterboth
--- a/pallets/unique/Cargo.toml
+++ b/pallets/unique/Cargo.toml
@@ -61,42 +61,42 @@
 default-features = false
 optional = true
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-support]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-system]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-balances]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-std]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-transaction-payment]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.serde]
 default-features = false
@@ -106,17 +106,17 @@
 [dependencies.sp-runtime]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-core]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-io]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 
 ################################################################################
@@ -127,11 +127,11 @@
 scale-info = { version = "1.0.0", default-features = false, features = [
     "derive",
 ] }
-ethereum = { version = "0.10.0", default-features = false }
+ethereum = { version = "0.11.1", default-features = false }
 rlp = { default-features = false, version = "0.5.0" }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
 
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
 up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
 evm-coder = { default-features = false, path = "../../crates/evm-coder" }
 pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
@@ -139,9 +139,9 @@
     "serde_no_std",
 ] }
 
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
 hex-literal = "0.3.3"
 
 pallet-common = { default-features = false, path = "../common" }
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -29,17 +29,18 @@
 		WeightToFeePolynomial, DispatchClass,
 	},
 	StorageValue, transactional,
-	pallet_prelude::DispatchResultWithPostInfo,
+	pallet_prelude::{DispatchResultWithPostInfo, ConstU32},
+	BoundedVec,
 };
 use scale_info::TypeInfo;
 use frame_system::{self as system, ensure_signed};
 use sp_runtime::{sp_std::prelude::Vec};
 use up_data_structs::{
-	MAX_DECIMAL_POINTS, MAX_SPONSOR_TIMEOUT, MAX_TOKEN_OWNERSHIP, CUSTOM_DATA_LIMIT,
-	VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT,
-	FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
-	NFT_SPONSOR_TRANSFER_TIMEOUT, AccessMode, Collection, CreateItemData, CollectionLimits,
-	CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
+	MAX_DECIMAL_POINTS, VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT,
+	OFFCHAIN_SCHEMA_LIMIT, MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH,
+	MAX_TOKEN_PREFIX_LENGTH, AccessMode, CreateItemData, CollectionLimits, CollectionId,
+	CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
+	CreateCollectionData, CustomDataLimit,
 };
 use pallet_common::{
 	account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,
@@ -81,10 +82,6 @@
 		ConfirmUnsetSponsorFail,
 		/// Length of items properties must be greater than 0.
 		EmptyArgument,
-		/// Collection limit bounds per collection exceeded
-		CollectionLimitBoundsExceeded,
-		/// Tried to enable permissions which are only permitted to be disabled
-		OwnerPermissionsCantBeReverted,
 	}
 }
 
@@ -318,42 +315,39 @@
 		// returns collection ID
 		#[weight = <SelfWeightOf<T>>::create_collection()]
 		#[transactional]
+		#[deprecated]
 		pub fn create_collection(origin,
-								 collection_name: Vec<u16>,
-								 collection_description: Vec<u16>,
-								 token_prefix: Vec<u8>,
-								 mode: CollectionMode) -> DispatchResult {
-
-			// Anyone can create a collection
-			let who = ensure_signed(origin)?;
-
-			// Create new collection
-			let new_collection = Collection {
-				owner: who,
+								 collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+								 collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+								 token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
+								 mode: CollectionMode) -> DispatchResult  {
+			let data: CreateCollectionData<T::AccountId> = CreateCollectionData {
 				name: collection_name,
-				mode: mode.clone(),
-				mint_mode: false,
-				access: AccessMode::Normal,
 				description: collection_description,
 				token_prefix,
-				offchain_schema: Vec::new(),
-				schema_version: SchemaVersion::ImageURL,
-				sponsorship: SponsorshipState::Disabled,
-				variable_on_chain_schema: Vec::new(),
-				const_on_chain_schema: Vec::new(),
-				limits: Default::default(),
-				meta_update_permission: Default::default(),
+				mode,
+				..Default::default()
 			};
+			Self::create_collection_ex(origin, data)
+		}
+
+		/// This method creates a collection
+		///
+		/// Prefer it to deprecated [`created_collection`] method
+		#[weight = <SelfWeightOf<T>>::create_collection()]
+		#[transactional]
+		pub fn create_collection_ex(origin, data: CreateCollectionData<T::AccountId>) -> DispatchResult {
+			let owner = ensure_signed(origin)?;
 
-			let _id = match mode {
-				CollectionMode::NFT => {<PalletNonfungible<T>>::init_collection(new_collection)?},
+			let _id = match data.mode {
+				CollectionMode::NFT => {<PalletNonfungible<T>>::init_collection(owner, data)?},
 				CollectionMode::Fungible(decimal_points) => {
 					// check params
 					ensure!(decimal_points <= MAX_DECIMAL_POINTS, Error::<T>::CollectionDecimalPointLimitExceeded);
-					<PalletFungible<T>>::init_collection(new_collection)?
+					<PalletFungible<T>>::init_collection(owner, data)?
 				}
 				CollectionMode::ReFungible => {
-					<PalletRefungible<T>>::init_collection(new_collection)?
+					<PalletRefungible<T>>::init_collection(owner, data)?
 				}
 			};
 
@@ -919,7 +913,7 @@
 			origin,
 			collection_id: CollectionId,
 			item_id: TokenId,
-			data: Vec<u8>
+			data: BoundedVec<u8, CustomDataLimit>,
 		) -> DispatchResultWithPostInfo {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 
@@ -1004,14 +998,11 @@
 		pub fn set_offchain_schema(
 			origin,
 			collection_id: CollectionId,
-			schema: Vec<u8>
+			schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
 		) -> DispatchResult {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
 			target_collection.check_is_owner_or_admin(&sender)?;
-
-			// check schema limit
-			ensure!(schema.len() as u32 <= OFFCHAIN_SCHEMA_LIMIT, "");
 
 			target_collection.offchain_schema = schema;
 
@@ -1039,15 +1030,12 @@
 		pub fn set_const_on_chain_schema (
 			origin,
 			collection_id: CollectionId,
-			schema: Vec<u8>
+			schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>
 		) -> DispatchResult {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
 			target_collection.check_is_owner_or_admin(&sender)?;
 
-			// check schema limit
-			ensure!(schema.len() as u32 <= CONST_ON_CHAIN_SCHEMA_LIMIT, "");
-
 			target_collection.const_on_chain_schema = schema;
 
 			<Pallet<T>>::deposit_event(Event::<T>::ConstOnChainSchemaSet(
@@ -1074,14 +1062,11 @@
 		pub fn set_variable_on_chain_schema (
 			origin,
 			collection_id: CollectionId,
-			schema: Vec<u8>
+			schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>
 		) -> DispatchResult {
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
 			target_collection.check_is_owner_or_admin(&sender)?;
-
-			// check schema limit
-			ensure!(schema.len() as u32 <= VARIABLE_ON_CHAIN_SCHEMA_LIMIT, "");
 
 			target_collection.variable_on_chain_schema = schema;
 
@@ -1099,61 +1084,12 @@
 			collection_id: CollectionId,
 			new_limit: CollectionLimits,
 		) -> DispatchResult {
-			let mut new_limit = new_limit;
 			let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
 			let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
 			target_collection.check_is_owner(&sender)?;
 			let old_limit = &target_collection.limits;
 
-			macro_rules! limit_default {
-				($old:ident, $new:ident, $($field:ident $(($arg:expr))? => $check:expr),* $(,)?) => {{
-					$(
-						if let Some($new) = $new.$field {
-							let $old = $old.$field($($arg)?);
-							let _ = $new;
-							let _ = $old;
-							$check
-						} else {
-							$new.$field = $old.$field
-						}
-					)*
-				}};
-			}
-
-			limit_default!(old_limit, new_limit,
-				account_token_ownership_limit => ensure!(
-					new_limit <= MAX_TOKEN_OWNERSHIP,
-					<Error<T>>::CollectionLimitBoundsExceeded,
-				),
-				sponsor_transfer_timeout(match target_collection.mode {
-					CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,
-					CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
-					CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
-				}) => ensure!(
-					new_limit <= MAX_SPONSOR_TIMEOUT,
-					<Error<T>>::CollectionLimitBoundsExceeded,
-				),
-				sponsored_data_size => ensure!(
-					new_limit <= CUSTOM_DATA_LIMIT,
-					<Error<T>>::CollectionLimitBoundsExceeded,
-				),
-				token_limit => ensure!(
-					old_limit >= new_limit && new_limit > 0,
-					<CommonError<T>>::CollectionTokenLimitExceeded
-				),
-				owner_can_transfer => ensure!(
-					old_limit || !new_limit,
-					<Error<T>>::OwnerPermissionsCantBeReverted,
-				),
-				owner_can_destroy => ensure!(
-					old_limit || !new_limit,
-					<Error<T>>::OwnerPermissionsCantBeReverted,
-				),
-				sponsored_data_rate_limit => {},
-				transfers_enabled => {},
-			);
-
-			target_collection.limits = new_limit;
+			target_collection.limits = <PalletCommon<T>>::clamp_limits(target_collection.mode.clone(), &old_limit, new_limit)?;
 
 			<Pallet<T>>::deposit_event(Event::<T>::CollectionLimitSet(
 				collection_id
modifiedpallets/unique/src/mock.rsdiffbeforeafterboth
--- a/pallets/unique/src/mock.rs
+++ b/pallets/unique/src/mock.rs
@@ -9,10 +9,11 @@
 };
 use pallet_transaction_payment::{CurrencyAdapter};
 use frame_system as system;
-use pallet_evm::AddressMapping;
+use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog};
 use pallet_common::account::{EvmBackwardsAddressMapping, CrossAccountId};
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
 use scale_info::TypeInfo;
+use up_data_structs::ConstU32;
 
 type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
 type Block = frame_system::mocking::MockBlock<Test>;
@@ -63,6 +64,7 @@
 	type SystemWeightInfo = ();
 	type SS58Prefix = SS58Prefix;
 	type OnSetCode = ();
+	type MaxConsumers = ConstU32<16>;
 }
 
 parameter_types! {
@@ -125,7 +127,7 @@
 	}
 }
 
-#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, TypeInfo)]
+#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, TypeInfo, MaxEncodedLen)]
 pub struct TestCrossAccountId(u64, sp_core::H160);
 impl CrossAccountId<u64> for TestCrossAccountId {
 	fn as_sub(&self) -> &u64 {
@@ -161,7 +163,7 @@
 	fn submit_logs_transaction(
 		_source: H160,
 		_tx: pallet_ethereum::Transaction,
-		_logs: Vec<pallet_ethereum::Log>,
+		_logs: Vec<MaybeMirroredLog>,
 	) {
 	}
 }
modifiedpallets/unique/src/tests.rsdiffbeforeafterboth
--- a/pallets/unique/src/tests.rs
+++ b/pallets/unique/src/tests.rs
@@ -5,7 +5,7 @@
 use up_data_structs::{
 	COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,
 	CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission,
-	TokenId,
+	TokenId, MAX_TOKEN_OWNERSHIP,
 };
 use frame_support::{assert_noop, assert_ok};
 use sp_std::convert::TryInto;
@@ -41,9 +41,9 @@
 	let origin1 = Origin::signed(owner);
 	assert_ok!(TemplateModule::create_collection(
 		origin1,
-		col_name1,
-		col_desc1,
-		token_prefix1,
+		col_name1.try_into().unwrap(),
+		col_desc1.try_into().unwrap(),
+		token_prefix1.try_into().unwrap(),
 		mode.clone()
 	));
 
@@ -131,9 +131,9 @@
 		assert_noop!(
 			TemplateModule::create_collection(
 				origin1,
-				col_name1,
-				col_desc1,
-				token_prefix1,
+				col_name1.try_into().unwrap(),
+				col_desc1.try_into().unwrap(),
+				token_prefix1.try_into().unwrap(),
 				CollectionMode::Fungible(MAX_DECIMAL_POINTS + 1)
 			),
 			Error::<Test>::CollectionDecimalPointLimitExceeded
@@ -601,7 +601,7 @@
 				1
 			)
 			.map_err(|e| e.error),
-			CommonError::<Test>::TokenValueNotEnough
+			CommonError::<Test>::ApprovedValueTooLow
 		);
 
 		// do approve
@@ -916,7 +916,7 @@
 				4
 			)
 			.map_err(|e| e.error),
-			CommonError::<Test>::TokenValueNotEnough
+			CommonError::<Test>::ApprovedValueTooLow
 		);
 	});
 }
@@ -2271,9 +2271,9 @@
 		assert_noop!(
 			TemplateModule::create_collection(
 				origin1,
-				col_name1,
-				col_desc1,
-				token_prefix1,
+				col_name1.try_into().unwrap(),
+				col_desc1.try_into().unwrap(),
+				token_prefix1.try_into().unwrap(),
 				CollectionMode::NFT
 			),
 			CommonError::<Test>::TotalCollectionsLimitExceeded
@@ -2372,7 +2372,7 @@
 		assert_ok!(TemplateModule::set_const_on_chain_schema(
 			origin1,
 			collection_id,
-			b"test const on chain schema".to_vec()
+			b"test const on chain schema".to_vec().try_into().unwrap()
 		));
 
 		assert_eq!(
@@ -2399,7 +2399,10 @@
 		assert_ok!(TemplateModule::set_variable_on_chain_schema(
 			origin1,
 			collection_id,
-			b"test variable on chain schema".to_vec()
+			b"test variable on chain schema"
+				.to_vec()
+				.try_into()
+				.unwrap()
 		));
 
 		assert_eq!(
@@ -2432,7 +2435,7 @@
 			origin1,
 			collection_id,
 			TokenId(1),
-			variable_data.clone()
+			variable_data.clone().try_into().unwrap()
 		));
 
 		assert_eq!(
@@ -2459,7 +2462,7 @@
 			origin1,
 			collection_id,
 			TokenId(1),
-			variable_data.clone()
+			variable_data.clone().try_into().unwrap()
 		));
 
 		assert_eq!(
@@ -2485,63 +2488,15 @@
 				origin1,
 				collection_id,
 				TokenId(0),
-				variable_data
+				variable_data.try_into().unwrap()
 			)
 			.map_err(|e| e.error),
 			<pallet_fungible::Error<Test>>::FungibleItemsDontHaveData
-		);
-	});
-}
-
-#[test]
-fn set_variable_meta_data_on_nft_token_fails_for_big_data() {
-	new_test_ext().execute_with(|| {
-		let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));
-
-		let origin1 = Origin::signed(1);
-
-		let data = default_nft_data();
-		create_test_item(collection_id, &data.into());
-
-		let variable_data = b"test set_variable_meta_data method, bigger than limits.".to_vec();
-		assert_noop!(
-			TemplateModule::set_variable_meta_data(
-				origin1,
-				collection_id,
-				TokenId(1),
-				variable_data
-			)
-			.map_err(|e| e.error),
-			CommonError::<Test>::TokenVariableDataLimitExceeded
 		);
 	});
 }
 
 #[test]
-fn set_variable_meta_data_on_re_fungible_token_fails_for_big_data() {
-	new_test_ext().execute_with(|| {
-		let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));
-
-		let origin1 = Origin::signed(1);
-
-		let data = default_re_fungible_data();
-		create_test_item(collection_id, &data.into());
-
-		let variable_data = b"test set_variable_meta_data method, bigger than limits.".to_vec();
-		assert_noop!(
-			TemplateModule::set_variable_meta_data(
-				origin1,
-				collection_id,
-				TokenId(1),
-				variable_data
-			)
-			.map_err(|e| e.error),
-			CommonError::<Test>::TokenVariableDataLimitExceeded
-		);
-	});
-}
-
-#[test]
 fn set_variable_meta_data_on_nft_with_item_owner_permission_flag() {
 	new_test_ext().execute_with(|| {
 		//default_limits();
@@ -2564,7 +2519,7 @@
 			origin1,
 			collection_id,
 			TokenId(1),
-			variable_data.clone()
+			variable_data.clone().try_into().unwrap()
 		));
 
 		assert_eq!(
@@ -2577,48 +2532,6 @@
 }
 
 #[test]
-fn set_variable_meta_data_on_nft_with_item_owner_permission_flag_neg() {
-	new_test_ext().execute_with(|| {
-		let collection_id =
-			create_test_collection_for_owner(&CollectionMode::NFT, 1, CollectionId(1));
-
-		let origin1 = Origin::signed(1);
-
-		assert_ok!(TemplateModule::set_mint_permission(
-			origin1.clone(),
-			collection_id,
-			true
-		));
-		assert_ok!(TemplateModule::add_to_allow_list(
-			origin1.clone(),
-			collection_id,
-			account(1)
-		));
-
-		let data = default_nft_data();
-		create_test_item(collection_id, &data.into());
-
-		assert_ok!(TemplateModule::set_meta_update_permission_flag(
-			origin1.clone(),
-			collection_id,
-			MetaUpdatePermission::ItemOwner,
-		));
-
-		let variable_data = b"1234567890123".to_vec();
-		assert_noop!(
-			TemplateModule::set_variable_meta_data(
-				origin1,
-				collection_id,
-				TokenId(1),
-				variable_data.clone()
-			)
-			.map_err(|e| e.error),
-			CommonError::<Test>::TokenVariableDataLimitExceeded
-		);
-	})
-}
-
-#[test]
 fn collection_transfer_flag_works() {
 	new_test_ext().execute_with(|| {
 		let origin1 = Origin::signed(1);
@@ -2712,7 +2625,7 @@
 			origin1,
 			collection_id,
 			TokenId(1),
-			variable_data.clone()
+			variable_data.clone().try_into().unwrap()
 		));
 
 		assert_eq!(
@@ -2761,7 +2674,7 @@
 				origin1,
 				collection_id,
 				TokenId(1),
-				variable_data.clone()
+				variable_data.try_into().unwrap()
 			)
 			.map_err(|e| e.error),
 			CommonError::<Test>::NoPermission
@@ -2819,7 +2732,7 @@
 				origin1.clone(),
 				collection_id,
 				TokenId(1),
-				variable_data.clone()
+				variable_data.try_into().unwrap()
 			)
 			.map_err(|e| e.error),
 			CommonError::<Test>::NoPermission
modifiedprimitives/data-structs/Cargo.tomldiffbeforeafterboth
--- a/primitives/data-structs/Cargo.toml
+++ b/primitives/data-structs/Cargo.toml
@@ -16,11 +16,11 @@
 serde = { version = "1.0.130", features = [
   'derive',
 ], default-features = false, optional = true }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 derivative = "2.2.0"
 
 [features]
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -22,6 +22,7 @@
 		WeightToFeePolynomial, DispatchClass,
 	},
 	StorageValue, transactional,
+	pallet_prelude::ConstU32,
 };
 use derivative::Derivative;
 use scale_info::TypeInfo;
@@ -65,9 +66,9 @@
 pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;
 pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 1048576;
 
-pub const MAX_COLLECTION_NAME_LENGTH: usize = 64;
-pub const MAX_COLLECTION_DESCRIPTION_LENGTH: usize = 256;
-pub const MAX_TOKEN_PREFIX_LENGTH: usize = 16;
+pub const MAX_COLLECTION_NAME_LENGTH: u32 = 64;
+pub const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = 256;
+pub const MAX_TOKEN_PREFIX_LENGTH: u32 = 16;
 
 /// How much items can be created per single
 /// create_many call
@@ -77,13 +78,39 @@
 	pub const CustomDataLimit: u32 = CUSTOM_DATA_LIMIT;
 }
 
-#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]
+#[derive(
+	Encode,
+	Decode,
+	PartialEq,
+	Eq,
+	PartialOrd,
+	Ord,
+	Clone,
+	Copy,
+	Debug,
+	Default,
+	TypeInfo,
+	MaxEncodedLen,
+)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CollectionId(pub u32);
 impl EncodeLike<u32> for CollectionId {}
 impl EncodeLike<CollectionId> for u32 {}
 
-#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]
+#[derive(
+	Encode,
+	Decode,
+	PartialEq,
+	Eq,
+	PartialOrd,
+	Ord,
+	Clone,
+	Copy,
+	Debug,
+	Default,
+	TypeInfo,
+	MaxEncodedLen,
+)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct TokenId(pub u32);
 impl EncodeLike<u32> for TokenId {}
@@ -121,7 +148,7 @@
 
 pub type DecimalPoints = u8;
 
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum CollectionMode {
 	NFT,
@@ -144,7 +171,7 @@
 	fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;
 }
 
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum AccessMode {
 	Normal,
@@ -156,7 +183,7 @@
 	}
 }
 
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum SchemaVersion {
 	ImageURL,
@@ -175,7 +202,7 @@
 	pub fraction: u128,
 }
 
-#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub enum SponsorshipState<AccountId> {
 	/// The fees are applied to the transaction sender
@@ -211,25 +238,56 @@
 	}
 }
 
-#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct Collection<AccountId> {
 	pub owner: AccountId,
 	pub mode: CollectionMode,
 	pub access: AccessMode,
-	pub name: Vec<u16>,        // 64 include null escape char
-	pub description: Vec<u16>, // 256 include null escape char
-	pub token_prefix: Vec<u8>, // 16 include null escape char
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
 	pub mint_mode: bool,
-	pub offchain_schema: Vec<u8>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
 	pub schema_version: SchemaVersion,
 	pub sponsorship: SponsorshipState<AccountId>,
-	pub limits: CollectionLimits,          // Collection private restrictions
-	pub variable_on_chain_schema: Vec<u8>, //
-	pub const_on_chain_schema: Vec<u8>,    //
+	pub limits: CollectionLimits, // Collection private restrictions
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,
 	pub meta_update_permission: MetaUpdatePermission,
 }
 
+#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, Debug, Derivative, MaxEncodedLen)]
+#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
+#[derivative(Default(bound = ""))]
+pub struct CreateCollectionData<AccountId> {
+	#[derivative(Default(value = "CollectionMode::NFT"))]
+	pub mode: CollectionMode,
+	pub access: Option<AccessMode>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
+	pub schema_version: Option<SchemaVersion>,
+	pub pending_sponsor: Option<AccountId>,
+	pub limits: Option<CollectionLimits>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,
+	#[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+	pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,
+	pub meta_update_permission: Option<MetaUpdatePermission>,
+}
+
 #[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct NftItemType<AccountId> {
@@ -253,7 +311,7 @@
 }
 
 /// All fields are wrapped in `Option`s, where None means chain default
-#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CollectionLimits {
 	pub account_token_ownership_limit: Option<u32>,
@@ -378,7 +436,7 @@
 	pub pieces: u128,
 }
 
-#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
 pub enum MetaUpdatePermission {
 	ItemOwner,
modifiedprimitives/evm-mapping/Cargo.tomldiffbeforeafterboth
--- a/primitives/evm-mapping/Cargo.toml
+++ b/primitives/evm-mapping/Cargo.toml
@@ -4,8 +4,8 @@
 edition = "2021"
 
 [dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 
 [features]
 default = ["std"]
modifiedprimitives/rpc/Cargo.tomldiffbeforeafterboth
--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -9,10 +9,10 @@
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [
 	"derive",
 ] }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
 
 [features]
 default = ["std"]
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -9,14 +9,18 @@
 type Result<T> = core::result::Result<T, DispatchError>;
 
 sp_api::decl_runtime_apis! {
+	#[api_version(2)]
 	pub trait UniqueApi<CrossAccountId, AccountId> where
 		AccountId: Decode,
 		CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,
 	{
+		#[changed_in(2)]
+		fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
+
 		fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>>;
 		fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool>;
 
-		fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
+		fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
 		fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
 		fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
 
modifiedruntime/Cargo.tomldiffbeforeafterboth
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -10,7 +10,7 @@
 license = 'All Rights Reserved'
 name = 'unique-runtime'
 repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.9.14'
+version = '0.9.16'
 
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
@@ -69,6 +69,7 @@
     'pallet-evm-transaction-payment/std',
     'pallet-evm-coder-substrate/std',
     'pallet-ethereum/std',
+    'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
     'up-evm-mapping/std',
@@ -117,33 +118,33 @@
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
 optional = true
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-executive]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-support]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-system]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-system-benchmarking]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
 optional = true
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.frame-system-rpc-runtime-api]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.hex-literal]
 optional = true
@@ -158,131 +159,131 @@
 [dependencies.pallet-aura]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-balances]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 # Contracts specific packages
 # [dependencies.pallet-contracts]
 # git = 'https://github.com/paritytech/substrate.git'
 # default-features = false
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
 # version = '4.0.0-dev'
 
 # [dependencies.pallet-contracts-primitives]
 # git = 'https://github.com/paritytech/substrate.git'
 # default-features = false
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
 # version = '4.0.0-dev'
 
 # [dependencies.pallet-contracts-rpc-runtime-api]
 # git = 'https://github.com/paritytech/substrate.git'
 # default-features = false
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
 # version = '4.0.0-dev'
 
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-sudo]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-transaction-payment]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-transaction-payment-rpc-runtime-api]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.pallet-treasury]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 # [dependencies.pallet-vesting]
 # default-features = false
 # git = 'https://github.com/paritytech/substrate.git'
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-arithmetic]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-api]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-block-builder]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-core]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-consensus-aura]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-inherents]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-io]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-offchain]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-runtime]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-session]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-std]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-transaction-pool]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.sp-version]
 default-features = false
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.smallvec]
 version = '1.6.1'
@@ -292,47 +293,47 @@
 
 [dependencies.parachain-info]
 default-features = false
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 
 [dependencies.cumulus-pallet-aura-ext]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-pallet-parachain-system]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-primitives-core]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-pallet-xcm]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-pallet-dmp-queue]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-pallet-xcmp-queue]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-primitives-utility]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 [dependencies.cumulus-primitives-timestamp]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
 default-features = false
 
 ################################################################################
@@ -340,33 +341,33 @@
 
 [dependencies.polkadot-parachain]
 git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 default-features = false
 
 [dependencies.xcm]
 git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 default-features = false
 
 [dependencies.xcm-builder]
 git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 default-features = false
 
 [dependencies.xcm-executor]
 git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 default-features = false
 
 [dependencies.pallet-xcm]
 git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
 default-features = false
 
 [dependencies.orml-vesting]
 git = 'https://github.com/UniqueNetwork/open-runtime-module-library'
-branch = 'polkadot-v0.9.14'
-version = "0.4.1-dev" 
+branch = 'unique-polkadot-v0.9.16'
+version = "0.4.1-dev"
 default-features = false
 
 ################################################################################
@@ -388,20 +389,21 @@
 pallet-nonfungible = { default-features = false, path = "../pallets/nonfungible" }
 pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false }
 # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14', package = "pallet-template-transaction-payment", default-features = false, version = '3.0.0' }
+pallet-charge-transaction = { git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16', package = "pallet-template-transaction-payment", default-features = false, version = '3.0.0' }
 pallet-evm-migration = { path = '../pallets/evm-migration', default-features = false }
 pallet-evm-contract-helpers = { path = '../pallets/evm-contract-helpers', default-features = false }
 pallet-evm-transaction-payment = { path = '../pallets/evm-transaction-payment', default-features = false }
 pallet-evm-coder-substrate = { default-features = false, path = "../pallets/evm-coder-substrate" }
 
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
 
 ################################################################################
 # Build Dependencies
 
 [build-dependencies.substrate-wasm-builder]
 git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
modifiedruntime/src/lib.rsdiffbeforeafterboth
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -23,10 +23,11 @@
 use sp_runtime::{
 	Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,
 	traits::{
-		AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify, AccountIdConversion,
+		AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify,
+		AccountIdConversion, Zero,
 	},
 	transaction_validity::{TransactionSource, TransactionValidity},
-	ApplyExtrinsicResult, MultiSignature,
+	ApplyExtrinsicResult, MultiSignature, RuntimeAppPublic,
 };
 
 use sp_std::prelude::*;
@@ -45,8 +46,9 @@
 	dispatch::DispatchResult,
 	PalletId, parameter_types, StorageValue, ConsensusEngineId,
 	traits::{
-		Everything, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem,
-		LockIdentifier, OnUnbalanced, Randomness, FindAuthor,
+		tokens::currency::Currency as CurrencyT, OnUnbalanced as OnUnbalancedT, Everything,
+		Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier,
+		OnUnbalanced, Randomness, FindAuthor,
 	},
 	weights::{
 		constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
@@ -68,10 +70,10 @@
 use codec::{Encode, Decode};
 use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};
 use fp_rpc::TransactionStatus;
-use sp_core::crypto::Public;
 use sp_runtime::{
-	traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf},
+	traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},
 	transaction_validity::TransactionValidityError,
+	SaturatedConversion,
 };
 
 // pub use pallet_timestamp::Call as TimestampCall;
@@ -83,12 +85,23 @@
 use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};
 use xcm_builder::{
 	AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,
-	EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,
-	ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative,
-	SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32,
-	SovereignSignedViaLocation, TakeWeightCredit, UsingComponents,
+	EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, ParentAsSuperuser,
+	ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,
+	SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
+};
+use xcm_executor::{Config, XcmExecutor, Assets};
+use sp_std::{marker::PhantomData};
+
+use xcm::latest::{
+	//	Xcm,
+	AssetId::{Concrete},
+	Fungibility::Fungible as XcmFungible,
+	MultiAsset,
+	Error as XcmError,
 };
-use xcm_executor::{Config, XcmExecutor};
+use xcm_executor::traits::{MatchesFungible, WeightTrader};
+//use xcm_executor::traits::MatchesFungible;
+use sp_runtime::traits::CheckedConversion;
 
 // mod chain_extension;
 // use crate::chain_extension::{NFTExtension, Imbalance};
@@ -147,10 +160,11 @@
 	spec_name: create_runtime_str!("opal"),
 	impl_name: create_runtime_str!("opal"),
 	authoring_version: 1,
-	spec_version: 914000,
-	impl_version: 1,
+	spec_version: 916001,
+	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 1,
+	state_version: 0,
 };
 
 pub const MILLISECS_PER_BLOCK: u64 = 12000;
@@ -283,7 +297,8 @@
 	type CallOrigin = EnsureAddressTruncated;
 	type WithdrawOrigin = EnsureAddressTruncated;
 	type AddressMapping = HashedAddressMapping<Self::Hashing>;
-	type Precompiles = ();
+	type PrecompilesType = ();
+	type PrecompilesValue = ();
 	type Currency = Balances;
 	type Event = Event;
 	type OnMethodCall = (
@@ -370,6 +385,7 @@
 	type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;
 	/// Version of the runtime.
 	type Version = Version;
+	type MaxConsumers = ConstU32<16>;
 }
 
 parameter_types! {
@@ -501,6 +517,7 @@
 parameter_types! {
 	pub const ProposalBond: Permill = Permill::from_percent(5);
 	pub const ProposalBondMinimum: Balance = 1 * UNIQUE;
+	pub const ProposalBondMaximum: Balance = 1000 * UNIQUE;
 	pub const SpendPeriod: BlockNumber = 5 * MINUTES;
 	pub const Burn: Permill = Permill::from_percent(0);
 	pub const TipCountdown: BlockNumber = 1 * DAYS;
@@ -526,6 +543,7 @@
 	type OnSlash = ();
 	type ProposalBond = ProposalBond;
 	type ProposalBondMinimum = ProposalBondMinimum;
+	type ProposalBondMaximum = ProposalBondMaximum;
 	type SpendPeriod = SpendPeriod;
 	type Burn = Burn;
 	type BurnDestination = ();
@@ -575,8 +593,8 @@
 
 impl cumulus_pallet_parachain_system::Config for Runtime {
 	type Event = Event;
-	type OnValidationData = ();
 	type SelfParaId = parachain_info::Pallet<Self>;
+	type OnSystemEvent = ();
 	// type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<
 	// 	MaxDownwardMessageWeight,
 	// 	XcmExecutor<XcmConfig>,
@@ -612,12 +630,22 @@
 	AccountId32Aliases<RelayNetwork, AccountId>,
 );
 
+pub struct OnlySelfCurrency;
+impl<B: TryFrom<u128>> MatchesFungible<B> for OnlySelfCurrency {
+	fn matches_fungible(a: &MultiAsset) -> Option<B> {
+		match (&a.id, &a.fun) {
+			(Concrete(_), XcmFungible(ref amount)) => CheckedConversion::checked_from(*amount),
+			_ => None,
+		}
+	}
+}
+
 /// Means for transacting assets on this chain.
 pub type LocalAssetTransactor = CurrencyAdapter<
 	// Use this currency:
 	Balances,
 	// Use this currency when it is a fungible asset matching the given location or name:
-	IsConcrete<RelayLocation>,
+	OnlySelfCurrency,
 	// Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:
 	LocationToAccountId,
 	// Our chain's account ID type (we can't get away without mentioning it explicitly):
@@ -673,6 +701,88 @@
 	// ^^^ Parent & its unit plurality gets free execution
 );
 
+pub struct UsingOnlySelfCurrencyComponents<
+	WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,
+	AssetId: Get<MultiLocation>,
+	AccountId,
+	Currency: CurrencyT<AccountId>,
+	OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,
+>(
+	Weight,
+	Currency::Balance,
+	PhantomData<(WeightToFee, AssetId, AccountId, Currency, OnUnbalanced)>,
+);
+impl<
+		WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,
+		AssetId: Get<MultiLocation>,
+		AccountId,
+		Currency: CurrencyT<AccountId>,
+		OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,
+	> WeightTrader
+	for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>
+{
+	fn new() -> Self {
+		Self(0, Zero::zero(), PhantomData)
+	}
+
+	fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result<Assets, XcmError> {
+		let amount = WeightToFee::calc(&weight);
+		let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?;
+
+		// location to this parachain through relay chain
+		let option1: xcm::v1::AssetId = Concrete(MultiLocation {
+			parents: 1,
+			interior: X1(Parachain(ParachainInfo::parachain_id().into())),
+		});
+		// direct location
+		let option2: xcm::v1::AssetId = Concrete(MultiLocation {
+			parents: 0,
+			interior: Here,
+		});
+
+		let required = if payment.fungible.contains_key(&option1) {
+			(option1, u128_amount).into()
+		} else if payment.fungible.contains_key(&option2) {
+			(option2, u128_amount).into()
+		} else {
+			(Concrete(MultiLocation::default()), u128_amount).into()
+		};
+
+		let unused = payment
+			.checked_sub(required)
+			.map_err(|_| XcmError::TooExpensive)?;
+		self.0 = self.0.saturating_add(weight);
+		self.1 = self.1.saturating_add(amount);
+		Ok(unused)
+	}
+
+	fn refund_weight(&mut self, weight: Weight) -> Option<MultiAsset> {
+		let weight = weight.min(self.0);
+		let amount = WeightToFee::calc(&weight);
+		self.0 -= weight;
+		self.1 = self.1.saturating_sub(amount);
+		let amount: u128 = amount.saturated_into();
+		if amount > 0 {
+			Some((AssetId::get(), amount).into())
+		} else {
+			None
+		}
+	}
+}
+impl<
+		WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,
+		AssetId: Get<MultiLocation>,
+		AccountId,
+		Currency: CurrencyT<AccountId>,
+		OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,
+	> Drop
+	for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>
+{
+	fn drop(&mut self) {
+		OnUnbalanced::on_unbalanced(Currency::issue(self.1));
+	}
+}
+
 pub struct XcmConfig;
 impl Config for XcmConfig {
 	type Call = Call;
@@ -685,7 +795,13 @@
 	type LocationInverter = LocationInverter<Ancestry>;
 	type Barrier = Barrier;
 	type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
-	type Trader = UsingComponents<IdentityFee<Balance>, RelayLocation, AccountId, Balances, ()>;
+	type Trader = UsingOnlySelfCurrencyComponents<
+		IdentityFee<Balance>,
+		RelayLocation,
+		AccountId,
+		Balances,
+		(),
+	>;
 	type ResponseHandler = (); // Don't handle responses for now.
 	type SubscriptionService = PolkadotXcm;
 
@@ -741,6 +857,7 @@
 	type XcmExecutor = XcmExecutor<XcmConfig>;
 	type ChannelInfo = ParachainSystem;
 	type VersionWrapper = ();
+	type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;
 }
 
 impl cumulus_pallet_dmp_queue::Config for Runtime {
@@ -961,7 +1078,7 @@
 	Block,
 	frame_system::ChainContext<Runtime>,
 	Runtime,
-	AllPallets,
+	AllPalletsReversedWithSystemFirst,
 >;
 
 impl_opaque_keys! {
@@ -1038,7 +1155,7 @@
 			dispatch_unique_runtime!(collection.token_exists(token))
 		}
 
-		fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId, DispatchError> {
+		fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {
 			dispatch_unique_runtime!(collection.token_owner(token))
 		}
 		fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {
@@ -1186,9 +1303,11 @@
 			data: Vec<u8>,
 			value: U256,
 			gas_limit: U256,
-			gas_price: Option<U256>,
+			max_fee_per_gas: Option<U256>,
+			max_priority_fee_per_gas: Option<U256>,
 			nonce: Option<U256>,
 			estimate: bool,
+			access_list: Option<Vec<(H160, Vec<H256>)>>,
 		) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {
 			let config = if estimate {
 				let mut config = <Runtime as pallet_evm::Config>::config().clone();
@@ -1204,8 +1323,10 @@
 				data,
 				value,
 				gas_limit.low_u64(),
-				gas_price,
+				max_fee_per_gas,
+				max_priority_fee_per_gas,
 				nonce,
+				access_list.unwrap_or_default(),
 				config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),
 			).map_err(|err| err.into())
 		}
@@ -1216,9 +1337,11 @@
 			data: Vec<u8>,
 			value: U256,
 			gas_limit: U256,
-			gas_price: Option<U256>,
+			max_fee_per_gas: Option<U256>,
+			max_priority_fee_per_gas: Option<U256>,
 			nonce: Option<U256>,
 			estimate: bool,
+			access_list: Option<Vec<(H160, Vec<H256>)>>,
 		) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {
 			let config = if estimate {
 				let mut config = <Runtime as pallet_evm::Config>::config().clone();
@@ -1233,8 +1356,10 @@
 				data,
 				value,
 				gas_limit.low_u64(),
-				gas_price,
+				max_fee_per_gas,
+				max_priority_fee_per_gas,
 				nonce,
+				access_list.unwrap_or_default(),
 				config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),
 			).map_err(|err| err.into())
 		}
@@ -1269,6 +1394,10 @@
 				_ => None
 			}).collect()
 		}
+
+		fn elasticity() -> Option<Permill> {
+			None
+		}
 	}
 
 	impl sp_session::SessionKeys<Block> for Runtime {
@@ -1294,8 +1423,8 @@
 	}
 
 	impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {
-		fn collect_collation_info() -> cumulus_primitives_core::CollationInfo {
-			ParachainSystem::collect_collation_info()
+		fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo {
+			ParachainSystem::collect_collation_info(header)
 		}
 	}
 
@@ -1374,7 +1503,7 @@
 			list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);
 			// list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
-			let storage_info = AllPalletsWithSystem::storage_info();
+			let storage_info = AllPalletsReversedWithSystemFirst::storage_info();
 
 			return (list, storage_info)
 		}
modifiedtests/README.mddiffbeforeafterboth
--- a/tests/README.md
+++ b/tests/README.md
@@ -5,7 +5,7 @@
 1. Checkout polkadot in sibling folder with this project
 ```bash
 git clone https://github.com/paritytech/polkadot.git && cd polkadot
-git checkout release-v0.9.14
+git checkout release-v0.9.16
 ```
 
 2. Build with nightly-2021-11-11
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -64,12 +64,14 @@
     "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",
     "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",
     "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",
+    "testXcmTransfer": "mocha --timeout 9999999 -r ts-node/register ./**/xcmTransfer.test.ts",
     "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
     "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",
     "testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",
+    "polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > src/interfaces/metadata.json",
     "polkadot-types-from-defs": "ts-node ./node_modules/.bin/polkadot-types-from-defs --input src/interfaces/ --package .",
-    "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint ws://localhost:9944 --output src/interfaces/ --package .",
-    "polkadot-types": "yarn polkadot-types-from-defs && yarn polkadot-types-from-chain"
+    "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",
+    "polkadot-types": "yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain"
   },
   "author": "",
   "license": "SEE LICENSE IN ../LICENSE",
modifiedtests/src/check-event/createCollectionEvent.test.tsdiffbeforeafterboth
--- a/tests/src/check-event/createCollectionEvent.test.ts
+++ b/tests/src/check-event/createCollectionEvent.test.ts
@@ -27,7 +27,7 @@
   });
   it('Check event from createCollection(): ', async () => {
     await usingApi(async (api: ApiPromise) => {
-      const tx = api.tx.unique.createCollection([0x31], [0x32], '0x33', 'NFT');
+      const tx = api.tx.unique.createCollectionEx({name: [0x31], description: [0x32], tokenPrefix: '0x33', mode: 'NFT'});
       const events = await submitTransactionAsync(alice, tx);
       const msg = JSON.stringify(uniqueEventMessage(events));
       expect(msg).to.be.contain(checkSection);
modifiedtests/src/createCollection.test.tsdiffbeforeafterboth
--- a/tests/src/createCollection.test.ts
+++ b/tests/src/createCollection.test.ts
@@ -3,12 +3,11 @@
 // file 'LICENSE', which is part of this source code package.
 //
 
-import chai from 'chai';
-import chaiAsPromised from 'chai-as-promised';
-import {createCollectionExpectFailure, createCollectionExpectSuccess} from './util/helpers';
+import {expect} from 'chai';
+import privateKey from './substrate/privateKey';
+import usingApi, {executeTransaction, submitTransactionAsync} from './substrate/substrate-api';
+import {createCollectionExpectFailure, createCollectionExpectSuccess, getCreateCollectionResult, getDetailedCollectionInfo} from './util/helpers';
 
-chai.use(chaiAsPromised);
-
 describe('integration test: ext. createCollection():', () => {
   it('Create new NFT collection', async () => {
     await createCollectionExpectSuccess({name: 'A', description: 'B', tokenPrefix: 'C', mode: {type: 'NFT'}});
@@ -28,6 +27,45 @@
   it('Create new ReFungible collection', async () => {
     await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});
   });
+  it('Create new collection with extra fields', async () => {
+    await usingApi(async api => {
+      const alice = privateKey('//Alice');
+      const bob = privateKey('//Bob');
+      const tx = api.tx.unique.createCollectionEx({
+        mode: {Fungible: 8},
+        access: 'AllowList',
+        name: [1],
+        description: [2],
+        tokenPrefix: '0x000000',
+        offchainSchema: '0x111111',
+        schemaVersion: 'Unique',
+        pendingSponsor: bob.address,
+        limits: {
+          accountTokenOwnershipLimit: 3,
+        },
+        variableOnChainSchema: '0x222222',
+        constOnChainSchema: '0x333333',
+        metaUpdatePermission: 'Admin',
+      });
+      const events = await submitTransactionAsync(alice, tx);
+      const result = getCreateCollectionResult(events);
+
+      const collection = (await getDetailedCollectionInfo(api, result.collectionId))!;
+      expect(collection.owner.toString()).to.equal(alice.address);
+      expect(collection.mode.asFungible.toNumber()).to.equal(8);
+      expect(collection.access.isAllowList).to.be.true;
+      expect(collection.name.map(v => v.toNumber())).to.deep.equal([1]);
+      expect(collection.description.map(v => v.toNumber())).to.deep.equal([2]);
+      expect(collection.tokenPrefix.toString()).to.equal('0x000000');
+      expect(collection.offchainSchema.toString()).to.equal('0x111111');
+      expect(collection.schemaVersion.isUnique).to.be.true;
+      expect(collection.sponsorship.asUnconfirmed.toString()).to.equal(bob.address);
+      expect(collection.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.equal(3);
+      expect(collection.variableOnChainSchema.toString()).to.equal('0x222222');
+      expect(collection.constOnChainSchema.toString()).to.equal('0x333333');
+      expect(collection.metaUpdatePermission.isAdmin).to.be.true;
+    });
+  });
 });
 
 describe('(!negative test!) integration test: ext. createCollection():', () => {
@@ -40,4 +78,11 @@
   it('(!negative test!) create new NFT collection whith incorrect data (token_prefix)', async () => {
     await createCollectionExpectFailure({tokenPrefix: 'A'.repeat(17), mode: {type: 'NFT'}});
   });
+  it('fails when bad limits are set', async () => {
+    await usingApi(async api => {
+      const alice = privateKey('//Alice');
+      const tx = api.tx.unique.createCollectionEx({mode: 'NFT', limits: {tokenLimit: 0}});
+      await expect(executeTransaction(api, alice, tx)).to.be.rejectedWith(/^common.CollectionTokenLimitExceeded$/);
+    });
+  });
 });
modifiedtests/src/eth/api/ContractHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -12,7 +12,7 @@
 	function supportsInterface(bytes4 interfaceID) external view returns (bool);
 }
 
-// Selector: 31acb1fe
+// Selector: 7b4866f9
 interface ContractHelpers is Dummy, ERC165 {
 	// Selector: contractOwner(address) 5152b14c
 	function contractOwner(address contractAddress)
@@ -26,9 +26,20 @@
 		view
 		returns (bool);
 
+	// Deprecated
+	//
 	// Selector: toggleSponsoring(address,bool) fcac6d86
 	function toggleSponsoring(address contractAddress, bool enabled) external;
 
+	// Selector: setSponsoringMode(address,uint8) fde8a560
+	function setSponsoringMode(address contractAddress, uint8 mode) external;
+
+	// Selector: sponsoringMode(address) b70c7267
+	function sponsoringMode(address contractAddress)
+		external
+		view
+		returns (uint8);
+
 	// Selector: setSponsoringRateLimit(address,uint32) 77b6c908
 	function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)
 		external;
modifiedtests/src/eth/contractSponsoring.test.tsdiffbeforeafterboth
--- a/tests/src/eth/contractSponsoring.test.ts
+++ b/tests/src/eth/contractSponsoring.test.ts
@@ -10,7 +10,10 @@
   createEthAccountWithBalance,
   transferBalanceToEth,
   deployFlipper,
-  itWeb3} from './util/helpers';
+  itWeb3,
+  SponsoringMode,
+  createEthAccount,
+} from './util/helpers';
 
 describe('Sponsoring EVM contracts', () => {
   itWeb3('Sponsoring can be set by the address that has deployed the contract', async ({api, web3}) => {
@@ -18,7 +21,7 @@
     const flipper = await deployFlipper(web3, owner);
     const helpers = contractHelpers(web3, owner);
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
   });
 
@@ -28,11 +31,11 @@
     const flipper = await deployFlipper(web3, owner);
     const helpers = contractHelpers(web3, owner);
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await expect(helpers.methods.toggleSponsoring(notOwner, true).send({from: notOwner})).to.rejected;
+    await expect(helpers.methods.setSponsoringMode(notOwner, SponsoringMode.Allowlisted).send({from: notOwner})).to.rejected;
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
   });
 
-  itWeb3('Sponsoring is set, an address that has no UNQ can send a transaction and it works. Sponsor balance should decrease (allowlisted)', async ({api, web3}) => {
+  itWeb3('In generous mode, non-allowlisted user transaction will be sponsored', async ({api, web3}) => {
     const alice = privateKey('//Alice');
 
     const owner = await createEthAccountWithBalance(api, web3);
@@ -41,11 +44,39 @@
     const flipper = await deployFlipper(web3, owner);
 
     const helpers = contractHelpers(web3, owner);
+
+    expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Generous).send({from: owner});
+    await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});
+    expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
+
+    await transferBalanceToEth(api, alice, flipper.options.address);
+
+    const originalFlipperBalance = await web3.eth.getBalance(flipper.options.address);
+    expect(originalFlipperBalance).to.be.not.equal('0');
+
+    await flipper.methods.flip().send({from: caller});
+    expect(await flipper.methods.getValue().call()).to.be.true;
+
+    // Balance should be taken from flipper instead of caller
+    const balanceAfter = await web3.eth.getBalance(flipper.options.address);
+    expect(+balanceAfter).to.be.lessThan(+originalFlipperBalance);
+  });
+
+  itWeb3('Sponsoring is set, an address that has no UNQ can send a transaction and it works. Sponsor balance should decrease (allowlisted)', async ({api, web3}) => {
+    const alice = privateKey('//Alice');
+
+    const owner = await createEthAccountWithBalance(api, web3);
+    const caller = createEthAccount(web3);
+
+    const flipper = await deployFlipper(web3, owner);
+
+    const helpers = contractHelpers(web3, owner);
     await helpers.methods.toggleAllowlist(flipper.options.address, true).send({from: owner});
     await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});
 
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});
     await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
 
@@ -66,14 +97,14 @@
     const alice = privateKey('//Alice');
 
     const owner = await createEthAccountWithBalance(api, web3);
-    const caller = await createEthAccountWithBalance(api, web3);
+    const caller = createEthAccount(web3);
 
     const flipper = await deployFlipper(web3, owner);
 
     const helpers = contractHelpers(web3, owner);
 
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});
     await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
 
@@ -104,7 +135,7 @@
     await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});
 
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});
     await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
 
@@ -133,7 +164,7 @@
     await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});
 
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});
     await helpers.methods.setSponsoringRateLimit(flipper.options.address, 10).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
 
@@ -157,33 +188,4 @@
     const helpers = contractHelpers(web3, owner);
     expect(await helpers.methods.getSponsoringRateLimit(flipper.options.address).call()).to.be.equals('7200');
   });
-
-  itWeb3('If allowlist mode is off and sponsorship is on, sponsorship does not work', async ({api, web3}) => {
-    const alice = privateKey('//Alice');
-
-    const owner = await createEthAccountWithBalance(api, web3);
-    const caller = await createEthAccountWithBalance(api, web3);
-
-    const flipper = await deployFlipper(web3, owner);
-
-    const helpers = contractHelpers(web3, owner);
-
-    expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
-    await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});
-    expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
-
-    await transferBalanceToEth(api, alice, flipper.options.address);
-
-    const originalFlipperBalance = await web3.eth.getBalance(flipper.options.address);
-    expect(originalFlipperBalance).to.be.not.equal('0');
-
-    await flipper.methods.flip().send({from: caller});
-    expect(await flipper.methods.getValue().call()).to.be.true;
-
-    // Balance should be taken from flipper instead of caller
-    const balanceAfter = await web3.eth.getBalance(flipper.options.address);
-    expect(+balanceAfter).to.be.equals(+originalFlipperBalance);
-  });
-
 });
modifiedtests/src/eth/marketplace/marketplace.test.tsdiffbeforeafterboth
--- a/tests/src/eth/marketplace/marketplace.test.ts
+++ b/tests/src/eth/marketplace/marketplace.test.ts
@@ -2,7 +2,7 @@
 import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance';
 import privateKey from '../../substrate/privateKey';
 import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionLimitsExpectSuccess, setCollectionSponsorExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers';
-import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, subToEth, subToEthLowercase, transferBalanceToEth} from '../util/helpers';
+import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, SponsoringMode, subToEth, subToEthLowercase, transferBalanceToEth} from '../util/helpers';
 import {evmToAddress} from '@polkadot/util-crypto';
 import nonFungibleAbi from '../nonFungibleAbi.json';
 import fungibleAbi from '../fungibleAbi.json';
@@ -20,7 +20,7 @@
     });
     const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner});
     const helpers = contractHelpers(web3, matcherOwner);
-    await helpers.methods.toggleSponsoring(matcher.options.address, true).send({from: matcherOwner});
+    await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});
     await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});
     await transferBalanceToEth(api, alice, matcher.options.address);
 
@@ -147,7 +147,7 @@
     const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});
     await matcher.methods.setEscrow(escrow).send({from: matcherOwner});
     const helpers = contractHelpers(web3, matcherOwner);
-    await helpers.methods.toggleSponsoring(matcher.options.address, true).send({from: matcherOwner});
+    await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});
     await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});
     await transferBalanceToEth(api, alice, matcher.options.address);
 
modifiedtests/src/eth/payable.test.tsdiffbeforeafterboth
--- a/tests/src/eth/payable.test.ts
+++ b/tests/src/eth/payable.test.ts
@@ -34,6 +34,8 @@
         GAS_ARGS.gas,
         await web3.eth.getGasPrice(),
         null,
+        null,
+        [],
       );
       const events = await submitTransactionAsync(alice, tx);
       const result = getGenericResult(events);
modifiedtests/src/eth/sponsoring.test.tsdiffbeforeafterboth
--- a/tests/src/eth/sponsoring.test.ts
+++ b/tests/src/eth/sponsoring.test.ts
@@ -1,6 +1,6 @@
 import {expect} from 'chai';
 import privateKey from '../substrate/privateKey';
-import {contractHelpers, createEthAccount, createEthAccountWithBalance, deployCollector, deployFlipper, itWeb3, transferBalanceToEth} from './util/helpers';
+import {contractHelpers, createEthAccount, createEthAccountWithBalance, deployCollector, deployFlipper, itWeb3, SponsoringMode, transferBalanceToEth} from './util/helpers';
 
 describe('EVM sponsoring', () => {
   itWeb3('Fee is deducted from contract if sponsoring is enabled', async ({api, web3}) => {
@@ -18,7 +18,7 @@
     await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});
 
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});
     await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;
 
@@ -49,7 +49,7 @@
     await helpers.methods.toggleAllowed(collector.options.address, caller, true).send({from: owner});
 
     expect(await helpers.methods.sponsoringEnabled(collector.options.address).call()).to.be.false;
-    await helpers.methods.toggleSponsoring(collector.options.address, true).send({from: owner});
+    await helpers.methods.setSponsoringMode(collector.options.address, SponsoringMode.Allowlisted).send({from: owner});
     await helpers.methods.setSponsoringRateLimit(collector.options.address, 0).send({from: owner});
     expect(await helpers.methods.sponsoringEnabled(collector.options.address).call()).to.be.true;
 
modifiedtests/src/eth/util/contractHelpersAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/util/contractHelpersAbi.json
+++ b/tests/src/eth/util/contractHelpersAbi.json
@@ -147,6 +147,43 @@
                 "type": "address"
             },
             {
+                "internalType": "uint8",
+                "name": "mode",
+                "type": "uint8"
+            }
+        ],
+        "name": "setSponsoringMode",
+        "outputs": [],
+        "stateMutability": "nonpayable",
+        "type": "function"
+    },
+    {
+        "inputs": [
+            {
+                "internalType": "address",
+                "name": "target",
+                "type": "address"
+            }
+        ],
+        "name": "sponsoringMode",
+        "outputs": [
+            {
+                "internalType": "uint8",
+                "name": "",
+                "type": "uint8"
+            }
+        ],
+        "stateMutability": "nonpayable",
+        "type": "function"
+    },
+    {
+        "inputs": [
+            {
+                "internalType": "address",
+                "name": "target",
+                "type": "address"
+            },
+            {
                 "internalType": "uint32",
                 "name": "limit",
                 "type": "uint32"
@@ -176,4 +213,4 @@
         "stateMutability": "view",
         "type": "function"
     }
-]
\ No newline at end of file
+]
modifiedtests/src/eth/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -21,6 +21,12 @@
 
 export const GAS_ARGS = {gas: 2500000};
 
+export enum SponsoringMode {
+  Disabled = 0,
+  Allowlisted = 1,
+  Generous = 2,
+}
+
 let web3Connected = false;
 export async function usingWeb3<T>(cb: (web3: Web3) => Promise<T> | T): Promise<T> {
   if (web3Connected) throw new Error('do not nest usingWeb3 calls');
@@ -249,6 +255,8 @@
     GAS_ARGS.gas,
     await web3.eth.getGasPrice(),
     null,
+    null,
+    [],
   );
   const events = await submitTransactionAsync(from, tx);
   expect(events.some(({event: {section, method}}) => section == 'evm' && method == 'Executed')).to.be.true;
addedtests/src/interfaces/.gitignorediffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/.gitignore
@@ -0,0 +1 @@
+metadata.json
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -2,7 +2,7 @@
 /* eslint-disable */
 
 import type { ApiTypes } from '@polkadot/api/types';
-import type { Vec, u128, u16, u32, u64, u8 } from '@polkadot/types';
+import type { Option, Vec, u128, u16, u32, u64, u8 } from '@polkadot/types';
 import type { Permill } from '@polkadot/types/interfaces/runtime';
 import type { FrameSupportPalletId, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion } from '@polkadot/types/lookup';
 import type { Codec } from '@polkadot/types/types';
@@ -36,6 +36,9 @@
       [key: string]: Codec;
     };
     inflation: {
+      /**
+       * Number of blocks that pass between treasury balance updates due to inflation
+       **/
       inflationBlockInterval: u32 & AugmentedConst<ApiType>;
       /**
        * Generic const
@@ -146,6 +149,10 @@
        **/
       proposalBond: Permill & AugmentedConst<ApiType>;
       /**
+       * Maximum amount of funds that should be placed in a deposit for making a proposal.
+       **/
+      proposalBondMaximum: Option<u128> & AugmentedConst<ApiType>;
+      /**
        * Minimum amount of funds that should be placed in a deposit for making a proposal.
        **/
       proposalBondMinimum: u128 & AugmentedConst<ApiType>;
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -61,14 +61,18 @@
        **/
       CantApproveMoreThanOwned: AugmentedError<ApiType>;
       /**
-       * Exceeded max admin amount
+       * Exceeded max admin count
        **/
-      CollectionAdminAmountExceeded: AugmentedError<ApiType>;
+      CollectionAdminCountExceeded: AugmentedError<ApiType>;
       /**
        * Collection description can not be longer than 255 char.
        **/
       CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;
       /**
+       * Collection limit bounds per collection exceeded
+       **/
+      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;
+      /**
        * Collection name can not be longer than 63 char.
        **/
       CollectionNameLimitExceeded: AugmentedError<ApiType>;
@@ -97,6 +101,10 @@
        **/
       NoPermission: AugmentedError<ApiType>;
       /**
+       * Tried to enable permissions which are only permitted to be disabled
+       **/
+      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
+      /**
        * Collection is not in mint mode.
        **/
       PublicMintingNotAllowed: AugmentedError<ApiType>;
@@ -107,7 +115,7 @@
       /**
        * Requested value more than approved.
        **/
-      TokenValueNotEnough: AugmentedError<ApiType>;
+      ApprovedValueTooLow: AugmentedError<ApiType>;
       /**
        * Item balance not enough.
        **/
@@ -227,7 +235,7 @@
       /**
        * Tried to set data for fungible item
        **/
-      FungibleItemsHaveData: AugmentedError<ApiType>;
+      FungibleItemsDontHaveData: AugmentedError<ApiType>;
       /**
        * Not default id passed as TokenId argument
        **/
@@ -381,6 +389,10 @@
     };
     system: {
       /**
+       * The origin filter prevent the call to be dispatched.
+       **/
+      CallFiltered: AugmentedError<ApiType>;
+      /**
        * Failed to extract the runtime version from the new runtime.
        * 
        * Either calling `Core_version` or decoding `RuntimeVersion` failed.
@@ -433,10 +445,6 @@
        **/
       CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;
       /**
-       * Collection limit bounds per collection exceeded
-       **/
-      CollectionLimitBoundsExceeded: AugmentedError<ApiType>;
-      /**
        * This address is not set as sponsor, use setCollectionSponsor first.
        **/
       ConfirmUnsetSponsorFail: AugmentedError<ApiType>;
@@ -444,10 +452,6 @@
        * Length of items properties must be greater than 0.
        **/
       EmptyArgument: AugmentedError<ApiType>;
-      /**
-       * Tried to enable permissions which are only permitted to be disabled
-       **/
-      OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
       /**
        * Generic error
        **/
@@ -485,6 +489,10 @@
     };
     xcmpQueue: {
       /**
+       * Bad overweight index.
+       **/
+      BadOverweightIndex: AugmentedError<ApiType>;
+      /**
        * Bad XCM data.
        **/
       BadXcm: AugmentedError<ApiType>;
@@ -497,6 +505,10 @@
        **/
       FailedToSend: AugmentedError<ApiType>;
       /**
+       * Provided weight is possibly not enough to execute the message.
+       **/
+      WeightOverLimit: AugmentedError<ApiType>;
+      /**
        * Generic error
        **/
       [key: string]: AugmentedError<ApiType>;
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -2,7 +2,7 @@
 /* eslint-disable */
 
 import type { EthereumLog, EvmCoreErrorExitReason } from './ethereum';
-import type { PalletCommonAccountBasicCrossAccountIdRepr } from './unique';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode } from './unique';
 import type { ApiTypes } from '@polkadot/api/types';
 import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
@@ -12,48 +12,45 @@
   export interface AugmentedEvents<ApiType> {
     balances: {
       /**
-       * A balance was set by root. \[who, free, reserved\]
+       * A balance was set by root.
        **/
       BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;
       /**
-       * Some amount was deposited into the account (e.g. for transaction fees). \[who,
-       * deposit\]
+       * Some amount was deposited (e.g. for transaction fees).
        **/
       Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
        * An account was removed whose balance was non-zero but below ExistentialDeposit,
-       * resulting in an outright loss. \[account, balance\]
+       * resulting in an outright loss.
        **/
       DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * An account was created with some free balance. \[account, free_balance\]
+       * An account was created with some free balance.
        **/
       Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Some balance was reserved (moved from free to reserved). \[who, value\]
+       * Some balance was reserved (moved from free to reserved).
        **/
       Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
        * Some balance was moved from the reserve of the first account to the second account.
        * Final argument indicates the destination balance type.
-       * \[from, to, balance, destination_status\]
        **/
       ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;
       /**
-       * Some amount was removed from the account (e.g. for misbehavior). \[who,
-       * amount_slashed\]
+       * Some amount was removed from the account (e.g. for misbehavior).
        **/
       Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Transfer succeeded. \[from, to, value\]
+       * Transfer succeeded.
        **/
       Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;
       /**
-       * Some balance was unreserved (moved from reserved to free). \[who, value\]
+       * Some balance was unreserved (moved from reserved to free).
        **/
       Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Some amount was withdrawn from the account (e.g. for transaction fees). \[who, value\]
+       * Some amount was withdrawn from the account (e.g. for transaction fees).
        **/
       Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
@@ -87,6 +84,14 @@
        **/
       CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;
       /**
+       * New collection was destroyed
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique identifier of collection.
+       **/
+      CollectionDestroyed: AugmentedEvent<ApiType, [u32]>;
+      /**
        * New item was created.
        * 
        * # Arguments
@@ -289,7 +294,7 @@
       InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
       /**
        * Expected query response has been received but the expected origin location placed in
-       * storate by this runtime previously cannot be decoded. The query remains registered.
+       * storage by this runtime previously cannot be decoded. The query remains registered.
        * 
        * This is unexpected (since a location placed in storage in a previously executing
        * runtime should be readable prior to query timeout) and dangerous since the possibly
@@ -390,9 +395,9 @@
     };
     sudo: {
       /**
-       * The \[sudoer\] just switched identity; the old key is supplied.
+       * The \[sudoer\] just switched identity; the old key is supplied if one existed.
        **/
-      KeyChanged: AugmentedEvent<ApiType, [AccountId32]>;
+      KeyChanged: AugmentedEvent<ApiType, [Option<AccountId32>]>;
       /**
        * A sudo just took place. \[result\]
        **/
@@ -412,23 +417,23 @@
        **/
       CodeUpdated: AugmentedEvent<ApiType, []>;
       /**
-       * An extrinsic failed. \[error, info\]
+       * An extrinsic failed.
        **/
       ExtrinsicFailed: AugmentedEvent<ApiType, [SpRuntimeDispatchError, FrameSupportWeightsDispatchInfo]>;
       /**
-       * An extrinsic completed successfully. \[info\]
+       * An extrinsic completed successfully.
        **/
       ExtrinsicSuccess: AugmentedEvent<ApiType, [FrameSupportWeightsDispatchInfo]>;
       /**
-       * An \[account\] was reaped.
+       * An account was reaped.
        **/
       KilledAccount: AugmentedEvent<ApiType, [AccountId32]>;
       /**
-       * A new \[account\] was created.
+       * A new account was created.
        **/
       NewAccount: AugmentedEvent<ApiType, [AccountId32]>;
       /**
-       * On on-chain remark happened. \[origin, remark_hash\]
+       * On on-chain remark happened.
        **/
       Remarked: AugmentedEvent<ApiType, [AccountId32, H256]>;
       /**
@@ -438,32 +443,31 @@
     };
     treasury: {
       /**
-       * Some funds have been allocated. \[proposal_index, award, beneficiary\]
+       * Some funds have been allocated.
        **/
       Awarded: AugmentedEvent<ApiType, [u32, u128, AccountId32]>;
       /**
-       * Some of our funds have been burnt. \[burn\]
+       * Some of our funds have been burnt.
        **/
       Burnt: AugmentedEvent<ApiType, [u128]>;
       /**
-       * Some funds have been deposited. \[deposit\]
+       * Some funds have been deposited.
        **/
       Deposit: AugmentedEvent<ApiType, [u128]>;
       /**
-       * New proposal. \[proposal_index\]
+       * New proposal.
        **/
       Proposed: AugmentedEvent<ApiType, [u32]>;
       /**
-       * A proposal was rejected; funds were slashed. \[proposal_index, slashed\]
+       * A proposal was rejected; funds were slashed.
        **/
       Rejected: AugmentedEvent<ApiType, [u32, u128]>;
       /**
        * Spending has finished; this is the amount that rolls over until next spend.
-       * \[budget_remaining\]
        **/
       Rollover: AugmentedEvent<ApiType, [u128]>;
       /**
-       * We have ended a spend period and will now allocate funds. \[budget_remaining\]
+       * We have ended a spend period and will now allocate funds.
        **/
       Spending: AugmentedEvent<ApiType, [u128]>;
       /**
@@ -471,17 +475,159 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    unique: {
+      /**
+       * Address was add to allow list
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * user:  Address.
+       **/
+      AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Address was remove from allow list
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * user:  Address.
+       **/
+      AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Collection admin was added
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * admin:  Admin address.
+       **/
+      CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Collection admin was removed
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * admin:  Admin address.
+       **/
+      CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      /**
+       * Collection limits was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      CollectionLimitSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Collection owned was change
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * owner:  New owner address.
+       **/
+      CollectionOwnedChanged: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * Collection sponsor was removed
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      CollectionSponsorRemoved: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Collection sponsor was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * owner:  New sponsor address.
+       **/
+      CollectionSponsorSet: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * const on chain schema was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      ConstOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Mint permission	was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      MintPermissionSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Offchain schema was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      OffchainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Public access mode was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * mode: New access state.
+       **/
+      PublicAccessModeSet: AugmentedEvent<ApiType, [u32, UpDataStructsAccessMode]>;
+      /**
+       * Schema version was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      SchemaVersionSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * New sponsor was confirm
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       * 
+       * * sponsor:  New sponsor address.
+       **/
+      SponsorshipConfirmed: AugmentedEvent<ApiType, [u32, AccountId32]>;
+      /**
+       * Variable on chain schema was set
+       * 
+       * # Arguments
+       * 
+       * * collection_id: Globally unique collection identifier.
+       **/
+      VariableOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     vesting: {
       /**
-       * Claimed vesting. \[who, locked_amount\]
+       * Claimed vesting.
        **/
       Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
-       * Added new vesting schedule. \[from, to, vesting_schedule\]
+       * Added new vesting schedule.
        **/
       VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;
       /**
-       * Updated vesting schedules. \[who\]
+       * Updated vesting schedules.
        **/
       VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;
       /**
@@ -503,6 +649,14 @@
        **/
       Fail: AugmentedEvent<ApiType, [Option<H256>, XcmV2TraitsError]>;
       /**
+       * An XCM exceeded the individual message weight budget.
+       **/
+      OverweightEnqueued: AugmentedEvent<ApiType, [u32, u32, u64, u64]>;
+      /**
+       * An XCM from the overweight queue was executed with the given actual weight used.
+       **/
+      OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;
+      /**
        * Some XCM was executed ok.
        **/
       Success: AugmentedEvent<ApiType, [Option<H256>]>;
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -1,8 +1,8 @@
 // Auto-generated via `yarn polkadot-types-from-chain`, do not edit
 /* eslint-disable */
 
-import type { EthereumBlock, EthereumReceipt, EthereumTransactionLegacyTransaction, FpRpcTransactionStatus } from './ethereum';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
+import type { EthereumBlock, FpRpcTransactionStatus } from './ethereum';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueQueueConfigData, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
 import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, UpDataStructsCollection, UpDataStructsCollectionStats } from './unique';
 import type { ApiTypes } from '@polkadot/api/types';
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';
@@ -105,7 +105,7 @@
       /**
        * The current Ethereum receipts.
        **/
-      currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceipt>>>, []> & QueryableStorageEntry<ApiType, []>;
+      currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The current transaction statuses.
        **/
@@ -113,7 +113,7 @@
       /**
        * Current building block's transactions and receipts.
        **/
-      pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionLegacyTransaction, FpRpcTransactionStatus, EthereumReceipt]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Generic query
        **/
@@ -163,10 +163,22 @@
     };
     inflation: {
       /**
-       * Current block inflation
+       * Current inflation for `InflationBlockInterval` number of blocks
        **/
       blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
       /**
+       * Next target (relay) block when inflation will be applied
+       **/
+      nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Next target (relay) block when inflation is recalculated
+       **/
+      nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Relay block when inflation has started
+       **/
+      startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
        * starting year total issuance
        **/
       startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
@@ -208,6 +220,12 @@
        **/
       authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
+       * A custom head data that should be returned as result of `validate_block`.
+       * 
+       * See [`Pallet::set_custom_validation_head_data`] for more information.
+       **/
+      customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
        * Were the validation data set to notify the relay chain?
        **/
       didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
@@ -353,7 +371,7 @@
       /**
        * The `AccountId` of the sudo key.
        **/
-      key: AugmentedQuery<ApiType, () => Observable<AccountId32>, []> & QueryableStorageEntry<ApiType, []>;
+      key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Generic query
        **/
@@ -540,7 +558,7 @@
       /**
        * Status of the inbound XCMP channels.
        **/
-      inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, CumulusPalletXcmpQueueInboundStatus, Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The messages outbound in a given XCMP channel.
        **/
@@ -553,7 +571,19 @@
        * case of the need to send a high-priority signal message this block.
        * The bool is true if there is a signal message waiting to be sent.
        **/
-      outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, CumulusPalletXcmpQueueOutboundStatus, bool, u16, u16]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The messages that exceeded max individual message weight budget.
+       * 
+       * These message stay in this storage map until they are manually dispatched via
+       * `service_overweight`.
+       **/
+      overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;
+      /**
+       * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next
+       * available free overweight index.
+       **/
+      overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * The configuration which controls the dynamics of the outbound queue.
        **/
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -1,14 +1,13 @@
 // Auto-generated via `yarn polkadot-types-from-chain`, do not edit
 /* eslint-disable */
 
-import type { EthereumTransactionLegacyTransaction } from './ethereum';
 import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';
-import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';
 import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';
 import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';
 import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { SpCoreChangesTrieChangesTrieConfiguration, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 import type { AnyNumber, ITuple } from '@polkadot/types/types';
 
 declare module '@polkadot/api/types/submittable' {
@@ -33,28 +32,17 @@
        * Set the balances of a given account.
        * 
        * This will alter `FreeBalance` and `ReservedBalance` in storage. it will
-       * also decrease the total issuance of the system (`TotalIssuance`).
+       * also alter the total issuance of the system (`TotalIssuance`) appropriately.
        * If the new free or reserved balance is below the existential deposit,
        * it will reset the account nonce (`frame_system::AccountNonce`).
        * 
        * The dispatch origin for this call is `root`.
-       * 
-       * # <weight>
-       * - Independent of the arguments.
-       * - Contains a limited number of reads and writes.
-       * ---------------------
-       * - Base Weight:
-       * - Creating: 27.56 µs
-       * - Killing: 35.11 µs
-       * - DB Weight: 1 Read, 1 Write to `who`
-       * # </weight>
        **/
       setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u128> | AnyNumber | Uint8Array, newReserved: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u128>]>;
       /**
        * Transfer some liquid free balance to another account.
        * 
        * `transfer` will set the `FreeBalance` of the sender and receiver.
-       * It will decrease the total issuance of the system by the `TransferFee`.
        * If the sender's account is below the existential deposit as a result
        * of the transfer, the account will be reaped.
        * 
@@ -75,8 +63,6 @@
        * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check
        * that the transfer will not kill the origin account.
        * ---------------------------------
-       * - Base Weight: 73.64 µs, worst case scenario (account created, account removed)
-       * - DB Weight: 1 Read and 1 Write to destination account
        * - Origin account is already in memory, so no DB operations for them.
        * # </weight>
        **/
@@ -108,11 +94,6 @@
        * 99% of the time you want [`transfer`] instead.
        * 
        * [`transfer`]: struct.Pallet.html#method.transfer
-       * # <weight>
-       * - Cheaper than transfer because account cannot be killed.
-       * - Base Weight: 51.4 µs
-       * - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)
-       * #</weight>
        **/
       transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;
       /**
@@ -157,7 +138,7 @@
       /**
        * Transact an Ethereum transaction.
        **/
-      transact: AugmentedSubmittable<(transaction: EthereumTransactionLegacyTransaction | { nonce?: any; gasPrice?: any; gasLimit?: any; action?: any; value?: any; input?: any; signature?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionLegacyTransaction]>;
+      transact: AugmentedSubmittable<(transaction: EthereumTransactionTransactionV2 | { Legacy: any } | { EIP2930: any } | { EIP1559: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionTransactionV2]>;
       /**
        * Generic tx
        **/
@@ -167,16 +148,16 @@
       /**
        * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.
        **/
-      call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>]>;
+      call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | object | string | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;
       /**
        * Issue an EVM create operation. This is similar to a contract creation transaction in
        * Ethereum.
        **/
-      create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>]>;
+      create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | object | string | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;
       /**
        * Issue an EVM create2 operation.
        **/
-      create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>]>;
+      create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | object | string | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;
       /**
        * Withdraw balance from EVM into currency/balances pallet.
        **/
@@ -197,6 +178,20 @@
     };
     inflation: {
       /**
+       * This method sets the inflation start date. Can be only called once.
+       * Inflation start block can be backdated and will catch up. The method will create Treasury
+       * account if it does not exist and perform the first inflation deposit.
+       * 
+       * # Permissions
+       * 
+       * * Root
+       * 
+       * # Arguments
+       * 
+       * * inflation_start_relay_block: The relay chain block at which inflation should start
+       **/
+      startInflation: AugmentedSubmittable<(inflationStartRelayBlock: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
        * Generic tx
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
@@ -300,8 +295,8 @@
        * an `AccountId32` value.
        * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the
        * `dest` side. May not be empty.
-       * - `dest_weight`: Equal to the total weight on `dest` of the XCM message
-       * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.
+       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
+       * fees.
        * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
        **/
       limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;
@@ -339,8 +334,8 @@
        * an `AccountId32` value.
        * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the
        * `dest` side. May not be empty.
-       * - `dest_weight`: Equal to the total weight on `dest` of the XCM message
-       * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.
+       * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
+       * fees.
        **/
       teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;
       /**
@@ -374,7 +369,7 @@
        * - Weight of derivative `call` execution + 10,000.
        * # </weight>
        **/
-       sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic<ApiType>, [Call]>;
+      sudo: AugmentedSubmittable<(call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;
       /**
        * Authenticates the sudo key and dispatches a function call with `Signed` origin from
        * a given account.
@@ -388,7 +383,7 @@
        * - Weight of derivative `call` execution + 10,000.
        * # </weight>
        **/
-      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, ) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
+      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
       /**
        * Authenticates the sudo key and dispatches a function call with `Root` origin.
        * This function does not check the weight of the call, and instead allows the
@@ -401,7 +396,7 @@
        * - The weight of this call is defined by the caller.
        * # </weight>
        **/
-       sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
+      sudoUncheckedWeight: AugmentedSubmittable<(call: Call | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
       /**
        * Generic tx
        **/
@@ -417,24 +412,10 @@
        * 
        * **NOTE:** We rely on the Root origin to provide us the number of subkeys under
        * the prefix we are removing to accurately calculate the weight of this function.
-       * 
-       * # <weight>
-       * - `O(P)` where `P` amount of keys with prefix `prefix`
-       * - `P` storage deletions.
-       * - Base Weight: 0.834 * P µs
-       * - Writes: Number of subkeys + 1
-       * # </weight>
        **/
       killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;
       /**
        * Kill some items from storage.
-       * 
-       * # <weight>
-       * - `O(IK)` where `I` length of `keys` and `K` length of one key
-       * - `I` storage deletions.
-       * - Base Weight: .378 * i µs
-       * - Writes: Number of items
-       * # </weight>
        **/
       killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;
       /**
@@ -455,19 +436,6 @@
        **/
       remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
       /**
-       * Set the new changes trie configuration.
-       * 
-       * # <weight>
-       * - `O(1)`
-       * - 1 storage write or delete (codec `O(1)`).
-       * - 1 call to `deposit_log`: Uses `append` API, so O(1)
-       * - Base Weight: 7.218 µs
-       * - DB Weight:
-       * - Writes: Changes Trie, System Digest
-       * # </weight>
-       **/
-      setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<SpCoreChangesTrieChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<SpCoreChangesTrieChangesTrieConfiguration>]>;
-      /**
        * Set the new runtime code.
        * 
        * # <weight>
@@ -496,25 +464,10 @@
       setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
       /**
        * Set the number of pages in the WebAssembly environment's heap.
-       * 
-       * # <weight>
-       * - `O(1)`
-       * - 1 storage write.
-       * - Base Weight: 1.405 µs
-       * - 1 write to HEAP_PAGES
-       * - 1 digest item
-       * # </weight>
        **/
       setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;
       /**
        * Set some items of storage.
-       * 
-       * # <weight>
-       * - `O(I)` where `I` length of `items`
-       * - `I` storage writes (`O(1)`).
-       * - Base Weight: 0.568 * i µs
-       * - Writes: Number of items
-       * # </weight>
        **/
       setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;
       /**
@@ -718,6 +671,12 @@
        **/
       createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;
       /**
+       * This method creates a collection
+       * 
+       * Prefer it to deprecated [`created_collection`] method
+       **/
+      createCollectionEx: AugmentedSubmittable<(data: UpDataStructsCreateCollectionData | { mode?: any; access?: any; name?: any; description?: any; tokenPrefix?: any; offchainSchema?: any; schemaVersion?: any; pendingSponsor?: any; limits?: any; variableOnChainSchema?: any; constOnChainSchema?: any; metaUpdatePermission?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [UpDataStructsCreateCollectionData]>;
+      /**
        * This method creates a concrete instance of NFT Collection created with CreateCollection method.
        * 
        * # Permissions
@@ -1026,6 +985,22 @@
     };
     xcmpQueue: {
       /**
+       * Services a single overweight XCM.
+       * 
+       * - `origin`: Must pass `ExecuteOverweightOrigin`.
+       * - `index`: The index of the overweight XCM to service
+       * - `weight_limit`: The amount of weight that XCM execution may take.
+       * 
+       * Errors:
+       * - `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.
+       * - `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.
+       * - `WeightOverLimit`: XCM execution may use greater `weight_limit`.
+       * 
+       * Events:
+       * - `OverweightServiced`: On success.
+       **/
+      serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;
+      /**
        * Generic tx
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -3,7 +3,7 @@
 
 import type { EthereumBlock, EthereumLog, EthereumReceipt, EthereumTransactionLegacyTransaction, EvmCoreErrorExitReason, FpRpcTransactionStatus } from './ethereum';
 import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
-import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';
 import type { BitVec, Bool, Bytes, Data, I128, I16, I256, I32, I64, I8, Json, Null, Raw, StorageKey, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types';
 import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
 import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';
@@ -1021,6 +1021,7 @@
     UpDataStructsCollectionLimits: UpDataStructsCollectionLimits;
     UpDataStructsCollectionMode: UpDataStructsCollectionMode;
     UpDataStructsCollectionStats: UpDataStructsCollectionStats;
+    UpDataStructsCreateCollectionData: UpDataStructsCreateCollectionData;
     UpDataStructsCreateItemData: UpDataStructsCreateItemData;
     UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;
     UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -67,6 +67,20 @@
       constOnChainSchema: 'Vec<u8>',
       metaUpdatePermission: 'UpDataStructsMetaUpdatePermission',
     },
+    UpDataStructsCreateCollectionData: {
+      mode: 'UpDataStructsCollectionMode',
+      access: 'Option<UpDataStructsAccessMode>',
+      name: 'Vec<u16>',
+      description: 'Vec<u16>',
+      tokenPrefix: 'Vec<u8>',
+      offchainSchema: 'Vec<u8>',
+      schemaVersion: 'Option<UpDataStructsSchemaVersion>',
+      pendingSponsor: 'Option<AccountId>',
+      limits: 'Option<UpDataStructsCollectionLimits>',
+      variableOnChainSchema: 'Vec<u8>',
+      constOnChainSchema: 'Vec<u8>',
+      metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>',
+    },
     UpDataStructsCollectionStats: {
       created: 'u32',
       destroyed: 'u32',
@@ -76,7 +90,13 @@
     UpDataStructsTokenId: 'u32',
     PalletNonfungibleItemData: mkDummy('NftItemData'),
     PalletRefungibleItemData: mkDummy('RftItemData'),
-    UpDataStructsCollectionMode: mkDummy('CollectionMode'),
+    UpDataStructsCollectionMode: {
+      _enum: {
+        NFT: null,
+        Fungible: 'u32',
+        ReFungible: null,
+      },
+    },
     UpDataStructsCreateItemData: mkDummy('CreateItemData'),
     UpDataStructsCollectionLimits: {
       accountTokenOwnershipLimit: 'Option<u32>',
@@ -101,7 +121,9 @@
     UpDataStructsAccessMode: {
       _enum: ['Normal', 'AllowList'],
     },
-    UpDataStructsSchemaVersion: mkDummy('SchemaVersion'),
+    UpDataStructsSchemaVersion: {
+      _enum: ['ImageURL', 'Unique'],
+    },
 
     PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),
     PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -77,8 +77,11 @@
 }
 
 /** @name UpDataStructsCollectionMode */
-export interface UpDataStructsCollectionMode extends Struct {
-  readonly dummyCollectionMode: u32;
+export interface UpDataStructsCollectionMode extends Enum {
+  readonly isNft: boolean;
+  readonly isFungible: boolean;
+  readonly asFungible: u32;
+  readonly isReFungible: boolean;
 }
 
 /** @name UpDataStructsCollectionStats */
@@ -88,6 +91,22 @@
   readonly alive: u32;
 }
 
+/** @name UpDataStructsCreateCollectionData */
+export interface UpDataStructsCreateCollectionData extends Struct {
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: Option<UpDataStructsAccessMode>;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly offchainSchema: Bytes;
+  readonly schemaVersion: Option<UpDataStructsSchemaVersion>;
+  readonly pendingSponsor: Option<AccountId>;
+  readonly limits: Option<UpDataStructsCollectionLimits>;
+  readonly variableOnChainSchema: Bytes;
+  readonly constOnChainSchema: Bytes;
+  readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;
+}
+
 /** @name UpDataStructsCreateItemData */
 export interface UpDataStructsCreateItemData extends Struct {
   readonly dummyCreateItemData: u32;
@@ -101,8 +120,9 @@
 }
 
 /** @name UpDataStructsSchemaVersion */
-export interface UpDataStructsSchemaVersion extends Struct {
-  readonly dummySchemaVersion: u32;
+export interface UpDataStructsSchemaVersion extends Enum {
+  readonly isImageUrl: boolean;
+  readonly isUnique: boolean;
 }
 
 /** @name UpDataStructsSponsorshipState */
modifiedtests/src/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -95,6 +95,32 @@
   return TransactionStatus.Fail;
 }
 
+export function executeTransaction(api: ApiPromise, sender: IKeyringPair, transaction: SubmittableExtrinsic<'promise'>): Promise<EventRecord[]> {
+  return new Promise(async (res, rej) => {
+    try {
+      await transaction.signAndSend(sender, ({events, status}) => {
+        if (!status.isInBlock && !status.isFinalized) return;
+        for (const {event} of events) {
+          if (api.events.system.ExtrinsicSuccess.is(event)) {
+            res(events);
+          } else if (api.events.system.ExtrinsicFailed.is(event)) {
+            const {data: [error]} = event;
+            if (error.isModule) {
+              const decoded = api.registry.findMetaError(error.asModule);
+              const {method, section} = decoded;
+              rej(new Error(`${section}.${method}`));
+            } else {
+              rej(new Error(error.toString()));
+            }
+          }
+        }
+      });
+    } catch (e) {
+      rej(e);
+    }
+  });
+}
+
 export function
 submitTransactionAsync(sender: IKeyringPair, transaction: SubmittableExtrinsic<ApiTypes>): Promise<EventRecord[]> {
   /* eslint no-async-promise-executor: "off" */
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -49,7 +49,7 @@
     };
   } else if ('Substrate' in input) {
     return input;
-  }else if ('substrate' in input) {
+  } else if ('substrate' in input) {
     return {
       Substrate: (input as any).substrate,
     };
@@ -116,15 +116,15 @@
 
 export interface IChainLimits {
   collectionNumbersLimit: number;
-	accountTokenOwnershipLimit: number;
-	collectionsAdminsLimit: number;
-	customDataLimit: number;
-	nftSponsorTransferTimeout: number;
-	fungibleSponsorTransferTimeout: number;
-	refungibleSponsorTransferTimeout: number;
-	offchainSchemaLimit: number;
-	variableOnChainSchemaLimit: number;
-	constOnChainSchemaLimit: number;
+  accountTokenOwnershipLimit: number;
+  collectionsAdminsLimit: number;
+  customDataLimit: number;
+  nftSponsorTransferTimeout: number;
+  fungibleSponsorTransferTimeout: number;
+  refungibleSponsorTransferTimeout: number;
+  offchainSchemaLimit: number;
+  variableOnChainSchemaLimit: number;
+  constOnChainSchemaLimit: number;
 }
 
 export interface IReFungibleTokenDataType {
@@ -283,7 +283,7 @@
       modeprm = {refungible: null};
     }
 
-    const tx = api.tx.unique.createCollection(strToUTF16(name), strToUTF16(description), strToUTF16(tokenPrefix), modeprm as any);
+    const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});
     const events = await submitTransactionAsync(alicePrivateKey, tx);
     const result = getCreateCollectionResult(events);
 
@@ -329,7 +329,7 @@
 
     // Run the CreateCollection transaction
     const alicePrivateKey = privateKey('//Alice');
-    const tx = api.tx.unique.createCollection(strToUTF16(name), strToUTF16(description), strToUTF16(tokenPrefix), modeprm as any);
+    const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});
     const events = await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;
     const result = getCreateCollectionResult(events);
 
@@ -557,7 +557,7 @@
 
   await usingApi(async (api) => {
 
-    const tx = api.tx.unique.setTransfersEnabledFlag (collectionId, enabled);
+    const tx = api.tx.unique.setTransfersEnabledFlag(collectionId, enabled);
     const events = await submitTransactionAsync(sender, tx);
     const result = getGenericResult(events);
 
@@ -569,7 +569,7 @@
 
   await usingApi(async (api) => {
 
-    const tx = api.tx.unique.setTransfersEnabledFlag (collectionId, enabled);
+    const tx = api.tx.unique.setTransfersEnabledFlag(collectionId, enabled);
     const events = await expect(submitTransactionExpectFailAsync(sender, tx)).to.be.rejected;
     const result = getGenericResult(events);
 
@@ -811,8 +811,7 @@
 }
 
 export async function
-getFreeBalance(account: IKeyringPair) : Promise<bigint>
-{
+getFreeBalance(account: IKeyringPair): Promise<bigint> {
   let balance = 0n;
   await usingApi(async (api) => {
     balance = BigInt((await api.query.system.account(account.address)).data.free.toString());
addedtests/src/xcmTransfer.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/xcmTransfer.test.ts
@@ -0,0 +1,178 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+
+import {WsProvider} from '@polkadot/api';
+import {ApiOptions} from '@polkadot/api/types';
+import {IKeyringPair} from '@polkadot/types/types';
+import privateKey from './substrate/privateKey';
+import usingApi, {submitTransactionAsync} from './substrate/substrate-api';
+import {getGenericResult} from './util/helpers';
+import waitNewBlocks from './substrate/wait-new-blocks';
+import getBalance from './substrate/get-balance';
+import {alicesPublicKey} from './accounts';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+
+const UNIQUE_CHAIN = 1000;
+const KARURA_CHAIN = 2000;
+const KARURA_PORT = '9946';
+
+describe('Integration test: Exchanging OPL with Karura', () => {
+  let alice: IKeyringPair;
+  
+  before(async () => {
+    await usingApi(async () => {
+      alice = privateKey('//Alice');
+    });
+
+    const karuraApiOptions: ApiOptions = {
+      provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT),
+    };
+
+    await usingApi(async (api) => {
+      const destination = {
+        V0: {
+          X2: [
+            'Parent',
+            {
+              Parachain: UNIQUE_CHAIN,
+            },
+          ],
+        },
+      };
+
+      const metadata =
+      {
+        name: 'OPL',
+        symbol: 'OPL',
+        decimals: 18,
+        minimalBalance: 1,
+      };
+
+      const tx = api.tx.assetRegistry.registerForeignAsset(destination, metadata);
+      const sudoTx = api.tx.sudo.sudo(tx as any);
+      const events = await submitTransactionAsync(alice, sudoTx);
+      const result = getGenericResult(events);
+      expect(result.success).to.be.true;
+    }, karuraApiOptions);
+  });
+
+  it('Should connect and send OPL to Karura', async () => {
+    let balanceOnKaruraBefore: bigint;
+    
+    await usingApi(async (api) => {
+      const {free} = (await api.query.tokens.accounts(alice.addressRaw, {ForeignAsset: 0})).toJSON() as any;
+      balanceOnKaruraBefore = free;
+    }, {provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT)});
+
+    await usingApi(async (api) => {
+      const destination = {
+        V0: {
+          X2: [
+            'Parent',
+            {
+              Parachain: KARURA_CHAIN,
+            },
+          ],
+        },
+      };
+
+      const beneficiary = {
+        V0: {
+          X1: {
+            AccountId32: {
+              network: 'Any',
+              id: alice.addressRaw,
+            },
+          },
+        },
+      };
+
+      const assets = {
+        V1: [
+          {
+            id: {
+              Concrete: {
+                parents: 0,
+                interior: 'Here',
+              },
+            },
+            fun: {
+              Fungible: 5000000000,
+            },
+          },
+        ],
+      };
+
+      const feeAssetItem = 0;
+
+      const weightLimit = {
+        Limited: 5000000000,
+      };
+
+      const tx = api.tx.polkadotXcm.limitedReserveTransferAssets(destination, beneficiary, assets, feeAssetItem, weightLimit);
+      const events = await submitTransactionAsync(alice, tx);
+      const result = getGenericResult(events);
+      expect(result.success).to.be.true;
+    });
+
+    await usingApi(async (api) => {
+      // todo do something about instant sealing, where there might not be any new blocks
+      await waitNewBlocks(api, 3);
+      const {free} = (await api.query.tokens.accounts(alice.addressRaw, {ForeignAsset: 0})).toJSON() as any;
+      expect(free > balanceOnKaruraBefore).to.be.true;
+    }, {provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT)});
+  });
+
+  it('Should connect to Karura and send OPL back', async () => {
+    let balanceBefore: bigint;
+    
+    await usingApi(async (api) => {
+      [balanceBefore] = await getBalance(api, [alicesPublicKey]);
+    });
+
+    await usingApi(async (api) => {
+      const destination = {
+        V0: {
+          X3: [
+            'Parent',
+            {
+              Parachain: UNIQUE_CHAIN,
+            },
+            {
+              AccountId32: {
+                network: 'Any',
+                id: alice.addressRaw,
+              },
+            },
+          ],
+        },
+      };
+
+      const id = {
+        ForeignAsset: 0,
+      };
+
+      const amount = 5000000000;
+      const destWeight = 50000000;
+
+      const tx = api.tx.xTokens.transfer(id, amount, destination, destWeight);
+      const events = await submitTransactionAsync(alice, tx);
+      const result = getGenericResult(events);
+      expect(result.success).to.be.true;
+    }, {provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT)});
+
+    await usingApi(async (api) => {
+      // todo do something about instant sealing, where there might not be any new blocks
+      await waitNewBlocks(api, 3);
+      const [balanceAfter] = await getBalance(api, [alicesPublicKey]);
+      expect(balanceAfter > balanceBefore).to.be.true;
+    });
+  });
+});
\ No newline at end of file