difftreelog
Merge branch 'develop' into feature/CORE-269
in: master
86 files changed
.envdiffbeforeafterboth1RUST_TOOLCHAIN=nightly-2021-11-111RUST_TOOLCHAIN=nightly-2021-11-112RUST_C=1.58.0-nightly2RUST_C=1.58.0-nightly3POLKA_VERSION=release-v0.9.143POLKA_VERSION=release-v0.9.164UNIQUE_BRANCH=develop4UNIQUE_BRANCH=develop5USER=***5USER=***6PASS=***6PASS=***Cargo.lockdiffbeforeafterboth141415[[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]2324[[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]322333[[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]473848[[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]10899109[[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"114105115[[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]296287297[[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",310301311[[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"316307317[[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]340331341[[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]353344354[[package]]345[[package]]378]369]379370380[[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]382383[[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"385388386[[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]475483476[[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"480488481[[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",494502495[[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"500508501[[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]626634627[[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]643644[[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"655672656[[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]664681665[[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]726743727[[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]741742[[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",853855854[[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"859861860[[package]]862[[package]]861name = "byte-slice-cast"863name = "byte-slice-cast"899901900[[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"905907906[[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]103010321031[[package]]1033[[package]]103910411040[[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]105010521051[[package]]1053[[package]]109510971096[[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",113811401139[[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]114711491148[[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",116411661165[[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]117411751175[[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"118011811181[[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]118911901190[[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",120112021202[[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",121212131213[[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",122812291229[[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]123712381238[[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",125812591259[[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",127112721272[[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"128712881288[[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]12971298[[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]130713171311source = "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]131713271357[[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]146214751463[[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]166416791665[[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]169217071693[[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]17281729[[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]17561757[[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]183418981835[[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]19081909[[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]19472021199620701997[[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]20092010[[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",206421252065[[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]20822083[[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",211721602118[[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"212321662124[[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]221122562212[[package]]2257[[package]]222322682224[[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]223222772233[[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]233723842338[[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]235224022353[[package]]2403[[package]]236124112362[[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]237124212376checksum = "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",239924492400[[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"240524552406[[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"252525752526[[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",278428352785[[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",279928502800[[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]280928602810[[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"281528662816[[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",282728782828[[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"283328842834[[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]284828992849[[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",287029212871[[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"287629272877[[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"288229332883[[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"28882889[[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"289429392895[[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]292229672923[[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",294529902946[[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",296630112967[[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]297730222978[[package]]3023[[package]]2979name = "gimli"2980version = "0.26.1"2981source = "registry+https://github.com/rust-lang/crates.io-index"2982checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"29832984[[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"300230413003[[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]301530533016[[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]303430723035[[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]307231103073[[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]31193120[[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]31603207317132183172[[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]318232293183[[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]319332403194[[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"319932463200[[package]]3247[[package]]3201name = "httpdate"3248name = "httpdate"320532523206[[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]32143215[[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",335333913354[[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",336434023365[[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]33753413338434223385[[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"339034283391[[package]]3429[[package]]3392name = "integer-sqrt"3430name = "integer-sqrt"3398]3436]339934373400[[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]34093410[[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]341934463466checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"3493checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"346734943468[[package]]3495[[package]]3496name = "itoa"3497version = "1.0.1"3498source = "registry+https://github.com/rust-lang/crates.io-index"3499checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"35003501[[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"347635093477[[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]352635593542source = "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]371237453713[[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]379838333799[[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]38453846[[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"385839053859[[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"386439113865[[package]]3912[[package]]3866name = "libloading"3913name = "libloading"387439213875[[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]388439313885[[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"389039373891[[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]393139783932[[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]397640243981checksum = "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]409841464118dependencies = [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]430543534306[[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]44094457447445224475[[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"448045284481[[package]]4529[[package]]4482name = "lock_api"4530name = "lock_api"448945374490[[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]451745654518[[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]452645744527[[package]]4575[[package]]461546634616[[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]463346814634[[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]46444692467147194672[[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]468347314684[[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]469447424818 "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]484048884865checksum = "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]501850665019[[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",503950875040[[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"504550935046[[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]508051285081[[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"508651345087[[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]522552735226[[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]52885289[[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]538154435382[[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]53955396[[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]54225423[[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]54365437[[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]54465447[[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]548654835487[[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]591859165919[[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]59325933[[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",630763216308[[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",632563396326[[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",635563696356[[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]642064346426dependencies = [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]65096523663266466633[[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]664166556642[[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]665066646651[[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",666166756662[[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",667866926679[[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"668466986685[[package]]6699[[package]]6686name = "pin-utils"6700name = "pin-utils"670267166703[[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",671667306717[[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",672967436730[[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",675167656752[[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",677167856772[[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",679168086792[[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",682168386822[[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",684268596843[[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",685568726856[[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",687768946878[[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",689169086892[[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",691169286912[[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",693069476931[[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",694869656949[[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",697669936977[[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",699670136997[[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",701470317015[[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",702970467030[[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",704770647048[[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",706270797063[[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",707970967080[[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]709871147099[[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]71117112[[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",712871317129[[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]714371487144[[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]717471787175[[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]71947195[[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",719272127193[[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",721072307211[[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]722172497222[[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]723972677240[[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",726172897262[[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",727172997272[[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",729073187291[[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",731773467318[[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",733873677339[[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",735573847356[[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",736673957367[[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]738374127384[[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]74277428[[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",741374577414[[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",744474887445[[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",752675727527[[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]757376197574[[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]76317632[[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]76437644[[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",761376847614[[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",771277847713[[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",773378057734[[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",774378157744[[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]780478777805[[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]78577931789379677894[[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"789979737900[[package]]7974[[package]]7901name = "primitive-types"7975name = "primitive-types"796880427969[[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]805381278054[[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]80648065[[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"808781508088[[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]816682298167[[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]82598322829283558293[[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",837784408378[[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"838384468384[[package]]8447[[package]]8385name = "ring"8448name = "ring"842984928430[[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]850385678504[[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]85798580[[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]851385898514[[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]85308531[[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]857586348576[[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]86488649[[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]860086738601[[package]]8674[[package]]8675name = "rustversion"8676version = "1.0.6"8677source = "registry+https://github.com/rust-lang/crates.io-index"8678checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f"86798680[[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]861186908645[[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]878788668788[[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]905591349056[[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]937294529373[[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]943695169437[[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]95849665966997509670[[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",968297639683[[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",971998009720[[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]974398249744[[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]975298339753[[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",976398449764[[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]981198929812[[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]982499059825[[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]99169917[[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"986499569865[[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",988399759884[[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"988999819890[[package]]9982[[package]]9891name = "simba"9983name = "simba"990799999908[[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",9928100209929[[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"9934100269935[[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]9969100619970[[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",100241011610025[[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",100371012910038[[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",101911028310192[[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",102391033110240[[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]102721036410273[[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",102821037410283[[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",103251041710326[[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",103491044110350[[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]103601045210361[[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]103851047710386[[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",104211051310422[[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",104411053310442[[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",104631055510464[[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",104801057210481[[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]104921058410493[[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]1050610507[[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",105401061810541[[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",105631064110564[[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"105681064610569[[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",106101068810611[[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",106471072510648[[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",106891076810690[[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]107001078110701[[package]]10782[[package]]107061078710707[[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",107821086310783[[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]108151089610816[[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]1090510906[[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]108271091710828[[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]1093010931[[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]108401094310841[[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]108481095110849[[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]108841098710885[[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]109201102310921[[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",109581106110959[[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",109871109010988[[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"109931109610994[[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]110161111911017[[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]1113111132[[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"110451116011046[[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]110631117811064[[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",111421125711143[[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]1116111275111721128611173[[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]111941130811199checksum = "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]112051131911206[[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]112201133411221[[package]]11335[[package]]112351134911236[[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]112471136111248[[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",112581137211259[[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]112671138211268[[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]1127711392112881140311289[[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",113211143611322[[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]113341144911335[[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]113531146811354[[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",113771149211378[[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]114261154211427[[package]]11543[[package]]114321154811433[[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",114431155911444[[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"114491156511450[[package]]11566[[package]]11451name = "uc-rpc"11567name = "uc-rpc"114731158911474[[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",115091162511510[[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"115151163111516[[package]]11632[[package]]11517name = "unicode-width"11633name = "unicode-width"115271164311528[[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",116481176611649[[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]117321185111805[[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]118351195411836[[package]]11955[[package]]11956name = "valuable"11957version = "0.1.0"11958source = "registry+https://github.com/rust-lang/crates.io-index"11959checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"1196011961[[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"118571198211858[[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"118631198811864[[package]]11989[[package]]11865name = "void"11990name = "void"119081203311909[[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]119181204311919[[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",119331205811934[[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",119451207011946[[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]119551208011956[[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",119681209311969[[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"119741209911975[[package]]12100[[package]]11976name = "wasm-gc-api"12101name = "wasm-gc-api"11984]12109]119851211011986[[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]1211912120[[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",120311216412032[[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",120631219612064[[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]120831221612084[[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",121051223812106[[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",121261225812127[[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]121511228012152[[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]121761230512177[[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",121881231712189[[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",122261235512227[[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]123101244112311[[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]1245312454[[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",124061254912407[[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",124191256212420[[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",124391258212440[[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",124871263112488[[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]124961264012497[[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",125081265212509[[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]125171266112518[[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]125271267112528[[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",Dockerfile-parachaindiffbeforeafterboth445ARG RUST_TOOLCHAIN=nightly-2021-11-115ARG RUST_TOOLCHAIN=nightly-2021-11-116#ARG RUST_C=1.58.0-nightly6#ARG RUST_C=1.58.0-nightly7ARG POLKA_VERSION=release-v0.9.147ARG POLKA_VERSION=release-v0.9.168ARG UNIQUE_BRANCH=develop8ARG UNIQUE_BRANCH=develop9910#ARG USER=***10#ARG USER=***90 nvm install v15.5.0 && \90 nvm install v15.5.0 && \91 nvm use v15.5.091 nvm use v15.5.0929293RUN git clone https://github.com/PureStake/polkadot-launch -b jlm-use-para-id-in-specs93RUN git clone https://github.com/paritytech/polkadot-launch949495RUN export NVM_DIR="$HOME/.nvm" && \95RUN export NVM_DIR="$HOME/.nvm" && \96 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \96 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \README.mddiffbeforeafterboth292930Please see our [walk-thorugh instructions](doc/hackusama_walk_through.md) to try everything out!30Please see our [walk-thorugh instructions](doc/hackusama_walk_through.md) to try everything out!313132## Hackusama Update3334During the Kusama Hackaphon the following changes were made:3536- Enabled Smart Contracts Pallet37- Enabled integration between Smart Contracts and Unique Pallet (required special edition of RC4 Substrate version)38- Fixed misc. bugs in Unique Pallet39- Deployed Unique TestNet. Public node available at wss://unique.usetech.com, custom UI types - see below in this README.40- New Features:41 - Re-Fungible Token Mode42 - Off-Chain Schema to store token image URLs43 - Alternative economic model44 - Allow Lists and Public Mint Permission45- Use example: [SubstraPunks Game](https://github.com/usetech-llc/substrapunks), fully hosted on IPFS and Unique Testnet46 Blockchain.4748## Application Development32## Application Development493350If you are building an application that operates NFT tokens, use [this document](doc/application_development.md).34If you are building an application that operates NFT tokens, use [this document](doc/application_development.md).51353652## Building37## Building533854Building Unique chain requires special versions of Rust and toolchain. We don't use the most recent versions of everything39Building Unique chain requires special versions of Rust and toolchain. We don't use the most recent versions of everything571. Install Rust:421. Install Rust:584359```bash44```bash45sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang60curl https://sh.rustup.rs -sSf | sh46curl https://sh.rustup.rs -sSf | sh61sudo apt-get install libssl-dev pkg-config libclang-dev clang62```47```6348642. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.492. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.86cargo build --release71cargo build --release87```72```887389## Run74## Building as Parachain locally907591You can start a development chain with:76Note: checkout this project and all related projects (see below) in the sibling folders (both under the same folder)927793```bash94cargo run -- --dev78### Polkadot launch utility95```967997Detailed logs may be shown by running the node with the following environment variables set:98`RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev`.99100If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet with two101validator nodes for Alice and Bob, who are the initial authorities of the genesis chain that have been endowed with102testnet units. Give each node a name and expose them so they are listed on the Polkadot103[telemetry site](https://telemetry.polkadot.io/#/Local%20Testnet). You'll need two terminal windows open.104105We'll start Alice's substrate node first on default TCP port 30333 with her chain database stored locally at106`/tmp/alice`. The bootnode ID of her node is `QmQZ8TjTqeDj3ciwr93EJ95hxfDsb9pEYDizUAbWpigtQN`, which is generated from107the `--node-key` value that we specify below:108109```bash110cargo run -- \111 --base-path /tmp/alice \112 --chain=local \113 --alice \114 --node-key 0000000000000000000000000000000000000000000000000000000000000001 \115 --telemetry-url ws://telemetry.polkadot.io:1024 \116 --validator117```80```118119In the second terminal, we'll start Bob's substrate node on a different TCP port of 30334, and with his chain database81git clone https://github.com/paritytech/polkadot-launch120stored locally at `/tmp/bob`. We'll specify a value for the `--bootnodes` option that will connect his node to Alice's121bootnode ID on TCP port 30333:122123```bash124cargo run -- \125 --base-path /tmp/bob \126 --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/QmQZ8TjTqeDj3ciwr93EJ95hxfDsb9pEYDizUAbWpigtQN \127 --chain=local \128 --bob \129 --port 30334 \130 --telemetry-url ws://telemetry.polkadot.io:1024 \131 --validator132```82```13383134Additional CLI usage options are available and may be shown by running `cargo run -- --help`.135136## Building and Running as Parachain locally137138Rust toolchain: nightly-2021-11-11139Note: checkout this project and polkadot project (see below) in the sibling folders (both under the same folder)140141### Build relay84### Build relay14285143```86```144git clone https://github.com/paritytech/polkadot.git87git clone https://github.com/paritytech/polkadot.git145cd polkadot88cd polkadot146git checkout release-v0.9.989git checkout release-v0.9.16147cargo build --release90cargo build --release148```91```14992150### Build parachain93### Build Unique parachain15194152Run in the root of this project:95Run in the root of this project:153```96```154cargo --build97cargo build --release155```98```15699157### Run 4-node Relay100### Build Acala parachain (optional, full config only)1581011591. Download `rococo-custom-4.json` chain spec here: https://substrate.dev/cumulus-workshop/shared/chainspecs/rococo-custom-4.json1602. Use these instructions to launch 4 nodes: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/1-launch161162Example (Run in polkadot folder. Replace `12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on` with output from Alice node):163```102```164./target/release/polkadot --alice --validator --base-path ./cumulus_relay0 --chain rococo-custom-4.json --port 50555 --ws-port 9944103git clone https://github.com/AcalaNetwork/Acala165./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 9945104cd Acala166./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 9946105git checkout 54db3acd409a0b787f116f20e163a3b24101ce38167./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 9947106make build-release168169```107```1701081713. Export genesis state and runtime wasm from Unique parachain:109## Running as Parachain locally172110173Run from this project root:174```111```175./target/release/unique-collator export-genesis-state --parachain-id 2000 > ./resources/para-2000-genesis112./launch-testnet.sh176./target/release/unique-collator export-genesis-wasm > ./resources/para-2000-wasm177```113```1781141794. Run two parachain nodes:115Optional, full setup with Acala and Statemint180181Replace `12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg` with Alice or Bob relay ID182183Run from this project root:184```116```185./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 9977117./launch-testnet-full.sh186./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/12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg187```118```1881191894. Reserve parachain ID as described here: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/2-reserve1901915. Register parachain in relay as described here: https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register192193194## Run Integration Tests120## Run Integration Tests1951211961. Install all needed dependecies1221. Install all needed dependecies204yarn test130yarn test205```131```206132207## Benchmarks208133209First of all, add rust toolchain and make it default.210```bash211rustup target add wasm32-unknown-unknown --toolchain nightly-2021-11-11212```213214Then in "/node/src" run build command below215```bash216cargo +nightly-2021-11-11 build --release --features runtime-benchmarks217```218219Run benchmark220```bash221target/release/unique-collator benchmark --chain dev --pallet "pallet_unique" --extrinsic "*" --repeat 1222```223224## UI custom types225226Moved to [runtime_types.json](./runtime_types.json).227228## Running Integration Tests229230See [tests/README.md](./tests/README.md).231232## Code Formatting134## Code Formatting233135234### Get formatter and linter settings into your branch (if you forked before they were introduced)235```bash236git cherry-pick -n 8ff77c21b0d30b2a4648fa35dbf61dfa9d3948a7237```238239### Apply formatting and clippy fixes136### Apply formatting and clippy fixes240```bash137```bash241cargo clippy138cargo clippy252cd tests && yarn eslint --ext .ts,.js src/149cd tests && yarn eslint --ext .ts,.js src/253```150```254151255## Re-Enabling Ink! Contracts256152257Uncomment following lies:2581. In node/rpc/Cargo.toml259```260# pallet-contracts-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.9' }153## Karura token transfer261```2621542632. In node/rpc/src/lib.rs155To get started, you need to open inbound and outbound hrmp channels.264```265// C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber, Hash>,266...267// use pallet_contracts_rpc::{Contracts, ContractsApi};268...269// io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone())));270156157### Next, we need to register our asset at Karura.271```158```159assetRegistry -> registerForeignAsset(location, metadata)160location:161 V0(X2(Parent, Parachain(PARA_ID))) 162metadata:163 name OPL164 symbol OPL165 decimals 18166minimalBalance 1167```2721682733. In runtime/Cargo.toml169### Next, we can send tokens from Opal to Karura:274```170```275 # 'pallet-contracts/std',171polkadotXcm -> reserveTransferAssets276 # 'pallet-contracts-primitives/std',172dest:277 # 'pallet-contracts-rpc-runtime-api/std',278 # 'pallet-contract-helpers/std',173 V0(X2(Parent, Parachain(<KARURA_PARA_ID>))) 279...174beneficiary:280 # [dependencies.pallet-contracts]175 X1(AccountId(Any, <ACCOUNT>))281 # git = 'https://github.com/paritytech/substrate.git'176assets:282 # default-features = false177 V1(Concrete(0,Here), Fungible(<AMOUNT>))283 # branch = 'polkadot-v0.9.9'178feeAssetItem: 284 # version = '3.0.0'179 0 180weightLimit:181 <LIMIT>182``` 285183286 # [dependencies.pallet-contracts-primitives]184The result will be displayed in ChainState 287 # git = 'https://github.com/paritytech/substrate.git'288 # default-features = false185tokens -> accounts 289 # branch = 'polkadot-v0.9.9'290 # version = '3.0.0'291186292 # [dependencies.pallet-contracts-rpc-runtime-api]187### To send tokens from Karura to Opal:293 # git = 'https://github.com/paritytech/substrate.git'294 # default-features = false295 # branch = 'polkadot-v0.9.9'296 # version = '3.0.0'297...298 # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }299```188```189xtokens -> transfer3001903014. runtime/src/lib.rs302```303// use pallet_contracts::weights::WeightInfo;191currencyId:304...305// pub use pallet_timestamp::Call as TimestampCall;306...307// mod chain_extension;308// use crate::chain_extension::{NFTExtension, Imbalance};309...310/*311parameter_types! {312 pub TombstoneDeposit: Balance = deposit(192 ForeingAsset313 ...314}315*/316...317//pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,318...319// impl pallet_contract_helpers::Config for Runtime {}320...321// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>},322...323// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage},324...325//pallet_contract_helpers::ContractHelpersExtension<Runtime>,326...327/*328 impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>193 <TOKEN_ID>329 for Runtime330 {331 ...332 }333*/334194195amount:196 <AMOUNT>197dest:198 V1199 (200 Parents:1, 201 X2(Parachain(<KARURA_PARA_ID>), AccountId(Any, <ACCOUNT>)202 )203destWeight:204 <WEIGHT>335```205```336client/rpc/Cargo.tomldiffbeforeafterboth12jsonrpc-core-client = "18.0.0"12jsonrpc-core-client = "18.0.0"13jsonrpc-derive = "18.0.0"13jsonrpc-derive = "18.0.0"141415sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }15sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }16sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }16sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }17sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }17sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }18sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }18sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }19sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }19sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }2020client/rpc/src/lib.rsdiffbeforeafterboth4use jsonrpc_core::{Error as RpcError, ErrorCode, Result};4use jsonrpc_core::{Error as RpcError, ErrorCode, Result};5use jsonrpc_derive::rpc;5use jsonrpc_derive::rpc;6use up_data_structs::{Collection, CollectionId, CollectionStats, TokenId};6use up_data_structs::{Collection, CollectionId, CollectionStats, TokenId};7use sp_api::{BlockId, BlockT, ProvideRuntimeApi};7use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};8use sp_blockchain::HeaderBackend;8use sp_blockchain::HeaderBackend;9use up_rpc::UniqueApi as UniqueRuntimeApi;9use up_rpc::UniqueApi as UniqueRuntimeApi;101031 collection: CollectionId,31 collection: CollectionId,32 token: TokenId,32 token: TokenId,33 at: Option<BlockHash>,33 at: Option<BlockHash>,34 ) -> Result<CrossAccountId>;34 ) -> Result<Option<CrossAccountId>>;35 #[rpc(name = "unique_constMetadata")]35 #[rpc(name = "unique_constMetadata")]36 fn const_metadata(36 fn const_metadata(37 &self,37 &self,134macro_rules! pass_method {134macro_rules! pass_method {135 ($method_name:ident($($name:ident: $ty:ty),* $(,)?) -> $result:ty $(=> $mapper:expr)?) => {135 (136 $method_name:ident($($name:ident: $ty:ty),* $(,)?) -> $result:ty $(=> $mapper:expr)?137 $(; changed_in $ver:expr, $changed_method_name:ident ($($changed_name:expr), * $(,)?) => $fixer:expr)*138 ) => {136 fn $method_name(139 fn $method_name(137 &self,140 &self,142 ) -> Result<$result> {145 ) -> Result<$result> {143 let api = self.client.runtime_api();146 let api = self.client.runtime_api();144 let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash));147 let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash));148 let _api_version = if let Ok(Some(api_version)) =149 api.api_version::<dyn UniqueRuntimeApi<Block, CrossAccountId, AccountId>>(&at)150 {151 api_version152 } else {153 // unreachable for our runtime154 return Err(RpcError {155 code: ErrorCode::InvalidParams,156 message: "Api is not available".into(),157 data: None,158 })159 };145160146 let result = api.$method_name(&at, $($name),*).map_err(|e| RpcError {161 let result = $(if _api_version < $ver {162 api.$changed_method_name(&at, $($changed_name),*).map(|r| r.map($fixer))163 } else)*164 { api.$method_name(&at, $($name),*) };165166 let result = result.map_err(|e| RpcError {147 code: ErrorCode::ServerError(Error::RuntimeError.into()),167 code: ErrorCode::ServerError(Error::RuntimeError.into()),148 message: "Unable to query".into(),168 message: "Unable to query".into(),149 data: Some(format!("{:?}", e).into()),169 data: Some(format!("{:?}", e).into()),169 pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);189 pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);170 pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);190 pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);171 pass_method!(token_owner(collection: CollectionId, token: TokenId) -> CrossAccountId);191 pass_method!(192 token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>;193 changed_in 2, token_owner_before_version_2(collection, token) => |u| Some(u)194 );172 pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);195 pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);173 pass_method!(variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);196 pass_method!(variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);crates/evm-coder/Cargo.tomldiffbeforeafterboth7evm-coder-macros = { path = "../evm-coder-macros" }7evm-coder-macros = { path = "../evm-coder-macros" }8primitive-types = { version = "0.10.1", default-features = false }8primitive-types = { version = "0.10.1", default-features = false }9hex-literal = "0.3.3"9hex-literal = "0.3.3"10ethereum = { version = "0.10.0", default-features = false }10ethereum = { version = "0.11.1", default-features = false }11evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-weights" }11evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-polkadot-v0.9.16" }12impl-trait-for-tuples = "0.2.1"12impl-trait-for-tuples = "0.2.1"131314[dev-dependencies]14[dev-dependencies]crates/evm-coder/src/abi.rsdiffbeforeafterboth95 string::from_utf8(self.bytes()?).map_err(|_| Error::Error(ExitError::InvalidRange))95 string::from_utf8(self.bytes()?).map_err(|_| Error::Error(ExitError::InvalidRange))96 }96 }9798 pub fn uint8(&mut self) -> Result<u8> {99 Ok(self.read_padleft::<1>()?[0])100 }9710198 pub fn uint32(&mut self) -> Result<u32> {102 pub fn uint32(&mut self) -> Result<u32> {99 Ok(u32::from_be_bytes(self.read_padleft()?))103 Ok(u32::from_be_bytes(self.read_padleft()?))243 };247 };244}248}245249250impl_abi_readable!(u8, uint8);246impl_abi_readable!(u32, uint32);251impl_abi_readable!(u32, uint32);247impl_abi_readable!(u64, uint64);252impl_abi_readable!(u64, uint64);248impl_abi_readable!(u128, uint128);253impl_abi_readable!(u128, uint128);doc/hackusama_update.mddiffbeforeafterbothno changes
doc/re-enable_ink_contracts.mddiffbeforeafterbothno changes
launch-config-full.jsondiffbeforeafterbothno changes
launch-config-westend.jsondiffbeforeafterbothno changes
launch-config.jsondiffbeforeafterboth9 "rpcPort": 9843,9 "rpcPort": 9843,10 "port": 30444,10 "port": 30444,11 "flags": [11 "flags": [12 "-lparachain::candidate_validation=debug"12 "-lparachain::candidate_validation=debug",13 "-lxcm=trace"13 ]14 ]14 },15 },15 {16 {18 "rpcPort": 9854,19 "rpcPort": 9854,19 "port": 30555,20 "port": 30555,20 "flags": [21 "flags": [21 "-lparachain::candidate_validation=debug"22 "-lparachain::candidate_validation=debug",23 "-lxcm=trace"22 ]24 ]23 },25 },24 {26 {38 "flags": [40 "flags": [39 "-lparachain::candidate_validation=debug"41 "-lparachain::candidate_validation=debug"40 ]42 ]41 }43 },44 {45 "name": "eve",46 "wsPort": 9888,47 "rpcPort": 9887,48 "port": 30888,49 "flags": [50 "-lparachain::candidate_validation=debug"51 ]52 }42 ],53 ],43 "genesis": {54 "genesis": {44 "runtime": {55 "runtime": {67 "flags": [78 "flags": [68 "--rpc-cors=all",79 "--rpc-cors=all",69 "--unsafe-rpc-external",80 "--unsafe-rpc-external",70 "--unsafe-ws-external"81 "--unsafe-ws-external",82 "-lxcm=trace"71 ]83 ]72 },84 },73 {85 {78 "flags": [90 "flags": [79 "--rpc-cors=all",91 "--rpc-cors=all",80 "--unsafe-rpc-external",92 "--unsafe-rpc-external",81 "--unsafe-ws-external"93 "--unsafe-ws-external",94 "-lxcm=trace"82 ]95 ]83 }96 }84 ]97 ]launch-test-env.shdiffbeforeafterbothno changes
launch-testnet-full.shdiffbeforeafterbothno changes
launch-testnet.shdiffbeforeafterbothno changes
node/cli/Cargo.tomldiffbeforeafterboth334[build-dependencies.substrate-build-script-utils]4[build-dependencies.substrate-build-script-utils]5git = 'https://github.com/paritytech/substrate.git'5git = 'https://github.com/paritytech/substrate.git'6branch = 'polkadot-v0.9.14'6branch = 'polkadot-v0.9.16'778################################################################################8################################################################################9# Substrate Dependecies9# Substrate Dependecies161617[dependencies.frame-benchmarking]17[dependencies.frame-benchmarking]18git = 'https://github.com/paritytech/substrate.git'18git = 'https://github.com/paritytech/substrate.git'19branch = 'polkadot-v0.9.14'19branch = 'polkadot-v0.9.16'202021[dependencies.frame-benchmarking-cli]21[dependencies.frame-benchmarking-cli]22git = 'https://github.com/paritytech/substrate.git'22git = 'https://github.com/paritytech/substrate.git'23branch = 'polkadot-v0.9.14'23branch = 'polkadot-v0.9.16'242425[dependencies.pallet-transaction-payment-rpc]25[dependencies.pallet-transaction-payment-rpc]26git = 'https://github.com/paritytech/substrate.git'26git = 'https://github.com/paritytech/substrate.git'27branch = 'polkadot-v0.9.14'27branch = 'polkadot-v0.9.16'282829[dependencies.substrate-prometheus-endpoint]29[dependencies.substrate-prometheus-endpoint]30git = 'https://github.com/paritytech/substrate.git'30git = 'https://github.com/paritytech/substrate.git'31branch = 'polkadot-v0.9.14'31branch = 'polkadot-v0.9.16'323233[dependencies.sc-basic-authorship]33[dependencies.sc-basic-authorship]34git = 'https://github.com/paritytech/substrate.git'34git = 'https://github.com/paritytech/substrate.git'35branch = 'polkadot-v0.9.14'35branch = 'polkadot-v0.9.16'363637[dependencies.sc-chain-spec]37[dependencies.sc-chain-spec]38git = 'https://github.com/paritytech/substrate.git'38git = 'https://github.com/paritytech/substrate.git'39branch = 'polkadot-v0.9.14'39branch = 'polkadot-v0.9.16'404041[dependencies.sc-cli]41[dependencies.sc-cli]42features = ['wasmtime']42features = ['wasmtime']43git = 'https://github.com/paritytech/substrate.git'43git = 'https://github.com/paritytech/substrate.git'44branch = 'polkadot-v0.9.14'44branch = 'polkadot-v0.9.16'454546[dependencies.sc-client-api]46[dependencies.sc-client-api]47git = 'https://github.com/paritytech/substrate.git'47git = 'https://github.com/paritytech/substrate.git'48branch = 'polkadot-v0.9.14'48branch = 'polkadot-v0.9.16'494950[dependencies.sc-consensus]50[dependencies.sc-consensus]51git = 'https://github.com/paritytech/substrate.git'51git = 'https://github.com/paritytech/substrate.git'52branch = 'polkadot-v0.9.14'52branch = 'polkadot-v0.9.16'535354[dependencies.sc-consensus-aura]54[dependencies.sc-consensus-aura]55git = 'https://github.com/paritytech/substrate.git'55git = 'https://github.com/paritytech/substrate.git'56branch = 'polkadot-v0.9.14'56branch = 'polkadot-v0.9.16'575758[dependencies.sc-executor]58[dependencies.sc-executor]59features = ['wasmtime']59features = ['wasmtime']60git = 'https://github.com/paritytech/substrate.git'60git = 'https://github.com/paritytech/substrate.git'61branch = 'polkadot-v0.9.14'61branch = 'polkadot-v0.9.16'626263[dependencies.sc-finality-grandpa]63[dependencies.sc-finality-grandpa]64git = 'https://github.com/paritytech/substrate.git'64git = 'https://github.com/paritytech/substrate.git'65branch = 'polkadot-v0.9.14'65branch = 'polkadot-v0.9.16'666667[dependencies.sc-keystore]67[dependencies.sc-keystore]68git = 'https://github.com/paritytech/substrate.git'68git = 'https://github.com/paritytech/substrate.git'69branch = 'polkadot-v0.9.14'69branch = 'polkadot-v0.9.16'707071[dependencies.sc-rpc]71[dependencies.sc-rpc]72git = 'https://github.com/paritytech/substrate.git'72git = 'https://github.com/paritytech/substrate.git'73branch = 'polkadot-v0.9.14'73branch = 'polkadot-v0.9.16'747475[dependencies.sc-rpc-api]75[dependencies.sc-rpc-api]76git = 'https://github.com/paritytech/substrate.git'76git = 'https://github.com/paritytech/substrate.git'77branch = 'polkadot-v0.9.14'77branch = 'polkadot-v0.9.16'787879[dependencies.sc-service]79[dependencies.sc-service]80features = ['wasmtime']80features = ['wasmtime']81git = 'https://github.com/paritytech/substrate.git'81git = 'https://github.com/paritytech/substrate.git'82branch = 'polkadot-v0.9.14'82branch = 'polkadot-v0.9.16'838384[dependencies.sc-telemetry]84[dependencies.sc-telemetry]85git = 'https://github.com/paritytech/substrate.git'85git = 'https://github.com/paritytech/substrate.git'86branch = 'polkadot-v0.9.14'86branch = 'polkadot-v0.9.16'878788[dependencies.sc-transaction-pool]88[dependencies.sc-transaction-pool]89git = 'https://github.com/paritytech/substrate.git'89git = 'https://github.com/paritytech/substrate.git'90branch = 'polkadot-v0.9.14'90branch = 'polkadot-v0.9.16'919192[dependencies.sc-tracing]92[dependencies.sc-tracing]93git = 'https://github.com/paritytech/substrate.git'93git = 'https://github.com/paritytech/substrate.git'94branch = 'polkadot-v0.9.14'94branch = 'polkadot-v0.9.16'959596[dependencies.sp-block-builder]96[dependencies.sp-block-builder]97git = 'https://github.com/paritytech/substrate.git'97git = 'https://github.com/paritytech/substrate.git'98branch = 'polkadot-v0.9.14'98branch = 'polkadot-v0.9.16'9999100[dependencies.sp-api]100[dependencies.sp-api]101git = 'https://github.com/paritytech/substrate.git'101git = 'https://github.com/paritytech/substrate.git'102branch = 'polkadot-v0.9.14'102branch = 'polkadot-v0.9.16'103103104[dependencies.sp-blockchain]104[dependencies.sp-blockchain]105git = 'https://github.com/paritytech/substrate.git'105git = 'https://github.com/paritytech/substrate.git'106branch = 'polkadot-v0.9.14'106branch = 'polkadot-v0.9.16'107107108[dependencies.sp-consensus]108[dependencies.sp-consensus]109git = 'https://github.com/paritytech/substrate.git'109git = 'https://github.com/paritytech/substrate.git'110branch = 'polkadot-v0.9.14'110branch = 'polkadot-v0.9.16'111111112[dependencies.sp-consensus-aura]112[dependencies.sp-consensus-aura]113git = 'https://github.com/paritytech/substrate.git'113git = 'https://github.com/paritytech/substrate.git'114branch = 'polkadot-v0.9.14'114branch = 'polkadot-v0.9.16'115115116[dependencies.sp-core]116[dependencies.sp-core]117git = 'https://github.com/paritytech/substrate.git'117git = 'https://github.com/paritytech/substrate.git'118branch = 'polkadot-v0.9.14'118branch = 'polkadot-v0.9.16'119119120[dependencies.sp-finality-grandpa]120[dependencies.sp-finality-grandpa]121git = 'https://github.com/paritytech/substrate.git'121git = 'https://github.com/paritytech/substrate.git'122branch = 'polkadot-v0.9.14'122branch = 'polkadot-v0.9.16'123123124[dependencies.sp-inherents]124[dependencies.sp-inherents]125git = 'https://github.com/paritytech/substrate.git'125git = 'https://github.com/paritytech/substrate.git'126branch = 'polkadot-v0.9.14'126branch = 'polkadot-v0.9.16'127127128[dependencies.sp-keystore]128[dependencies.sp-keystore]129git = 'https://github.com/paritytech/substrate.git'129git = 'https://github.com/paritytech/substrate.git'130branch = 'polkadot-v0.9.14'130branch = 'polkadot-v0.9.16'131131132[dependencies.sp-offchain]132[dependencies.sp-offchain]133git = 'https://github.com/paritytech/substrate.git'133git = 'https://github.com/paritytech/substrate.git'134branch = 'polkadot-v0.9.14'134branch = 'polkadot-v0.9.16'135135136[dependencies.sp-runtime]136[dependencies.sp-runtime]137git = 'https://github.com/paritytech/substrate.git'137git = 'https://github.com/paritytech/substrate.git'138branch = 'polkadot-v0.9.14'138branch = 'polkadot-v0.9.16'139139140[dependencies.sp-session]140[dependencies.sp-session]141git = 'https://github.com/paritytech/substrate.git'141git = 'https://github.com/paritytech/substrate.git'142branch = 'polkadot-v0.9.14'142branch = 'polkadot-v0.9.16'143143144[dependencies.sp-timestamp]144[dependencies.sp-timestamp]145git = 'https://github.com/paritytech/substrate.git'145git = 'https://github.com/paritytech/substrate.git'146branch = 'polkadot-v0.9.14'146branch = 'polkadot-v0.9.16'147147148[dependencies.sp-transaction-pool]148[dependencies.sp-transaction-pool]149git = 'https://github.com/paritytech/substrate.git'149git = 'https://github.com/paritytech/substrate.git'150branch = 'polkadot-v0.9.14'150branch = 'polkadot-v0.9.16'151151152[dependencies.sp-trie]152[dependencies.sp-trie]153git = 'https://github.com/paritytech/substrate.git'153git = 'https://github.com/paritytech/substrate.git'154branch = 'polkadot-v0.9.14'154branch = 'polkadot-v0.9.16'155155156[dependencies.substrate-frame-rpc-system]156[dependencies.substrate-frame-rpc-system]157git = 'https://github.com/paritytech/substrate.git'157git = 'https://github.com/paritytech/substrate.git'158branch = 'polkadot-v0.9.14'158branch = 'polkadot-v0.9.16'159159160[dependencies.sc-network]160[dependencies.sc-network]161git = 'https://github.com/paritytech/substrate.git'161git = 'https://github.com/paritytech/substrate.git'162branch = 'polkadot-v0.9.14'162branch = 'polkadot-v0.9.16'163163164[dependencies.serde]164[dependencies.serde]165features = ['derive']165features = ['derive']173# Cumulus dependencies173# Cumulus dependencies174174175[dependencies.cumulus-client-consensus-aura]175[dependencies.cumulus-client-consensus-aura]176git = 'https://github.com/UniqueNetwork/cumulus.git'176git = 'https://github.com/paritytech/cumulus.git'177branch = 'polkadot-v0.9.14'177branch = 'polkadot-v0.9.16'178178179[dependencies.cumulus-client-consensus-common]179[dependencies.cumulus-client-consensus-common]180git = 'https://github.com/UniqueNetwork/cumulus.git'180git = 'https://github.com/paritytech/cumulus.git'181branch = 'polkadot-v0.9.14'181branch = 'polkadot-v0.9.16'182182183[dependencies.cumulus-client-collator]183[dependencies.cumulus-client-collator]184git = 'https://github.com/UniqueNetwork/cumulus.git'184git = 'https://github.com/paritytech/cumulus.git'185branch = 'polkadot-v0.9.14'185branch = 'polkadot-v0.9.16'186186187[dependencies.cumulus-client-cli]187[dependencies.cumulus-client-cli]188git = 'https://github.com/UniqueNetwork/cumulus.git'188git = 'https://github.com/paritytech/cumulus.git'189branch = 'polkadot-v0.9.14'189branch = 'polkadot-v0.9.16'190190191[dependencies.cumulus-client-network]191[dependencies.cumulus-client-network]192git = 'https://github.com/UniqueNetwork/cumulus.git'192git = 'https://github.com/paritytech/cumulus.git'193branch = 'polkadot-v0.9.14'193branch = 'polkadot-v0.9.16'194194195[dependencies.cumulus-primitives-core]195[dependencies.cumulus-primitives-core]196git = 'https://github.com/UniqueNetwork/cumulus.git'196git = 'https://github.com/paritytech/cumulus.git'197branch = 'polkadot-v0.9.14'197branch = 'polkadot-v0.9.16'198198199[dependencies.cumulus-primitives-parachain-inherent]199[dependencies.cumulus-primitives-parachain-inherent]200git = 'https://github.com/UniqueNetwork/cumulus.git'200git = 'https://github.com/paritytech/cumulus.git'201branch = 'polkadot-v0.9.14'201branch = 'polkadot-v0.9.16'202202203[dependencies.cumulus-client-service]203[dependencies.cumulus-client-service]204git = 'https://github.com/paritytech/cumulus.git'205branch = 'polkadot-v0.9.16'206207[dependencies.cumulus-relay-chain-interface]208git = 'https://github.com/paritytech/cumulus.git'209branch = 'polkadot-v0.9.16'210211[dependencies.cumulus-relay-chain-local]204git = 'https://github.com/UniqueNetwork/cumulus.git'212git = 'https://github.com/paritytech/cumulus.git'205branch = 'polkadot-v0.9.14'213branch = 'polkadot-v0.9.16'206207214208################################################################################215################################################################################209# Polkadot dependencies216# Polkadot dependencies210[dependencies.polkadot-primitives]217[dependencies.polkadot-primitives]211git = "https://github.com/paritytech/polkadot"218git = "https://github.com/paritytech/polkadot"212branch = 'release-v0.9.14'219branch = 'release-v0.9.16'213220214[dependencies.polkadot-service]221[dependencies.polkadot-service]215git = "https://github.com/paritytech/polkadot"222git = "https://github.com/paritytech/polkadot"216branch = 'release-v0.9.14'223branch = 'release-v0.9.16'217224218[dependencies.polkadot-cli]225[dependencies.polkadot-cli]219git = "https://github.com/paritytech/polkadot"226git = "https://github.com/paritytech/polkadot"220branch = 'release-v0.9.14'227branch = 'release-v0.9.16'221228222[dependencies.polkadot-test-service]229[dependencies.polkadot-test-service]223git = "https://github.com/paritytech/polkadot"230git = "https://github.com/paritytech/polkadot"224branch = 'release-v0.9.14'231branch = 'release-v0.9.16'225232226[dependencies.polkadot-parachain]233[dependencies.polkadot-parachain]227git = "https://github.com/paritytech/polkadot"234git = "https://github.com/paritytech/polkadot"228branch = 'release-v0.9.14'235branch = 'release-v0.9.16'229236230237231################################################################################238################################################################################250license = 'All Rights Reserved'257license = 'All Rights Reserved'251name = 'unique-node'258name = 'unique-node'252repository = 'https://github.com/UniqueNetwork/unique-chain'259repository = 'https://github.com/UniqueNetwork/unique-chain'253version = '0.9.14'260version = '0.9.16'254261255[[bin]]262[[bin]]256name = 'unique-collator'263name = 'unique-collator'268jsonrpc-core = '18.0.0'275jsonrpc-core = '18.0.0'269jsonrpc-pubsub = "18.0.0"276jsonrpc-pubsub = "18.0.0"270277271fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }278fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }272fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }279fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }273fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }280fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }274fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }281fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }275fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }282fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }276fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }283fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }277pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }284pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }278285279unique-rpc = { path = "../rpc" }286unique-rpc = { path = "../rpc" }280287node/cli/src/chain_spec.rsdiffbeforeafterboth85 None,85 None,86 // Protocol ID86 // Protocol ID87 None,87 None,88 None,88 // Properties89 // Properties89 Some(properties),90 Some(properties),90 // Extensions91 // Extensions134 None,135 None,135 // Protocol ID136 // Protocol ID136 None,137 None,138 None,137 // Properties139 // Properties138 None,140 None,139 // Extensions141 // Extensions186 None,188 None,187 // Protocol ID189 // Protocol ID188 None,190 None,191 None,189 // Properties192 // Properties190 None,193 None,191 // Extensions194 // Extensions218 },221 },219 treasury: Default::default(),222 treasury: Default::default(),220 sudo: SudoConfig { key: root_key },223 sudo: SudoConfig {224 key: Some(root_key),225 },221 vesting: VestingConfig { vesting: vec![] },226 vesting: VestingConfig { vesting: vec![] },222 parachain_info: unique_runtime::ParachainInfoConfig { parachain_id: id },227 parachain_info: unique_runtime::ParachainInfoConfig { parachain_id: id },node/cli/src/command.rsdiffbeforeafterboth40fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {40fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {41 Ok(match id {41 Ok(match id {42 "westend-local" => Box::new(chain_spec::local_testnet_westend_config()),42 "westend-local" => Box::new(chain_spec::local_testnet_westend_config()),43 "rococo-local" => Box::new(chain_spec::local_testnet_rococo_config()),43 "dev" => Box::new(chain_spec::development_config()),44 "dev" => Box::new(chain_spec::development_config()),44 "" | "local" => Box::new(chain_spec::local_testnet_rococo_config()),45 "" | "local" => Box::new(chain_spec::local_testnet_rococo_config()),45 path => Box::new(chain_spec::ChainSpec::from_json_file(46 path => Box::new(chain_spec::ChainSpec::from_json_file(213 builder.with_profiling(sc_tracing::TracingReceiver::Log, "");214 builder.with_profiling(sc_tracing::TracingReceiver::Log, "");214 let _ = builder.init();215 let _ = builder.init();215216216 let block: Block =217 let spec = load_spec(¶ms.chain.clone().unwrap_or_default())?;217 generate_genesis_block(&load_spec(¶ms.chain.clone().unwrap_or_default())?)?;218 let state_version = Cli::native_runtime_version(&spec).state_version();219 let block: Block = generate_genesis_block(&spec, state_version)?;218 let raw_header = block.header().encode();220 let raw_header = block.header().encode();219 let output_buf = if params.raw {221 let output_buf = if params.raw {220 raw_header222 raw_header282 let parachain_account =284 let parachain_account =283 AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);285 AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);284286287 let state_version =288 RelayChainCli::native_runtime_version(&config.chain_spec).state_version();285 let block: Block =289 let block: Block = generate_genesis_block(&config.chain_spec, state_version)286 generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;290 .map_err(|e| format!("{:?}", e))?;287 let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));291 let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));292 let genesis_hash = format!("0x{:?}", HexDisplay::from(&block.header().hash().0));288293289 let polkadot_config = SubstrateCli::create_configuration(294 let polkadot_config = SubstrateCli::create_configuration(290 &polkadot_cli,295 &polkadot_cli,296 info!("Parachain id: {:?}", id);301 info!("Parachain id: {:?}", id);297 info!("Parachain Account: {}", parachain_account);302 info!("Parachain Account: {}", parachain_account);298 info!("Parachain genesis state: {}", genesis_state);303 info!("Parachain genesis state: {}", genesis_state);304 info!("Parachain genesis hash: {}", genesis_hash);299 info!(305 info!(300 "Is collating: {}",306 "Is collating: {}",301 if config.role.is_authority() {307 if config.role.is_authority() {370376371 fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {377 fn prometheus_config(378 &self,379 default_listen_port: u16,380 chain_spec: &Box<dyn ChainSpec>,381 ) -> Result<Option<PrometheusConfig>> {372 self.base.base.prometheus_config(default_listen_port)382 self.base383 .base384 .prometheus_config(default_listen_port, chain_spec)373 }385 }374386375 fn init<C: SubstrateCli>(&self) -> Result<()> {387 fn init<F>(388 &self,389 _support_url: &String,390 _impl_version: &String,391 _logger_hook: F,392 _config: &sc_service::Configuration,393 ) -> Result<()> {376 unreachable!("PolkadotCli is never initialized; qed");394 unreachable!("PolkadotCli is never initialized; qed");377 }395 }node/cli/src/service.rsdiffbeforeafterboth10use std::sync::Mutex;10use std::sync::Mutex;11use std::collections::BTreeMap;11use std::collections::BTreeMap;12use std::time::Duration;12use std::time::Duration;13use fc_rpc_core::types::FeeHistoryCache;13use futures::StreamExt;14use futures::StreamExt;141516use unique_rpc::overrides_handle;15// Local Runtime Types17// Local Runtime Types16use unique_runtime::RuntimeApi;18use unique_runtime::RuntimeApi;171918// Cumulus Imports20// Cumulus Imports19use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams, SlotProportion};21use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion};20use cumulus_client_consensus_common::ParachainConsensus;22use cumulus_client_consensus_common::ParachainConsensus;21use cumulus_client_network::build_block_announce_validator;22use cumulus_client_service::{23use cumulus_client_service::{23 prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,24 prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,24};25};26use cumulus_client_network::BlockAnnounceValidator;25use cumulus_primitives_core::ParaId;27use cumulus_primitives_core::ParaId;28use cumulus_relay_chain_interface::RelayChainInterface;29use cumulus_relay_chain_local::build_relay_chain_interface;263027// Substrate Imports31// Substrate Imports28use sc_client_api::ExecutorProvider;32use sc_client_api::ExecutorProvider;109 Option<FilterPool>,113 Option<FilterPool>,110 Arc<fc_db::Backend<Block>>,114 Arc<fc_db::Backend<Block>>,111 Option<TelemetryWorkerHandle>,115 Option<TelemetryWorkerHandle>,116 FeeHistoryCache,112 ),117 ),113 >,118 >,114 sc_service::Error,119 sc_service::Error,149 config.wasm_method,154 config.wasm_method,150 config.default_heap_pages,155 config.default_heap_pages,151 config.max_runtime_instances,156 config.max_runtime_instances,157 config.runtime_cache_size,152 );158 );153159154 let (client, backend, keystore_container, task_manager) =160 let (client, backend, keystore_container, task_manager) =188 telemetry.as_ref().map(|telemetry| telemetry.handle()),194 telemetry.as_ref().map(|telemetry| telemetry.handle()),189 &task_manager,195 &task_manager,190 )?;196 )?;197 let fee_history_cache: FeeHistoryCache = Arc::new(Mutex::new(BTreeMap::new()));191198192 let params = PartialComponents {199 let params = PartialComponents {193 backend,200 backend,202 filter_pool,209 filter_pool,203 frontier_backend,210 frontier_backend,204 telemetry_worker_handle,211 telemetry_worker_handle,212 fee_history_cache,205 ),213 ),206 };214 };207215233 Option<&Registry>,241 Option<&Registry>,234 Option<TelemetryHandle>,242 Option<TelemetryHandle>,235 &TaskManager,243 &TaskManager,236 &polkadot_service::NewFull<polkadot_service::Client>,244 Arc<dyn RelayChainInterface>,237 Arc<sc_transaction_pool::FullPool<Block, FullClient>>,245 Arc<sc_transaction_pool::FullPool<Block, FullClient>>,238 Arc<NetworkService<Block, Hash>>,246 Arc<NetworkService<Block, Hash>>,239 SyncCryptoStorePtr,247 SyncCryptoStorePtr,247 let parachain_config = prepare_node_config(parachain_config);255 let parachain_config = prepare_node_config(parachain_config);248256249 let params = new_partial::<BIQ>(¶chain_config, build_import_queue)?;257 let params = new_partial::<BIQ>(¶chain_config, build_import_queue)?;250 let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle) = params.other;258 let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle, fee_history_cache) =259 params.other;260261 let client = params.client.clone();262 let backend = params.backend.clone();263 let mut task_manager = params.task_manager;251264252 let relay_chain_full_node =265 let (relay_chain_interface, collator_key) =253 cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle)266 build_relay_chain_interface(polkadot_config, telemetry_worker_handle, &mut task_manager)254 .map_err(|e| match e {267 .map_err(|e| match e {255 polkadot_service::Error::Sub(x) => x,268 polkadot_service::Error::Sub(x) => x,256 s => format!("{}", s).into(),269 s => format!("{}", s).into(),257 })?;270 })?;258271259 let client = params.client.clone();260 let backend = params.backend.clone();261 let block_announce_validator = build_block_announce_validator(272 let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);262 relay_chain_full_node.client.clone(),263 id,264 Box::new(relay_chain_full_node.network.clone()),265 relay_chain_full_node.backend.clone(),266 );267273268 let force_authoring = parachain_config.force_authoring;274 let force_authoring = parachain_config.force_authoring;269 let validator = parachain_config.role.is_authority();275 let validator = parachain_config.role.is_authority();270 let prometheus_registry = parachain_config.prometheus_registry().cloned();276 let prometheus_registry = parachain_config.prometheus_registry().cloned();271 let transaction_pool = params.transaction_pool.clone();277 let transaction_pool = params.transaction_pool.clone();272 let mut task_manager = params.task_manager;273 let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);278 let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);274279275 let (network, system_rpc_tx, start_network) =280 let (network, system_rpc_tx, start_network) =279 transaction_pool: transaction_pool.clone(),284 transaction_pool: transaction_pool.clone(),280 spawn_handle: task_manager.spawn_handle(),285 spawn_handle: task_manager.spawn_handle(),281 import_queue: import_queue.clone(),286 import_queue: import_queue.clone(),282 block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),287 block_announce_validator_builder: Some(Box::new(|_| {288 Box::new(block_announce_validator)289 })),283 warp_sync: None,290 warp_sync: None,284 })?;291 })?;285292286 let subscription_executor = sc_rpc::SubscriptionTaskExecutor::new(task_manager.spawn_handle());293 let subscription_executor = sc_rpc::SubscriptionTaskExecutor::new(task_manager.spawn_handle());287 let rpc_client = client.clone();294 let rpc_client = client.clone();288 let rpc_pool = transaction_pool.clone();295 let rpc_pool = transaction_pool.clone();289 let select_chain = params.select_chain.clone();296 let select_chain = params.select_chain.clone();290 let is_authority = parachain_config.role.clone().is_authority();297 let rpc_network = network.clone();298291 let rpc_network = network.clone();299 let rpc_frontier_backend = frontier_backend.clone();292300293 let rpc_frontier_backend = frontier_backend.clone();301 let block_data_cache = Arc::new(fc_rpc::EthBlockDataCache::new(302 task_manager.spawn_handle(),303 overrides_handle(client.clone()),304 50,305 50,306 ));307294 let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {308 let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {295 let full_deps = unique_rpc::FullDeps {309 let full_deps = unique_rpc::FullDeps {303 filter_pool: filter_pool.clone(),317 filter_pool: filter_pool.clone(),304 network: rpc_network.clone(),318 network: rpc_network.clone(),305 select_chain: select_chain.clone(),319 select_chain: select_chain.clone(),306 is_authority,320 is_authority: validator,307 // TODO: Unhardcode321 // TODO: Unhardcode308 max_past_logs: 10000,322 max_past_logs: 10000,323 block_data_cache: block_data_cache.clone(),324 fee_history_cache: fee_history_cache.clone(),325 // TODO: Unhardcode326 fee_history_limit: 2048,309 };327 };310328311 Ok(unique_rpc::create_full::<_, _, _, _, RuntimeApi, _>(329 Ok(unique_rpc::create_full::<_, _, _, _, RuntimeApi, _>(346 Arc::new(move |hash, data| network.announce_block(hash, data))364 Arc::new(move |hash, data| network.announce_block(hash, data))347 };365 };366367 let relay_chain_slot_duration = Duration::from_secs(6);348368349 if validator {369 if validator {350 let parachain_consensus = build_consensus(370 let parachain_consensus = build_consensus(351 client.clone(),371 client.clone(),352 prometheus_registry.as_ref(),372 prometheus_registry.as_ref(),353 telemetry.as_ref().map(|t| t.handle()),373 telemetry.as_ref().map(|t| t.handle()),354 &task_manager,374 &task_manager,355 &relay_chain_full_node,375 relay_chain_interface.clone(),356 transaction_pool,376 transaction_pool,357 network,377 network,358 params.keystore_container.sync_keystore(),378 params.keystore_container.sync_keystore(),367 announce_block,387 announce_block,368 client: client.clone(),388 client: client.clone(),369 task_manager: &mut task_manager,389 task_manager: &mut task_manager,370 relay_chain_full_node,371 spawner,390 spawner,372 parachain_consensus,391 parachain_consensus,373 import_queue,392 import_queue,393 collator_key,394 relay_chain_interface,395 relay_chain_slot_duration,374 };396 };375397376 start_collator(params).await?;398 start_collator(params).await?;380 announce_block,402 announce_block,381 task_manager: &mut task_manager,403 task_manager: &mut task_manager,382 para_id: id,404 para_id: id,383 relay_chain_full_node,405 import_queue,406 relay_chain_interface,407 relay_chain_slot_duration,384 };408 };385409386 start_full_node(params)?;410 start_full_node(params)?;445 prometheus_registry,469 prometheus_registry,446 telemetry,470 telemetry,447 task_manager,471 task_manager,448 relay_chain_node,472 relay_chain_interface,449 transaction_pool,473 transaction_pool,450 sync_oracle,474 sync_oracle,451 keystore,475 keystore,460 telemetry.clone(),484 telemetry.clone(),461 );485 );462486463 let relay_chain_backend = relay_chain_node.backend.clone();464 let relay_chain_client = relay_chain_node.client.clone();465 Ok(build_aura_consensus::<487 Ok(AuraConsensus::build::<466 sp_consensus_aura::sr25519::AuthorityPair,488 sp_consensus_aura::sr25519::AuthorityPair,467 _,489 _,468 _,490 _,469 _,491 _,470 _,492 _,471 _,493 _,472 _,494 _,473 _,474 _,475 _,476 >(BuildAuraConsensusParams {495 >(BuildAuraConsensusParams {477 proposer_factory,496 proposer_factory,478 create_inherent_data_providers: move |_, (relay_parent, validation_data)| {497 create_inherent_data_providers: move |_, (relay_parent, validation_data)| {498 let relay_chain_interface = relay_chain_interface.clone();499 async move {479 let parachain_inherent =500 let parachain_inherent =480 cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(501 cumulus_primitives_parachain_inherent::ParachainInherentData::create_at(481 relay_parent,502 relay_parent,482 &relay_chain_client,503 &relay_chain_interface,483 &*relay_chain_backend,504 &validation_data,484 &validation_data,505 id,485 id,486 );506 ).await;487 async move {507488 let time = sp_timestamp::InherentDataProvider::from_system_time();508 let time = sp_timestamp::InherentDataProvider::from_system_time();489509490 let slot =510 let slot =499 )519 )500 })?;520 })?;501 Ok((time, slot, parachain_inherent))521 Ok((time, slot, parachain_inherent))502 }522 }503 },523 },504 block_import: client.clone(),524 block_import: client.clone(),505 relay_chain_client: relay_chain_node.client.clone(),506 relay_chain_backend: relay_chain_node.backend.clone(),507 para_client: client,525 para_client: client,508 backoff_authoring_blocks: Option::<()>::None,526 backoff_authoring_blocks: Option::<()>::None,509 sync_oracle,527 sync_oracle,node/rpc/Cargo.tomldiffbeforeafterboth13futures = { version = "0.3.17", features = ["compat"] }13futures = { version = "0.3.17", features = ["compat"] }14jsonrpc-core = "18.0.0"14jsonrpc-core = "18.0.0"15jsonrpc-pubsub = "18.0.0"15jsonrpc-pubsub = "18.0.0"16# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }18pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }19sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }19sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }20sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }20sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }21sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }21sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }22sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }22sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }23sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }23sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }24sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }24sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }25sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }25sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }26sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }26sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }27sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }27sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }28sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }28sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }29sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }29sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }30sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }30sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }31sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }31sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }32sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }32sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }33sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }33sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }34sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }34sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }35sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }35sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }36sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }36sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }37sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }37sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }38sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }38sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }39sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }39sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }40sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }40sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }41substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }41substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }42tokio = { version = "0.2.25", features = ["macros", "sync"] }42tokio = { version = "0.2.25", features = ["macros", "sync"] }434344pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }44pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }45fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }45fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }46fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }46fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }47fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }47fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }48fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }48fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }49fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }49fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }505051pallet-unique = { path = "../../pallets/unique" }51pallet-unique = { path = "../../pallets/unique" }52uc-rpc = { path = "../../client/rpc" }52uc-rpc = { path = "../../client/rpc" }node/rpc/src/lib.rsdiffbeforeafterboth1use sp_runtime::traits::BlakeTwo256;1use unique_runtime::{Hash, AccountId, CrossAccountId, Index, opaque::Block, BlockNumber, Balance};2use unique_runtime::{Hash, AccountId, CrossAccountId, Index, opaque::Block, BlockNumber, Balance};2use fc_rpc::{3use fc_rpc::{3 EthBlockDataCache, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override, StorageOverride,4 EthBlockDataCache, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override,5 StorageOverride, SchemaV2Override, SchemaV3Override,4};6};5use fc_rpc_core::types::FilterPool;7use fc_rpc_core::types::{FilterPool, FeeHistoryCache};6use jsonrpc_pubsub::manager::SubscriptionManager;8use jsonrpc_pubsub::manager::SubscriptionManager;7use pallet_ethereum::EthereumStorageSchema;9use pallet_ethereum::EthereumStorageSchema;8use sc_client_api::{10use sc_client_api::{9 backend::{AuxStore, StorageProvider},11 backend::{AuxStore, StorageProvider},10 client::BlockchainEvents,12 client::BlockchainEvents,13 StateBackend, Backend,11};14};12use sc_finality_grandpa::{15use sc_finality_grandpa::{13 FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,16 FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,19use sp_api::ProvideRuntimeApi;22use sp_api::ProvideRuntimeApi;20use sp_block_builder::BlockBuilder;23use sp_block_builder::BlockBuilder;21use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};24use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};22use sp_consensus::SelectChain;23use sc_service::TransactionPool;25use sc_service::TransactionPool;24use std::{collections::BTreeMap, marker::PhantomData, sync::Arc};26use std::{collections::BTreeMap, marker::PhantomData, sync::Arc};252764 pub backend: Arc<fc_db::Backend<Block>>,66 pub backend: Arc<fc_db::Backend<Block>>,65 /// Maximum number of logs in a query.67 /// Maximum number of logs in a query.66 pub max_past_logs: u32,68 pub max_past_logs: u32,69 /// Maximum fee history cache size.70 pub fee_history_limit: u64,71 /// Fee history cache.72 pub fee_history_cache: FeeHistoryCache,73 /// Cache for Ethereum block data.74 pub block_data_cache: Arc<EthBlockDataCache<Block>>,67}75}687669struct AccountCodes<C, B> {77struct AccountCodes<C, B> {100 }108 }101}109}110111pub fn overrides_handle<C, BE>(client: Arc<C>) -> Arc<OverrideHandle<Block>>112where113 C: ProvideRuntimeApi<Block> + StorageProvider<Block, BE> + AuxStore,114 C: HeaderBackend<Block> + HeaderMetadata<Block, Error = BlockChainError>,115 C: Send + Sync + 'static,116 C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,117 C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,118 BE: Backend<Block> + 'static,119 BE::State: StateBackend<BlakeTwo256>,120{121 let mut overrides_map = BTreeMap::new();122 overrides_map.insert(123 EthereumStorageSchema::V1,124 Box::new(SchemaV1Override::new_with_code_provider(125 client.clone(),126 Arc::new(AccountCodes::<C, Block>::new(client.clone())),127 )) as Box<dyn StorageOverride<_> + Send + Sync>,128 );129 overrides_map.insert(130 EthereumStorageSchema::V2,131 Box::new(SchemaV2Override::new(client.clone()))132 as Box<dyn StorageOverride<_> + Send + Sync>,133 );134 overrides_map.insert(135 EthereumStorageSchema::V3,136 Box::new(SchemaV3Override::new(client.clone()))137 as Box<dyn StorageOverride<_> + Send + Sync>,138 );139140 Arc::new(OverrideHandle {141 schemas: overrides_map,142 fallback: Box::new(RuntimeApiStorageOverride::new(client)),143 })144}102145103/// Instantiate all Full RPC extensions.146/// Instantiate all Full RPC extensions.104pub fn create_full<C, P, SC, CA, A, B>(147pub fn create_full<C, P, SC, CA, A, B>(118 C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,161 C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,119 B: sc_client_api::Backend<Block> + Send + Sync + 'static,162 B: sc_client_api::Backend<Block> + Send + Sync + 'static,120 B::State: sc_client_api::backend::StateBackend<sp_runtime::traits::HashFor<Block>>,163 B::State: sc_client_api::backend::StateBackend<sp_runtime::traits::HashFor<Block>>,121 SC: SelectChain<Block> + 'static,122 P: TransactionPool<Block = Block> + 'static,164 P: TransactionPool<Block = Block> + 'static,123 CA: ChainApi<Block = Block> + 'static,165 CA: ChainApi<Block = Block> + 'static,124{166{138 pool,180 pool,139 graph,181 graph,140 select_chain: _,182 select_chain: _,183 fee_history_limit,184 fee_history_cache,185 block_data_cache,141 enable_dev_signer,186 enable_dev_signer,142 is_authority,187 is_authority,143 network,188 network,163 if enable_dev_signer {208 if enable_dev_signer {164 signers.push(Box::new(EthDevSigner::new()) as Box<dyn EthSigner>);209 signers.push(Box::new(EthDevSigner::new()) as Box<dyn EthSigner>);165 }210 }166 let mut overrides_map = BTreeMap::new();167 overrides_map.insert(168 EthereumStorageSchema::V1,169 Box::new(SchemaV1Override::new_with_code_provider(170 client.clone(),171 Arc::new(AccountCodes::<C, Block>::new(client.clone())),172 )) as Box<dyn StorageOverride<_> + Send + Sync>,173 );174211175 let overrides = Arc::new(OverrideHandle {212 let overrides = overrides_handle(client.clone());176 schemas: overrides_map,177 fallback: Box::new(RuntimeApiStorageOverride::new(client.clone())),178 });179180 let block_data_cache = Arc::new(EthBlockDataCache::new(50, 50));181213182 io.extend_with(EthApiServer::to_delegate(EthApi::new(214 io.extend_with(EthApiServer::to_delegate(EthApi::new(183 client.clone(),215 client.clone(),191 is_authority,223 is_authority,192 max_past_logs,224 max_past_logs,193 block_data_cache.clone(),225 block_data_cache.clone(),226 fee_history_limit,227 fee_history_cache,194 )));228 )));195 io.extend_with(UniqueApi::to_delegate(Unique::new(client.clone())));229 io.extend_with(UniqueApi::to_delegate(Unique::new(client.clone())));196230200 backend,234 backend,201 filter_pool,235 filter_pool,202 500_usize, // max stored filters236 500_usize, // max stored filters203 overrides.clone(),204 max_past_logs,237 max_past_logs,205 block_data_cache,238 block_data_cache,206 )));239 )));pallets/common/Cargo.tomldiffbeforeafterboth10version = '2.0.0'10version = '2.0.0'111112[dependencies]12[dependencies]13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }18up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }20pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }20pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }21evm-coder = { default-features = false, path = '../../crates/evm-coder' }21evm-coder = { default-features = false, path = '../../crates/evm-coder' }22pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }22pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }23serde = { version = "1.0.130", default-features = false }23serde = { version = "1.0.130", default-features = false }24scale-info = { version = "1.0.0", default-features = false, features = [24scale-info = { version = "1.0.0", default-features = false, features = [25 "derive",25 "derive",pallets/common/src/account.rsdiffbeforeafterboth1use crate::Config;1use crate::Config;2use codec::{Encode, EncodeLike, Decode};2use codec::{Encode, EncodeLike, Decode, MaxEncodedLen};3use sp_core::H160;3use sp_core::H160;4use scale_info::{Type, TypeInfo};4use scale_info::{Type, TypeInfo};5use core::cmp::Ordering;5use core::cmp::Ordering;10pub use up_evm_mapping::EvmBackwardsAddressMapping;10pub use up_evm_mapping::EvmBackwardsAddressMapping;111112pub trait CrossAccountId<AccountId>:12pub trait CrossAccountId<AccountId>:13 Encode + EncodeLike + Decode + TypeInfo + Clone + PartialEq + Ord + core::fmt::Debug + Default13 Encode + EncodeLike + Decode + TypeInfo + MaxEncodedLen + Clone + PartialEq + Ord + core::fmt::Debug14// +14// +15// Serialize + Deserialize<'static>15// Serialize + Deserialize<'static>16{16{23 fn conv_eq(&self, other: &Self) -> bool;23 fn conv_eq(&self, other: &Self) -> bool;24}24}252526#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo)]26#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo, MaxEncodedLen)]27#[serde(rename_all = "camelCase")]27#[serde(rename_all = "camelCase")]28enum BasicCrossAccountIdRepr<AccountId> {28enum BasicCrossAccountIdRepr<AccountId> {29 Substrate(AccountId),29 Substrate(AccountId),38 ethereum: H160,38 ethereum: H160,39}39}4041impl<T: Config> MaxEncodedLen for BasicCrossAccountId<T> {42 fn max_encoded_len() -> usize {43 <BasicCrossAccountIdRepr<T::AccountId>>::max_encoded_len()44 }45}404641impl<T: Config> TypeInfo for BasicCrossAccountId<T> {47impl<T: Config> TypeInfo for BasicCrossAccountId<T> {42 type Identity = Self;48 type Identity = Self;46 }52 }47}53}4849impl<T: Config> Default for BasicCrossAccountId<T> {50 fn default() -> Self {51 Self::from_sub(T::AccountId::default())52 }53}545455impl<T: Config> core::fmt::Debug for BasicCrossAccountId<T> {55impl<T: Config> core::fmt::Debug for BasicCrossAccountId<T> {56 fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {56 fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {pallets/common/src/lib.rsdiffbeforeafterboth8 dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},8 dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},9 ensure, fail,9 ensure, fail,10 traits::{Imbalance, Get, Currency},10 traits::{Imbalance, Get, Currency},11 BoundedVec,11};12};12use pallet_evm::GasWeightMapping;13use pallet_evm::GasWeightMapping;13use up_data_structs::{14use up_data_structs::{14 COLLECTION_NUMBER_LIMIT, Collection, CollectionId, CreateItemData, ExistenceRequirement,15 COLLECTION_NUMBER_LIMIT, Collection, CollectionId, CreateItemData, ExistenceRequirement,15 MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_COLLECTION_NAME_LENGTH, MAX_TOKEN_PREFIX_LENGTH,16 MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo,16 COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo, TokenId, Weight,17 TokenId, Weight, WithdrawReasons, CollectionStats, MAX_TOKEN_OWNERSHIP, CollectionMode,17 WithdrawReasons, CollectionStats,18 NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,19 REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits,20 CustomDataLimit, CreateCollectionData, SponsorshipState,18};21};19pub use pallet::*;22pub use pallet::*;20use sp_core::H160;23use sp_core::H160;53 pub fn try_get(id: CollectionId) -> Result<Self, DispatchError> {56 pub fn try_get(id: CollectionId) -> Result<Self, DispatchError> {54 Ok(Self::new(id).ok_or(<Error<T>>::CollectionNotFound)?)57 Ok(Self::new(id).ok_or(<Error<T>>::CollectionNotFound)?)55 }58 }56 pub fn log(&self, log: impl evm_coder::ToLog) {59 pub fn log_mirrored(&self, log: impl evm_coder::ToLog) {60 self.recorder.log_mirrored(log)61 }62 pub fn log_direct(&self, log: impl evm_coder::ToLog) {57 self.recorder.log(log)63 self.recorder.log_direct(log)58 }64 }59 pub fn consume_store_reads(&self, reads: u64) -> evm_coder::execution::Result<()> {65 pub fn consume_store_reads(&self, reads: u64) -> evm_coder::execution::Result<()> {60 self.recorder66 self.recorder285 TokenVariableDataLimitExceeded,291 TokenVariableDataLimitExceeded,286 /// Exceeded max admin count292 /// Exceeded max admin count287 CollectionAdminCountExceeded,293 CollectionAdminCountExceeded,294 /// Collection limit bounds per collection exceeded295 CollectionLimitBoundsExceeded,296 /// Tried to enable permissions which are only permitted to be disabled297 OwnerPermissionsCantBeReverted,288298289 /// Collection settings not allowing items transferring299 /// Collection settings not allowing items transferring290 TransferNotAllowed,300 TransferNotAllowed,300 /// Item balance not enough.310 /// Item balance not enough.301 TokenValueTooLow,311 TokenValueTooLow,302 /// Requested value more than approved.312 /// Requested value more than approved.303 TokenValueNotEnough,313 ApprovedValueTooLow,304 /// Tried to approve more than owned314 /// Tried to approve more than owned305 CantApproveMoreThanOwned,315 CantApproveMoreThanOwned,306316395}405}396406397impl<T: Config> Pallet<T> {407impl<T: Config> Pallet<T> {398 pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {408 pub fn init_collection(409 owner: T::AccountId,410 data: CreateCollectionData<T::AccountId>,411 ) -> Result<CollectionId, DispatchError> {399 {412 {400 ensure!(401 data.name.len() <= MAX_COLLECTION_NAME_LENGTH,402 Error::<T>::CollectionNameLimitExceeded403 );404 ensure!(405 data.description.len() <= MAX_COLLECTION_DESCRIPTION_LENGTH,406 Error::<T>::CollectionDescriptionLimitExceeded407 );408 ensure!(413 ensure!(409 data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH,414 data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH as usize,410 Error::<T>::CollectionTokenPrefixLimitExceeded415 Error::<T>::CollectionTokenPrefixLimitExceeded411 );416 );412 }417 }426431427 // =========432 // =========433434 let collection = Collection {435 owner: owner.clone(),436 name: data.name,437 mode: data.mode.clone(),438 mint_mode: false,439 access: data.access.unwrap_or_default(),440 description: data.description,441 token_prefix: data.token_prefix,442 offchain_schema: data.offchain_schema,443 schema_version: data.schema_version.unwrap_or_default(),444 sponsorship: data445 .pending_sponsor446 .map(SponsorshipState::Unconfirmed)447 .unwrap_or_default(),448 variable_on_chain_schema: data.variable_on_chain_schema,449 const_on_chain_schema: data.const_on_chain_schema,450 limits: data451 .limits452 .map(|limits| Self::clamp_limits(data.mode.clone(), &Default::default(), limits))453 .unwrap_or_else(|| Ok(CollectionLimits::default()))?,454 meta_update_permission: data.meta_update_permission.unwrap_or_default(),455 };428456429 // Take a (non-refundable) deposit of collection creation457 // Take a (non-refundable) deposit of collection creation430 {458 {437 ),465 ),438 );466 );439 <T as Config>::Currency::settle(467 <T as Config>::Currency::settle(440 &data.owner,468 &owner,441 imbalance,469 imbalance,442 WithdrawReasons::TRANSFER,470 WithdrawReasons::TRANSFER,443 ExistenceRequirement::KeepAlive,471 ExistenceRequirement::KeepAlive,449 <Pallet<T>>::deposit_event(Event::CollectionCreated(477 <Pallet<T>>::deposit_event(Event::CollectionCreated(id, data.mode.id(), owner.clone()));450 id,451 data.mode.id(),452 data.owner.clone(),453 ));454 <CollectionById<T>>::insert(id, data);478 <CollectionById<T>>::insert(id, collection);455 Ok(id)479 Ok(id)456 }480 }457481536 Ok(())560 Ok(())537 }561 }562563 pub fn clamp_limits(564 mode: CollectionMode,565 old_limit: &CollectionLimits,566 mut new_limit: CollectionLimits,567 ) -> Result<CollectionLimits, DispatchError> {568 macro_rules! limit_default {569 ($old:ident, $new:ident, $($field:ident $(($arg:expr))? => $check:expr),* $(,)?) => {{570 $(571 if let Some($new) = $new.$field {572 let $old = $old.$field($($arg)?);573 let _ = $new;574 let _ = $old;575 $check576 } else {577 $new.$field = $old.$field578 }579 )*580 }};581 }582583 limit_default!(old_limit, new_limit,584 account_token_ownership_limit => ensure!(585 new_limit <= MAX_TOKEN_OWNERSHIP,586 <Error<T>>::CollectionLimitBoundsExceeded,587 ),588 sponsor_transfer_timeout(match mode {589 CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,590 CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,591 CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,592 }) => ensure!(593 new_limit <= MAX_SPONSOR_TIMEOUT,594 <Error<T>>::CollectionLimitBoundsExceeded,595 ),596 sponsored_data_size => ensure!(597 new_limit <= CUSTOM_DATA_LIMIT,598 <Error<T>>::CollectionLimitBoundsExceeded,599 ),600 token_limit => ensure!(601 old_limit >= new_limit && new_limit > 0,602 <Error<T>>::CollectionTokenLimitExceeded603 ),604 owner_can_transfer => ensure!(605 old_limit || !new_limit,606 <Error<T>>::OwnerPermissionsCantBeReverted,607 ),608 owner_can_destroy => ensure!(609 old_limit || !new_limit,610 <Error<T>>::OwnerPermissionsCantBeReverted,611 ),612 sponsored_data_rate_limit => {},613 transfers_enabled => {},614 );615 Ok(new_limit)616 }538}617}539618540#[macro_export]619#[macro_export]610 &self,689 &self,611 sender: T::CrossAccountId,690 sender: T::CrossAccountId,612 token: TokenId,691 token: TokenId,613 data: Vec<u8>,692 data: BoundedVec<u8, CustomDataLimit>,614 ) -> DispatchResultWithPostInfo;693 ) -> DispatchResultWithPostInfo;615694616 fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId>;695 fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId>;617 fn token_exists(&self, token: TokenId) -> bool;696 fn token_exists(&self, token: TokenId) -> bool;618 fn last_token_id(&self) -> TokenId;697 fn last_token_id(&self) -> TokenId;619698620 fn token_owner(&self, token: TokenId) -> T::CrossAccountId;699 fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId>;621 fn const_metadata(&self, token: TokenId) -> Vec<u8>;700 fn const_metadata(&self, token: TokenId) -> Vec<u8>;622 fn variable_metadata(&self, token: TokenId) -> Vec<u8>;701 fn variable_metadata(&self, token: TokenId) -> Vec<u8>;623702pallets/contract-helpers/Cargo.tomldiffbeforeafterbothno changes
pallets/contract-helpers/src/lib.rsdiffbeforeafterbothno changes
pallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth7scale-info = { version = "1.0.0", default-features = false, features = [7scale-info = { version = "1.0.0", default-features = false, features = [8 "derive",8 "derive",9] }9] }10sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }10sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }11sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }11sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }12ethereum = { version = "0.10.0", default-features = false }12ethereum = { version = "0.11.1", default-features = false }13evm-coder = { default-features = false, path = "../../crates/evm-coder" }13evm-coder = { default-features = false, path = "../../crates/evm-coder" }14pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }14pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }15pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }15pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }16frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }18frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }191920[dependencies.codec]20[dependencies.codec]21default-features = false21default-features = falsepallets/evm-coder-substrate/src/lib.rsdiffbeforeafterboth21 use frame_support::{ensure};21 use frame_support::{ensure};22 use pallet_evm::{22 use pallet_evm::{23 ExitError, ExitRevert, ExitSucceed, GasWeightMapping, PrecompileFailure, PrecompileOutput,23 ExitError, ExitRevert, ExitSucceed, GasWeightMapping, PrecompileFailure, PrecompileOutput,24 PrecompileResult,24 PrecompileResult, runner::stack::MaybeMirroredLog,25 };25 };26 use frame_system::ensure_signed;26 use frame_system::ensure_signed;27 pub use frame_support::dispatch::DispatchResult;27 pub use frame_support::dispatch::DispatchResult;28 use pallet_ethereum::EthereumTransactionSender;28 use pallet_ethereum::EthereumTransactionSender;29 use sp_std::cell::RefCell;29 use sp_std::cell::RefCell;30 use sp_std::vec::Vec;30 use sp_std::vec::Vec;31 use sp_core::{H160, H256};31 use sp_core::{H160, H256};32 use ethereum::Log;32 use ethereum::TransactionV2;33 use frame_support::{pallet_prelude::*, traits::PalletInfo};33 use frame_support::{pallet_prelude::*, traits::PalletInfo};34 use frame_system::pallet_prelude::*;34 use frame_system::pallet_prelude::*;353566 pub const G_SLOAD_WORD: u64 = 800;66 pub const G_SLOAD_WORD: u64 = 800;67 pub const G_SSTORE_WORD: u64 = 20000;67 pub const G_SSTORE_WORD: u64 = 20000;686869 pub fn generate_transaction() -> ethereum::TransactionV0 {69 pub fn generate_transaction() -> TransactionV2 {70 use ethereum::{TransactionV0, TransactionAction, TransactionSignature};70 use ethereum::{TransactionV0, TransactionAction, TransactionSignature};71 TransactionV0 {71 TransactionV2::Legacy(TransactionV0 {72 nonce: 0.into(),72 nonce: 0.into(),73 gas_price: 0.into(),73 gas_price: 0.into(),74 gas_limit: 0.into(),74 gas_limit: 0.into(),78 input: Vec::from([0, 0, 0, 0]),78 input: Vec::from([0, 0, 0, 0]),79 // if v is not 27 - then we need to pass some other validity checks79 // if v is not 27 - then we need to pass some other validity checks80 signature: TransactionSignature::new(27, H256([0x88; 32]), H256([0x88; 32])).unwrap(),80 signature: TransactionSignature::new(27, H256([0x88; 32]), H256([0x88; 32])).unwrap(),81 }81 })82 }82 }838384 #[derive(Default)]84 #[derive(Default)]85 pub struct SubstrateRecorder<T: Config> {85 pub struct SubstrateRecorder<T: Config> {86 contract: H160,86 contract: H160,87 logs: RefCell<Vec<Log>>,87 logs: RefCell<Vec<MaybeMirroredLog>>,88 initial_gas: u64,88 initial_gas: u64,89 gas_limit: RefCell<u64>,89 gas_limit: RefCell<u64>,90 _phantom: PhantomData<*const T>,90 _phantom: PhantomData<*const T>,104 pub fn is_empty(&self) -> bool {104 pub fn is_empty(&self) -> bool {105 self.logs.borrow().is_empty()105 self.logs.borrow().is_empty()106 }106 }107 // TODO: Replace with real storage in pallet-ethereum,107 // Logs emitted with log_direct appear as substrate evm.Log event108 // same way as it is done with frame_system's Events109 /// Doesn't consumes any gas, should be used after consume_log_sub110 pub fn log(&self, log: impl ToLog) {108 pub fn log_direct(&self, log: impl ToLog) {109 self.logs110 .borrow_mut()111 .push(MaybeMirroredLog::direct(log.to_log(self.contract)))112 }113 /// If log already has substrate equivalent - then we don't need to emit evm.Log114 pub fn log_mirrored(&self, log: impl ToLog) {111 self.logs.borrow_mut().push(log.to_log(self.contract));115 self.logs116 .borrow_mut()117 .push(MaybeMirroredLog::mirrored(log.to_log(self.contract)))112 }118 }113 pub fn retrieve_logs(self) -> Vec<Log> {119 pub fn retrieve_logs(self) -> Vec<MaybeMirroredLog> {114 self.logs.into_inner()120 self.logs.into_inner()115 }121 }116122165 Ok(Some(v)) => Ok(PrecompileOutput {171 Ok(Some(v)) => Ok(PrecompileOutput {166 exit_status: ExitSucceed::Returned,172 exit_status: ExitSucceed::Returned,167 cost: self.initial_gas - self.gas_left(),173 cost: self.initial_gas - self.gas_left(),174 // TODO: preserve mirroring status168 logs: self.retrieve_logs(),175 logs: self.retrieve_logs().into_iter().map(|l| l.log).collect(),169 output: v.finish(),176 output: v.finish(),170 }),177 }),171 Ok(None) => return None,178 Ok(None) => return None,pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth7scale-info = { version = "1.0.0", default-features = false, features = [7scale-info = { version = "1.0.0", default-features = false, features = [8 "derive",8 "derive",9] }9] }10frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }10frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }11frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }11frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }12sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }12sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }13sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15evm-coder = { default-features = false, path = '../../crates/evm-coder' }15evm-coder = { default-features = false, path = '../../crates/evm-coder' }16pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }16pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }17pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }17pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }18up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }18up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }19log = "0.4.14"19log = "0.4.14"202021[dependencies.codec]21[dependencies.codec]pallets/evm-contract-helpers/exp.rsdiffbeforeafterbothno changes
pallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth4use pallet_evm::{ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure};4use pallet_evm::{ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure};5use sp_core::H160;5use sp_core::H160;6use crate::{6use crate::{7 AllowlistEnabled, Config, Owner, Pallet, SelfSponsoring, SponsorBasket, SponsoringRateLimit,7 AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringRateLimit, SponsoringModeT,8};8};9use frame_support::traits::Get;9use frame_support::traits::Get;10use up_sponsorship::SponsorshipHandler;10use up_sponsorship::SponsorshipHandler;28 }28 }292930 fn sponsoring_enabled(&self, contract_address: address) -> Result<bool> {30 fn sponsoring_enabled(&self, contract_address: address) -> Result<bool> {31 Ok(<SelfSponsoring<T>>::get(contract_address))31 Ok(<Pallet<T>>::sponsoring_mode(contract_address) != SponsoringModeT::Disabled)32 }32 }333334 /// Deprecated34 fn toggle_sponsoring(35 fn toggle_sponsoring(35 &mut self,36 &mut self,36 caller: caller,37 caller: caller,42 Ok(())43 Ok(())43 }44 }4546 fn set_sponsoring_mode(47 &mut self,48 caller: caller,49 contract_address: address,50 mode: uint8,51 ) -> Result<void> {52 <Pallet<T>>::ensure_owner(contract_address, caller)?;53 let mode = SponsoringModeT::from_eth(mode).ok_or("unknown mode")?;54 <Pallet<T>>::set_sponsoring_mode(contract_address, mode);55 Ok(())56 }5758 fn sponsoring_mode(&self, contract_address: address) -> Result<uint8> {59 Ok(<Pallet<T>>::sponsoring_mode(contract_address).to_eth())60 }446145 fn set_sponsoring_rate_limit(62 fn set_sponsoring_rate_limit(46 &mut self,63 &mut self,62 fn allowed(&self, contract_address: address, user: address) -> Result<bool> {79 fn allowed(&self, contract_address: address, user: address) -> Result<bool> {63 self.0.consume_sload()?;80 self.0.consume_sload()?;64 Ok(<Pallet<T>>::allowed(contract_address, user)81 Ok(<Pallet<T>>::allowed(contract_address, user))65 || !<AllowlistEnabled<T>>::get(contract_address))66 }82 }678368 fn allowlist_enabled(&self, contract_address: address) -> Result<bool> {84 fn allowlist_enabled(&self, contract_address: address) -> Result<bool> {147pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);163pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);148impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for HelpersContractSponsoring<T> {164impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for HelpersContractSponsoring<T> {149 fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {165 fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {150 if !<SelfSponsoring<T>>::get(&call.0) {166 let mode = <Pallet<T>>::sponsoring_mode(call.0);151 return None;167 if mode == SponsoringModeT::Disabled {152 }168 return None;169 }153 if !<Pallet<T>>::allowed(call.0, *who) {170 if mode == SponsoringModeT::Allowlisted && !<Pallet<T>>::allowed(call.0, *who) {154 return None;171 return None;155 }172 }156 let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;173 let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth1#![cfg_attr(not(feature = "std"), no_std)]1#![cfg_attr(not(feature = "std"), no_std)]223use codec::{Decode, Encode, MaxEncodedLen};3pub use pallet::*;4pub use pallet::*;4pub use eth::*;5pub use eth::*;6use scale_info::TypeInfo;5pub mod eth;7pub mod eth;687#[frame_support::pallet]9#[frame_support::pallet]8pub mod pallet {10pub mod pallet {11 pub use super::*;9 use evm_coder::execution::Result;12 use evm_coder::execution::Result;10 use frame_support::pallet_prelude::*;13 use frame_support::pallet_prelude::*;11 use sp_core::H160;14 use sp_core::H160;31 StorageMap<Hasher = Twox128, Key = H160, Value = H160, QueryKind = ValueQuery>;34 StorageMap<Hasher = Twox128, Key = H160, Value = H160, QueryKind = ValueQuery>;323533 #[pallet::storage]36 #[pallet::storage]37 #[deprecated]34 pub(super) type SelfSponsoring<T: Config> =38 pub(super) type SelfSponsoring<T: Config> =35 StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;39 StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;4041 #[pallet::storage]42 pub(super) type SponsoringMode<T: Config> =43 StorageMap<Hasher = Twox128, Key = H160, Value = SponsoringModeT, QueryKind = OptionQuery>;364437 #[pallet::storage]45 #[pallet::storage]38 pub(super) type SponsoringRateLimit<T: Config> = StorageMap<46 pub(super) type SponsoringRateLimit<T: Config> = StorageMap<68 >;76 >;697770 impl<T: Config> Pallet<T> {78 impl<T: Config> Pallet<T> {79 pub fn sponsoring_mode(contract: H160) -> SponsoringModeT {80 <SponsoringMode<T>>::get(contract)81 .or_else(|| {82 <SelfSponsoring<T>>::get(contract).then(|| SponsoringModeT::Allowlisted)83 })84 .unwrap_or_default()85 }86 pub fn set_sponsoring_mode(contract: H160, mode: SponsoringModeT) {87 if mode == SponsoringModeT::Disabled {88 <SponsoringMode<T>>::remove(contract);89 } else {90 <SponsoringMode<T>>::insert(contract, mode);91 }92 <SelfSponsoring<T>>::remove(contract)93 }9471 pub fn toggle_sponsoring(contract: H160, enabled: bool) {95 pub fn toggle_sponsoring(contract: H160, enabled: bool) {72 <SelfSponsoring<T>>::insert(contract, enabled);96 Self::set_sponsoring_mode(97 contract,98 if enabled {99 SponsoringModeT::Allowlisted100 } else {101 SponsoringModeT::Disabled102 },103 )73 }104 }7410595 }126 }96}127}128129#[derive(Encode, Decode, PartialEq, TypeInfo, MaxEncodedLen)]130pub enum SponsoringModeT {131 Disabled,132 Allowlisted,133 Generous,134}135136impl SponsoringModeT {137 fn from_eth(v: u8) -> Option<Self> {138 Some(match v {139 0 => Self::Disabled,140 1 => Self::Allowlisted,141 2 => Self::Generous,142 _ => return None,143 })144 }145 fn to_eth(self) -> u8 {146 match self {147 SponsoringModeT::Disabled => 0,148 SponsoringModeT::Allowlisted => 1,149 SponsoringModeT::Generous => 2,150 }151 }152}153154impl Default for SponsoringModeT {155 fn default() -> Self {156 Self::Disabled157 }158}97159pallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterbothbinary blob — no preview
pallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth21 }21 }22}22}232324// Selector: 31acb1fe24// Selector: 7b4866f925contract ContractHelpers is Dummy, ERC165 {25contract ContractHelpers is Dummy, ERC165 {26 // Selector: contractOwner(address) 5152b14c26 // Selector: contractOwner(address) 5152b14c27 function contractOwner(address contractAddress)27 function contractOwner(address contractAddress)47 return false;47 return false;48 }48 }494950 // Deprecated51 //50 // Selector: toggleSponsoring(address,bool) fcac6d8652 // Selector: toggleSponsoring(address,bool) fcac6d8651 function toggleSponsoring(address contractAddress, bool enabled) public {53 function toggleSponsoring(address contractAddress, bool enabled) public {52 require(false, stub_error);54 require(false, stub_error);55 dummy = 0;57 dummy = 0;56 }58 }5960 // Selector: setSponsoringMode(address,uint8) fde8a56061 function setSponsoringMode(address contractAddress, uint8 mode) public {62 require(false, stub_error);63 contractAddress;64 mode;65 dummy = 0;66 }6768 // Selector: sponsoringMode(address) b70c726769 function sponsoringMode(address contractAddress)70 public71 view72 returns (uint8)73 {74 require(false, stub_error);75 contractAddress;76 dummy;77 return 0;78 }577958 // Selector: setSponsoringRateLimit(address,uint32) 77b6c90880 // Selector: setSponsoringRateLimit(address,uint32) 77b6c90859 function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)81 function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)pallets/evm-migration/Cargo.tomldiffbeforeafterboth7scale-info = { version = "1.0.0", default-features = false, features = [7scale-info = { version = "1.0.0", default-features = false, features = [8 "derive",8 "derive",9] }9] }10frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }10frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }11frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }11frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }12frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }12frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }13sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }16sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }17pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }18fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }18fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }191920[dependencies.codec]20[dependencies.codec]21default-features = false21default-features = falsepallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth7scale-info = { version = "1.0.0", default-features = false, features = [7scale-info = { version = "1.0.0", default-features = false, features = [8 "derive",8 "derive",9] }9] }10frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }10frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }11frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }11frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }12sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }12sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }13sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }16pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }16pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }17fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }17fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }18pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }18pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }19up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }19up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }20up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }20up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }212122[dependencies.codec]22[dependencies.codec]pallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth101 )101 )102 }102 }103104 fn pay_priority_fee(tip: U256) {105 <EVMCurrencyAdapter<<T as Config>::Currency, ()> as pallet_evm::OnChargeEVMTransaction<T>>::pay_priority_fee(tip)106 }103}107}104108105/// Implements sponsoring for evm calls performed from pallet-evm (via api.tx.ethereum.transact/api.tx.evm.call)109/// Implements sponsoring for evm calls performed from pallet-evm (via api.tx.ethereum.transact/api.tx.evm.call)pallets/fungible/Cargo.tomldiffbeforeafterboth10version = '2.0.0'10version = '2.0.0'111112[dependencies]12[dependencies]13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18pallet-common = { default-features = false, path = '../common' }18pallet-common = { default-features = false, path = '../common' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }20evm-coder = { default-features = false, path = '../../crates/evm-coder' }20evm-coder = { default-features = false, path = '../../crates/evm-coder' }21pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }21pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }22ethereum = { version = "0.10.0", default-features = false }22ethereum = { version = "0.11.1", default-features = false }23frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }23frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }24scale-info = { version = "1.0.0", default-features = false, features = [24scale-info = { version = "1.0.0", default-features = false, features = [25 "derive",25 "derive",26] }26] }pallets/fungible/src/common.rsdiffbeforeafterboth1use core::marker::PhantomData;1use core::marker::PhantomData;223use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};3use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};4use up_data_structs::TokenId;4use up_data_structs::TokenId;5use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};5use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};6use sp_runtime::ArithmeticError;6use sp_runtime::ArithmeticError;7use sp_std::{vec::Vec, vec};7use sp_std::{vec::Vec, vec};8use up_data_structs::CustomDataLimit;899use crate::{10use crate::{10 Allowance, Balance, Config, Error, FungibleHandle, Pallet, SelfWeightOf, weights::WeightInfo,11 Allowance, Balance, Config, Error, FungibleHandle, Pallet, SelfWeightOf, weights::WeightInfo,180 &self,181 &self,181 _sender: T::CrossAccountId,182 _sender: T::CrossAccountId,182 _token: TokenId,183 _token: TokenId,183 _data: Vec<u8>,184 _data: BoundedVec<u8, CustomDataLimit>,184 ) -> DispatchResultWithPostInfo {185 ) -> DispatchResultWithPostInfo {185 fail!(<Error<T>>::FungibleItemsDontHaveData)186 fail!(<Error<T>>::FungibleItemsDontHaveData)186 }187 }201 TokenId::default()202 TokenId::default()202 }203 }203204204 fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {205 fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {205 T::CrossAccountId::default()206 None206 }207 }207 fn const_metadata(&self, _token: TokenId) -> Vec<u8> {208 fn const_metadata(&self, _token: TokenId) -> Vec<u8> {208 Vec::new()209 Vec::new()209 }210 }pallets/fungible/src/lib.rsdiffbeforeafterboth223use core::ops::Deref;3use core::ops::Deref;4use frame_support::{ensure};4use frame_support::{ensure};5use up_data_structs::{AccessMode, Collection, CollectionId, TokenId};5use up_data_structs::{AccessMode, CollectionId, TokenId, CreateCollectionData};6use pallet_common::{6use pallet_common::{7 Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,7 Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,8};8};100}100}101101102impl<T: Config> Pallet<T> {102impl<T: Config> Pallet<T> {103 pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {103 pub fn init_collection(104 owner: T::AccountId,105 data: CreateCollectionData<T::AccountId>,106 ) -> Result<CollectionId, DispatchError> {104 <PalletCommon<T>>::init_collection(data)107 <PalletCommon<T>>::init_collection(owner, data)105 }108 }106 pub fn destroy_collection(109 pub fn destroy_collection(107 collection: FungibleHandle<T>,110 collection: FungibleHandle<T>,145 }148 }146 <TotalSupply<T>>::insert(collection.id, total_supply);149 <TotalSupply<T>>::insert(collection.id, total_supply);147150148 collection.log(ERC20Events::Transfer {151 collection.log_mirrored(ERC20Events::Transfer {149 from: *owner.as_eth(),152 from: *owner.as_eth(),150 to: H160::default(),153 to: H160::default(),151 value: amount.into(),154 value: amount.into(),201 <Balance<T>>::insert((collection.id, to), balance_to);204 <Balance<T>>::insert((collection.id, to), balance_to);202 }205 }203206204 collection.log(ERC20Events::Transfer {207 collection.log_mirrored(ERC20Events::Transfer {205 from: *from.as_eth(),208 from: *from.as_eth(),206 to: *to.as_eth(),209 to: *to.as_eth(),207 value: amount.into(),210 value: amount.into(),258 for (user, amount) in balances {261 for (user, amount) in balances {259 <Balance<T>>::insert((collection.id, &user), amount);262 <Balance<T>>::insert((collection.id, &user), amount);260263261 collection.log(ERC20Events::Transfer {264 collection.log_mirrored(ERC20Events::Transfer {262 from: H160::default(),265 from: H160::default(),263 to: *user.as_eth(),266 to: *user.as_eth(),264 value: amount.into(),267 value: amount.into(),286 <Allowance<T>>::insert((collection.id, owner, spender), amount);289 <Allowance<T>>::insert((collection.id, owner, spender), amount);287 }290 }288291289 collection.log(ERC20Events::Approval {292 collection.log_mirrored(ERC20Events::Approval {290 owner: *owner.as_eth(),293 owner: *owner.as_eth(),291 spender: *spender.as_eth(),294 spender: *spender.as_eth(),292 value: amount.into(),295 value: amount.into(),343 if allowance.is_none() {346 if allowance.is_none() {344 ensure!(347 ensure!(345 collection.ignores_allowance(spender),348 collection.ignores_allowance(spender),346 <CommonError<T>>::TokenValueNotEnough349 <CommonError<T>>::ApprovedValueTooLow347 );350 );348 }351 }349352374 if allowance.is_none() {377 if allowance.is_none() {375 ensure!(378 ensure!(376 collection.ignores_allowance(spender),379 collection.ignores_allowance(spender),377 <CommonError<T>>::TokenValueNotEnough380 <CommonError<T>>::ApprovedValueTooLow378 );381 );379 }382 }380383pallets/inflation/Cargo.tomldiffbeforeafterboth43default-features = false43default-features = false44optional = true44optional = true45git = 'https://github.com/paritytech/substrate.git'45git = 'https://github.com/paritytech/substrate.git'46branch = 'polkadot-v0.9.14'46branch = 'polkadot-v0.9.16'474748[dependencies.frame-support]48[dependencies.frame-support]49default-features = false49default-features = false50git = 'https://github.com/paritytech/substrate.git'50git = 'https://github.com/paritytech/substrate.git'51branch = 'polkadot-v0.9.14'51branch = 'polkadot-v0.9.16'525253[dependencies.frame-system]53[dependencies.frame-system]54default-features = false54default-features = false55git = 'https://github.com/paritytech/substrate.git'55git = 'https://github.com/paritytech/substrate.git'56branch = 'polkadot-v0.9.14'56branch = 'polkadot-v0.9.16'575758[dependencies.pallet-balances]58[dependencies.pallet-balances]59default-features = false59default-features = false60git = 'https://github.com/paritytech/substrate.git'60git = 'https://github.com/paritytech/substrate.git'61branch = 'polkadot-v0.9.14'61branch = 'polkadot-v0.9.16'626263[dependencies.pallet-timestamp]63[dependencies.pallet-timestamp]64default-features = false64default-features = false65git = 'https://github.com/paritytech/substrate.git'65git = 'https://github.com/paritytech/substrate.git'66branch = 'polkadot-v0.9.14'66branch = 'polkadot-v0.9.16'676768[dependencies.pallet-randomness-collective-flip]68[dependencies.pallet-randomness-collective-flip]69default-features = false69default-features = false70git = 'https://github.com/paritytech/substrate.git'70git = 'https://github.com/paritytech/substrate.git'71branch = 'polkadot-v0.9.14'71branch = 'polkadot-v0.9.16'727273[dependencies.sp-std]73[dependencies.sp-std]74default-features = false74default-features = false75git = 'https://github.com/paritytech/substrate.git'75git = 'https://github.com/paritytech/substrate.git'76branch = 'polkadot-v0.9.14'76branch = 'polkadot-v0.9.16'777778[dependencies.serde]78[dependencies.serde]79default-features = false79default-features = false83[dependencies.sp-runtime]83[dependencies.sp-runtime]84default-features = false84default-features = false85git = 'https://github.com/paritytech/substrate.git'85git = 'https://github.com/paritytech/substrate.git'86branch = 'polkadot-v0.9.14'86branch = 'polkadot-v0.9.16'878788[dependencies.sp-core]88[dependencies.sp-core]89default-features = false89default-features = false90git = 'https://github.com/paritytech/substrate.git'90git = 'https://github.com/paritytech/substrate.git'91branch = 'polkadot-v0.9.14'91branch = 'polkadot-v0.9.16'929293[dependencies.sp-io]93[dependencies.sp-io]94default-features = false94default-features = false95git = 'https://github.com/paritytech/substrate.git'95git = 'https://github.com/paritytech/substrate.git'96branch = 'polkadot-v0.9.14'96branch = 'polkadot-v0.9.16'979798[dependencies]98[dependencies]99scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }99scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }pallets/inflation/src/tests.rsdiffbeforeafterboth445use frame_support::{5use frame_support::{6 assert_ok, parameter_types,6 assert_ok, parameter_types,7 traits::{Currency, OnInitialize, Everything},7 traits::{Currency, OnInitialize, Everything, ConstU32},8};8};9use frame_system::RawOrigin;9use frame_system::RawOrigin;10use sp_core::H256;10use sp_core::H256;81 type SystemWeightInfo = ();81 type SystemWeightInfo = ();82 type SS58Prefix = SS58Prefix;82 type SS58Prefix = SS58Prefix;83 type OnSetCode = ();83 type OnSetCode = ();84 type MaxConsumers = ConstU32<16>;84}85}858686parameter_types! {87parameter_types! {pallets/nonfungible/Cargo.tomldiffbeforeafterboth10version = '2.0.0'10version = '2.0.0'111112[dependencies]12[dependencies]13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18pallet-common = { default-features = false, path = '../common' }18pallet-common = { default-features = false, path = '../common' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }20evm-coder = { default-features = false, path = '../../crates/evm-coder' }20evm-coder = { default-features = false, path = '../../crates/evm-coder' }21pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }21pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }22ethereum = { version = "0.10.0", default-features = false }22ethereum = { version = "0.11.1", default-features = false }23frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }23frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }24scale-info = { version = "1.0.0", default-features = false, features = [24scale-info = { version = "1.0.0", default-features = false, features = [25 "derive",25 "derive",26] }26] }pallets/nonfungible/src/common.rsdiffbeforeafterboth1use core::marker::PhantomData;1use core::marker::PhantomData;223use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};3use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};4use up_data_structs::TokenId;4use up_data_structs::{TokenId, CustomDataLimit};5use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};5use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};6use sp_runtime::DispatchError;6use sp_runtime::DispatchError;7use sp_std::vec::Vec;7use sp_std::vec::Vec;188 &self,188 &self,189 sender: T::CrossAccountId,189 sender: T::CrossAccountId,190 token: TokenId,190 token: TokenId,191 data: Vec<u8>,191 data: BoundedVec<u8, CustomDataLimit>,192 ) -> DispatchResultWithPostInfo {192 ) -> DispatchResultWithPostInfo {193 let len = data.len();193 let len = data.len();194 with_weight(194 with_weight(211 TokenId(<TokensMinted<T>>::get(self.id))211 TokenId(<TokensMinted<T>>::get(self.id))212 }212 }213213214 fn token_owner(&self, token: TokenId) -> T::CrossAccountId {214 fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId> {215 <TokenData<T>>::get((self.id, token))215 <TokenData<T>>::get((self.id, token)).map(|t| t.owner)216 .map(|t| t.owner)217 .unwrap_or_default()218 }216 }219 fn const_metadata(&self, token: TokenId) -> Vec<u8> {217 fn const_metadata(&self, token: TokenId) -> Vec<u8> {220 <TokenData<T>>::get((self.id, token))218 <TokenData<T>>::get((self.id, token))221 .map(|t| t.const_data)219 .map(|t| t.const_data)222 .unwrap_or_default()220 .unwrap_or_default()221 .into_inner()223 }222 }224 fn variable_metadata(&self, token: TokenId) -> Vec<u8> {223 fn variable_metadata(&self, token: TokenId) -> Vec<u8> {225 <TokenData<T>>::get((self.id, token))224 <TokenData<T>>::get((self.id, token))226 .map(|t| t.variable_data)225 .map(|t| t.variable_data)227 .unwrap_or_default()226 .unwrap_or_default()227 .into_inner()228 }228 }229229230 fn collection_tokens(&self) -> u32 {230 fn collection_tokens(&self) -> u32 {pallets/nonfungible/src/erc.rsdiffbeforeafterboth342 self,343 &caller,344 token,345 data.try_into()346 .map_err(|_| "metadata size exceeded limit")?,347 )342 .map_err(dispatch_to_evm::<T>)?;348 .map_err(dispatch_to_evm::<T>)?;343 Ok(())349 Ok(())350 Ok(<TokenData<T>>::get((self.id, token))356 Ok(<TokenData<T>>::get((self.id, token))351 .ok_or("token not found")?357 .ok_or("token not found")?352 .variable_data)358 .variable_data359 .into_inner())353 }360 }354361355 #[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]362 #[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]pallets/nonfungible/src/lib.rsdiffbeforeafterboth223use erc::ERC721Events;3use erc::ERC721Events;4use frame_support::{BoundedVec, ensure};4use frame_support::{BoundedVec, ensure};5use up_data_structs::{5use up_data_structs::{AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData};6 AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit, TokenId,7};8use pallet_common::{6use pallet_common::{9 Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,7 Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,14use sp_std::{vec::Vec, vec};12use sp_std::{vec::Vec, vec};15use core::ops::Deref;13use core::ops::Deref;16use sp_std::collections::btree_map::BTreeMap;14use sp_std::collections::btree_map::BTreeMap;17use codec::{Encode, Decode};15use codec::{Encode, Decode, MaxEncodedLen};18use scale_info::TypeInfo;16use scale_info::TypeInfo;191720pub use pallet::*;18pub use pallet::*;31}29}32pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;30pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;333134#[derive(Encode, Decode, TypeInfo)]32#[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]35pub struct ItemData<T: Config> {33pub struct ItemData<CrossAccountId> {36 pub const_data: Vec<u8>,34 pub const_data: BoundedVec<u8, CustomDataLimit>,37 pub variable_data: Vec<u8>,35 pub variable_data: BoundedVec<u8, CustomDataLimit>,38 pub owner: T::CrossAccountId,36 pub owner: CrossAccountId,39}37}403841#[frame_support::pallet]39#[frame_support::pallet]72 #[pallet::storage]70 #[pallet::storage]73 pub type TokenData<T: Config> = StorageNMap<71 pub type TokenData<T: Config> = StorageNMap<74 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),72 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),75 Value = ItemData<T>,73 Value = ItemData<T::CrossAccountId>,76 QueryKind = OptionQuery,74 QueryKind = OptionQuery,77 >;75 >;7876142140143// unchecked calls skips any permission checks141// unchecked calls skips any permission checks144impl<T: Config> Pallet<T> {142impl<T: Config> Pallet<T> {145 pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {143 pub fn init_collection(144 owner: T::AccountId,145 data: CreateCollectionData<T::AccountId>,146 ) -> Result<CollectionId, DispatchError> {146 <PalletCommon<T>>::init_collection(data)147 <PalletCommon<T>>::init_collection(owner, data)147 }148 }148 pub fn destroy_collection(149 pub fn destroy_collection(149 collection: NonfungibleHandle<T>,150 collection: NonfungibleHandle<T>,211 ));212 ));212 }213 }213214214 collection.log(ERC721Events::Transfer {215 collection.log_mirrored(ERC721Events::Transfer {215 from: *token_data.owner.as_eth(),216 from: *token_data.owner.as_eth(),216 to: H160::default(),217 to: H160::default(),217 token_id: token.into(),218 token_id: token.into(),291 }292 }292 Self::set_allowance_unchecked(collection, from, token, None, true);293 Self::set_allowance_unchecked(collection, from, token, None, true);293294294 collection.log(ERC721Events::Transfer {295 collection.log_mirrored(ERC721Events::Transfer {295 from: *from.as_eth(),296 from: *from.as_eth(),296 to: *to.as_eth(),297 to: *to.as_eth(),297 token_id: token.into(),298 token_id: token.into(),361 <TokenData<T>>::insert(362 <TokenData<T>>::insert(362 (collection.id, token),363 (collection.id, token),363 ItemData {364 ItemData {364 const_data: data.const_data.into(),365 const_data: data.const_data,365 variable_data: data.variable_data.into(),366 variable_data: data.variable_data,366 owner: data.owner.clone(),367 owner: data.owner.clone(),367 },368 },368 );369 );369 <Owned<T>>::insert((collection.id, &data.owner, token), true);370 <Owned<T>>::insert((collection.id, &data.owner, token), true);370371371 collection.log(ERC721Events::Transfer {372 collection.log_mirrored(ERC721Events::Transfer {372 from: H160::default(),373 from: H160::default(),373 to: *data.owner.as_eth(),374 to: *data.owner.as_eth(),374 token_id: token.into(),375 token_id: token.into(),395 <Allowance<T>>::insert((collection.id, token), spender);396 <Allowance<T>>::insert((collection.id, token), spender);396 // In ERC721 there is only one possible approved user of token, so we set397 // In ERC721 there is only one possible approved user of token, so we set397 // approved user to spender398 // approved user to spender398 collection.log(ERC721Events::Approval {399 collection.log_mirrored(ERC721Events::Approval {399 owner: *sender.as_eth(),400 owner: *sender.as_eth(),400 approved: *spender.as_eth(),401 approved: *spender.as_eth(),401 token_id: token.into(),402 token_id: token.into(),425 if !assume_implicit_eth {426 if !assume_implicit_eth {426 // In ERC721 there is only one possible approved user of token, so we set427 // In ERC721 there is only one possible approved user of token, so we set427 // approved user to zero address428 // approved user to zero address428 collection.log(ERC721Events::Approval {429 collection.log_mirrored(ERC721Events::Approval {429 owner: *sender.as_eth(),430 owner: *sender.as_eth(),430 approved: H160::default(),431 approved: H160::default(),431 token_id: token.into(),432 token_id: token.into(),494 if <Allowance<T>>::get((collection.id, token)).as_ref() != Some(spender) {495 if <Allowance<T>>::get((collection.id, token)).as_ref() != Some(spender) {495 ensure!(496 ensure!(496 collection.ignores_allowance(spender),497 collection.ignores_allowance(spender),497 <CommonError<T>>::TokenValueNotEnough498 <CommonError<T>>::ApprovedValueTooLow498 );499 );499 }500 }500501522 if <Allowance<T>>::get((collection.id, token)).as_ref() != Some(spender) {523 if <Allowance<T>>::get((collection.id, token)).as_ref() != Some(spender) {523 ensure!(524 ensure!(524 collection.ignores_allowance(spender),525 collection.ignores_allowance(spender),525 <CommonError<T>>::TokenValueNotEnough526 <CommonError<T>>::ApprovedValueTooLow526 );527 );527 }528 }528529535 collection: &NonfungibleHandle<T>,536 collection: &NonfungibleHandle<T>,536 sender: &T::CrossAccountId,537 sender: &T::CrossAccountId,537 token: TokenId,538 token: TokenId,538 data: Vec<u8>,539 data: BoundedVec<u8, CustomDataLimit>,539 ) -> DispatchResult {540 ) -> DispatchResult {540 ensure!(541 data.len() as u32 <= CUSTOM_DATA_LIMIT,542 <CommonError<T>>::TokenVariableDataLimitExceeded543 );544 let token_data =541 let token_data =545 <TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;542 <TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;546 collection.check_can_update_meta(sender, &token_data.owner)?;543 collection.check_can_update_meta(sender, &token_data.owner)?;pallets/refungible/Cargo.tomldiffbeforeafterboth10version = '2.0.0'10version = '2.0.0'111112[dependencies]12[dependencies]13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18pallet-common = { default-features = false, path = '../common' }18pallet-common = { default-features = false, path = '../common' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }19up-data-structs = { default-features = false, path = '../../primitives/data-structs' }20frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }20frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }21scale-info = { version = "1.0.0", default-features = false, features = [21scale-info = { version = "1.0.0", default-features = false, features = [22 "derive",22 "derive",23] }23] }pallets/refungible/src/common.rsdiffbeforeafterboth1use core::marker::PhantomData;1use core::marker::PhantomData;223use sp_std::collections::btree_map::BTreeMap;3use sp_std::collections::btree_map::BTreeMap;4use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight};4use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight, BoundedVec};5use up_data_structs::TokenId;5use up_data_structs::{TokenId, CustomDataLimit};6use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};6use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};7use sp_runtime::DispatchError;7use sp_runtime::DispatchError;8use sp_std::vec::Vec;8use sp_std::vec::Vec;184 &self,184 &self,185 sender: T::CrossAccountId,185 sender: T::CrossAccountId,186 token: TokenId,186 token: TokenId,187 data: Vec<u8>,187 data: BoundedVec<u8, CustomDataLimit>,188 ) -> DispatchResultWithPostInfo {188 ) -> DispatchResultWithPostInfo {189 let len = data.len();189 let len = data.len();190 with_weight(190 with_weight(207 TokenId(<TokensMinted<T>>::get(self.id))207 TokenId(<TokensMinted<T>>::get(self.id))208 }208 }209209210 fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {210 fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {211 T::CrossAccountId::default()211 None212 }212 }213 fn const_metadata(&self, token: TokenId) -> Vec<u8> {213 fn const_metadata(&self, token: TokenId) -> Vec<u8> {214 <TokenData<T>>::get((self.id, token)).const_data214 <TokenData<T>>::get((self.id, token))215 .const_data216 .into_inner()215 }217 }216 fn variable_metadata(&self, token: TokenId) -> Vec<u8> {218 fn variable_metadata(&self, token: TokenId) -> Vec<u8> {217 <TokenData<T>>::get((self.id, token)).variable_data219 <TokenData<T>>::get((self.id, token))220 .variable_data221 .into_inner()218 }222 }219223220 fn collection_tokens(&self) -> u32 {224 fn collection_tokens(&self) -> u32 {pallets/refungible/src/lib.rsdiffbeforeafterboth223use frame_support::{ensure, BoundedVec};3use frame_support::{ensure, BoundedVec};4use up_data_structs::{4use up_data_structs::{5 AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit,5 AccessMode, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId, CreateCollectionData,6 MAX_REFUNGIBLE_PIECES, TokenId,7};6};8use pallet_common::{7use pallet_common::{11use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};10use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};12use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};11use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};13use core::ops::Deref;12use core::ops::Deref;14use codec::{Encode, Decode};13use codec::{Encode, Decode, MaxEncodedLen};15use scale_info::TypeInfo;14use scale_info::TypeInfo;161517pub use pallet::*;16pub use pallet::*;27}26}28pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;27pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;292830#[derive(Encode, Decode, Default, TypeInfo)]29#[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]31pub struct ItemData {30pub struct ItemData {32 pub const_data: Vec<u8>,31 pub const_data: BoundedVec<u8, CustomDataLimit>,33 pub variable_data: Vec<u8>,32 pub variable_data: BoundedVec<u8, CustomDataLimit>,34}33}353436#[frame_support::pallet]35#[frame_support::pallet]156155157// unchecked calls skips any permission checks156// unchecked calls skips any permission checks158impl<T: Config> Pallet<T> {157impl<T: Config> Pallet<T> {159 pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {158 pub fn init_collection(159 owner: T::AccountId,160 data: CreateCollectionData<T::AccountId>,161 ) -> Result<CollectionId, DispatchError> {160 <PalletCommon<T>>::init_collection(data)162 <PalletCommon<T>>::init_collection(owner, data)161 }163 }162 pub fn destroy_collection(164 pub fn destroy_collection(163 collection: RefungibleHandle<T>,165 collection: RefungibleHandle<T>,437 <TokenData<T>>::insert(439 <TokenData<T>>::insert(438 (collection.id, token_id),440 (collection.id, token_id),439 ItemData {441 ItemData {440 const_data: token.const_data.into(),442 const_data: token.const_data,441 variable_data: token.variable_data.into(),443 variable_data: token.variable_data,442 },444 },443 );445 );444 for (user, amount) in token.users.into_iter() {446 for (user, amount) in token.users.into_iter() {529 if allowance.is_none() {531 if allowance.is_none() {530 ensure!(532 ensure!(531 collection.ignores_allowance(spender),533 collection.ignores_allowance(spender),532 <CommonError<T>>::TokenValueNotEnough534 <CommonError<T>>::ApprovedValueTooLow533 );535 );534 }536 }535537562 if allowance.is_none() {564 if allowance.is_none() {563 ensure!(565 ensure!(564 collection.ignores_allowance(spender),566 collection.ignores_allowance(spender),565 <CommonError<T>>::TokenValueNotEnough567 <CommonError<T>>::ApprovedValueTooLow566 );568 );567 }569 }568570579 collection: &RefungibleHandle<T>,581 collection: &RefungibleHandle<T>,580 sender: &T::CrossAccountId,582 sender: &T::CrossAccountId,581 token: TokenId,583 token: TokenId,582 data: Vec<u8>,584 data: BoundedVec<u8, CustomDataLimit>,583 ) -> DispatchResult {585 ) -> DispatchResult {584 ensure!(585 data.len() as u32 <= CUSTOM_DATA_LIMIT,586 <CommonError<T>>::TokenVariableDataLimitExceeded587 );588 collection.check_can_update_meta(586 collection.check_can_update_meta(589 sender,587 sender,590 &T::CrossAccountId::from_sub(collection.owner.clone()),588 &T::CrossAccountId::from_sub(collection.owner.clone()),pallets/scheduler/Cargo.tomldiffbeforeafterboth13serde = { version = "1.0.130", default-features = false }13serde = { version = "1.0.130", default-features = false }14codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false }14codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false }15scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }15scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }16frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }16frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }17frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }17frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }18sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }18sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }19sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }19sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }20sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }20sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }21frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }21frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }222223up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }23up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }24log = { version = "0.4.14", default-features = false }24log = { version = "0.4.14", default-features = false }252526[dev-dependencies]26[dev-dependencies]27sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }27sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }28substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }28substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }292930[features]30[features]31default = ["std"]31default = ["std"]pallets/scheduler/src/lib.rsdiffbeforeafterboth413 let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(413 let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(414 s.origin.clone()414 s.origin.clone()415 ).into();415 ).into();416 let sender = ensure_signed(origin).unwrap_or_default();416 let sender = match ensure_signed(origin) {417 Ok(v) => v,418 // TODO: Support for unsigned extrinsics?419 Err(_) => return Some(Some(s))420 };417 let who_will_pay = T::SponsorshipHandler::get_sponsor(&sender, &s.call).unwrap_or(sender);421 let who_will_pay = T::SponsorshipHandler::get_sponsor(&sender, &s.call).unwrap_or(sender);418 let sponsor = T::PalletsOrigin::from(system::RawOrigin::Signed(who_will_pay));422 let sponsor = T::PalletsOrigin::from(system::RawOrigin::Signed(who_will_pay));419 let r = s.call.clone().dispatch(sponsor.into());423 let r = s.call.clone().dispatch(sponsor.into());664 }668 }665}669}666667impl<T: Config> schedule::Anon<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>668 for Module<T>669{670 type Address = TaskAddress<T::BlockNumber>;671672 fn schedule(673 when: DispatchTime<T::BlockNumber>,674 maybe_periodic: Option<schedule::Period<T::BlockNumber>>,675 priority: schedule::Priority,676 origin: T::PalletsOrigin,677 call: <T as Config>::Call,678 ) -> Result<Self::Address, DispatchError> {679 Self::do_schedule(when, maybe_periodic, priority, origin, call)680 }681682 fn cancel((when, index): Self::Address) -> Result<(), ()> {683 Self::do_cancel(None, (when, index)).map_err(|_| ())684 }685686 fn reschedule(687 address: Self::Address,688 when: DispatchTime<T::BlockNumber>,689 ) -> Result<Self::Address, DispatchError> {690 Self::do_reschedule(address, when)691 }692693 fn next_dispatch_time((when, index): Self::Address) -> Result<T::BlockNumber, ()> {694 Agenda::<T>::get(when)695 .get(index as usize)696 .ok_or(())697 .map(|_| when)698 }699}700701impl<T: Config> schedule::Named<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>702 for Module<T>703{704 type Address = TaskAddress<T::BlockNumber>;705706 fn schedule_named(707 id: Vec<u8>,708 when: DispatchTime<T::BlockNumber>,709 maybe_periodic: Option<schedule::Period<T::BlockNumber>>,710 priority: schedule::Priority,711 origin: T::PalletsOrigin,712 call: <T as Config>::Call,713 ) -> Result<Self::Address, ()> {714 Self::do_schedule_named(id, when, maybe_periodic, priority, origin, call).map_err(|_| ())715 }716717 fn cancel_named(id: Vec<u8>) -> Result<(), ()> {718 Self::do_cancel_named(None, id).map_err(|_| ())719 }720721 fn reschedule_named(722 id: Vec<u8>,723 when: DispatchTime<T::BlockNumber>,724 ) -> Result<Self::Address, DispatchError> {725 Self::do_reschedule_named(id, when)726 }727728 fn next_dispatch_time(id: Vec<u8>) -> Result<T::BlockNumber, ()> {729 Lookup::<T>::get(id)730 .and_then(|(when, index)| Agenda::<T>::get(when).get(index as usize).map(|_| when))731 .ok_or(())732 }733}734670735#[cfg(test)]671#[cfg(test)]736#[allow(clippy::from_over_into)]672#[allow(clippy::from_over_into)]737mod tests {673mod tests {738 use super::*;674 use super::*;739675740 use frame_support::{676 use frame_support::{741 ord_parameter_types, parameter_types, traits::Contains, weights::constants::RocksDbWeight,677 ord_parameter_types, parameter_types,678 traits::{Contains, ConstU32, EnsureOneOf},679 weights::constants::RocksDbWeight,742 };680 };743 use sp_core::H256;681 use sp_core::H256;744 use sp_runtime::{682 use sp_runtime::{745 Perbill,683 Perbill,746 testing::Header,684 testing::Header,747 traits::{BlakeTwo256, IdentityLookup},685 traits::{BlakeTwo256, IdentityLookup},748 };686 };749 use frame_system::{EnsureOneOf, EnsureRoot, EnsureSignedBy};687 use frame_system::{EnsureRoot, EnsureSignedBy};750 use crate as scheduler;688 use crate as scheduler;751689752 mod logger {690 mod logger {843 type SystemWeightInfo = ();781 type SystemWeightInfo = ();844 type SS58Prefix = ();782 type SS58Prefix = ();845 type OnSetCode = ();783 type OnSetCode = ();784 type MaxConsumers = ConstU32<16>;846 }785 }847 impl logger::Config for Test {786 impl logger::Config for Test {848 type Event = Event;787 type Event = Event;861 type PalletsOrigin = OriginCaller;800 type PalletsOrigin = OriginCaller;862 type Call = Call;801 type Call = Call;863 type MaximumWeight = MaximumSchedulerWeight;802 type MaximumWeight = MaximumSchedulerWeight;864 type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;803 type ScheduleOrigin = EnsureOneOf<EnsureRoot<u64>, EnsureSignedBy<One, u64>>;865 type MaxScheduledPerBlock = MaxScheduledPerBlock;804 type MaxScheduledPerBlock = MaxScheduledPerBlock;866 type WeightInfo = ();805 type WeightInfo = ();867 type SponsorshipHandler = ();806 type SponsorshipHandler = ();pallets/unique/Cargo.tomldiffbeforeafterboth61default-features = false61default-features = false62optional = true62optional = true63git = 'https://github.com/paritytech/substrate.git'63git = 'https://github.com/paritytech/substrate.git'64branch = 'polkadot-v0.9.14'64branch = 'polkadot-v0.9.16'656566[dependencies.frame-support]66[dependencies.frame-support]67default-features = false67default-features = false68git = 'https://github.com/paritytech/substrate.git'68git = 'https://github.com/paritytech/substrate.git'69branch = 'polkadot-v0.9.14'69branch = 'polkadot-v0.9.16'707071[dependencies.frame-system]71[dependencies.frame-system]72default-features = false72default-features = false73git = 'https://github.com/paritytech/substrate.git'73git = 'https://github.com/paritytech/substrate.git'74branch = 'polkadot-v0.9.14'74branch = 'polkadot-v0.9.16'757576[dependencies.pallet-balances]76[dependencies.pallet-balances]77default-features = false77default-features = false78git = 'https://github.com/paritytech/substrate.git'78git = 'https://github.com/paritytech/substrate.git'79branch = 'polkadot-v0.9.14'79branch = 'polkadot-v0.9.16'808081[dependencies.pallet-timestamp]81[dependencies.pallet-timestamp]82default-features = false82default-features = false83git = 'https://github.com/paritytech/substrate.git'83git = 'https://github.com/paritytech/substrate.git'84branch = 'polkadot-v0.9.14'84branch = 'polkadot-v0.9.16'858586[dependencies.pallet-randomness-collective-flip]86[dependencies.pallet-randomness-collective-flip]87default-features = false87default-features = false88git = 'https://github.com/paritytech/substrate.git'88git = 'https://github.com/paritytech/substrate.git'89branch = 'polkadot-v0.9.14'89branch = 'polkadot-v0.9.16'909091[dependencies.sp-std]91[dependencies.sp-std]92default-features = false92default-features = false93git = 'https://github.com/paritytech/substrate.git'93git = 'https://github.com/paritytech/substrate.git'94branch = 'polkadot-v0.9.14'94branch = 'polkadot-v0.9.16'959596[dependencies.pallet-transaction-payment]96[dependencies.pallet-transaction-payment]97default-features = false97default-features = false98git = 'https://github.com/paritytech/substrate.git'98git = 'https://github.com/paritytech/substrate.git'99branch = 'polkadot-v0.9.14'99branch = 'polkadot-v0.9.16'100100101[dependencies.serde]101[dependencies.serde]102default-features = false102default-features = false106[dependencies.sp-runtime]106[dependencies.sp-runtime]107default-features = false107default-features = false108git = 'https://github.com/paritytech/substrate.git'108git = 'https://github.com/paritytech/substrate.git'109branch = 'polkadot-v0.9.14'109branch = 'polkadot-v0.9.16'110110111[dependencies.sp-core]111[dependencies.sp-core]112default-features = false112default-features = false113git = 'https://github.com/paritytech/substrate.git'113git = 'https://github.com/paritytech/substrate.git'114branch = 'polkadot-v0.9.14'114branch = 'polkadot-v0.9.16'115115116[dependencies.sp-io]116[dependencies.sp-io]117default-features = false117default-features = false118git = 'https://github.com/paritytech/substrate.git'118git = 'https://github.com/paritytech/substrate.git'119branch = 'polkadot-v0.9.14'119branch = 'polkadot-v0.9.16'120120121121122################################################################################122################################################################################127scale-info = { version = "1.0.0", default-features = false, features = [127scale-info = { version = "1.0.0", default-features = false, features = [128 "derive",128 "derive",129] }129] }130ethereum = { version = "0.10.0", default-features = false }130ethereum = { version = "0.11.1", default-features = false }131rlp = { default-features = false, version = "0.5.0" }131rlp = { default-features = false, version = "0.5.0" }132sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }132sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }133133134up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }134up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }135up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }135up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }136evm-coder = { default-features = false, path = "../../crates/evm-coder" }136evm-coder = { default-features = false, path = "../../crates/evm-coder" }137pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }137pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }138primitive-types = { version = "0.10.1", default-features = false, features = [138primitive-types = { version = "0.10.1", default-features = false, features = [139 "serde_no_std",139 "serde_no_std",140] }140] }141141142pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }142pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }143pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }143pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }144fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }144fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }145hex-literal = "0.3.3"145hex-literal = "0.3.3"146146147pallet-common = { default-features = false, path = "../common" }147pallet-common = { default-features = false, path = "../common" }pallets/unique/src/lib.rsdiffbeforeafterboth29 WeightToFeePolynomial, DispatchClass,29 WeightToFeePolynomial, DispatchClass,30 },30 },31 StorageValue, transactional,31 StorageValue, transactional,32 pallet_prelude::DispatchResultWithPostInfo,32 pallet_prelude::{DispatchResultWithPostInfo, ConstU32},33 BoundedVec,33};34};34use scale_info::TypeInfo;35use scale_info::TypeInfo;35use frame_system::{self as system, ensure_signed};36use frame_system::{self as system, ensure_signed};36use sp_runtime::{sp_std::prelude::Vec};37use sp_runtime::{sp_std::prelude::Vec};37use up_data_structs::{38use up_data_structs::{38 MAX_DECIMAL_POINTS, MAX_SPONSOR_TIMEOUT, MAX_TOKEN_OWNERSHIP, CUSTOM_DATA_LIMIT,39 MAX_DECIMAL_POINTS, VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT,39 VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT,40 OFFCHAIN_SCHEMA_LIMIT, MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH,40 FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,41 NFT_SPONSOR_TRANSFER_TIMEOUT, AccessMode, Collection, CreateItemData, CollectionLimits,41 MAX_TOKEN_PREFIX_LENGTH, AccessMode, CreateItemData, CollectionLimits, CollectionId,42 CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,42 CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,43 CreateCollectionData, CustomDataLimit,43};44};44use pallet_common::{45use pallet_common::{45 account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,46 account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,81 ConfirmUnsetSponsorFail,82 ConfirmUnsetSponsorFail,82 /// Length of items properties must be greater than 0.83 /// Length of items properties must be greater than 0.83 EmptyArgument,84 EmptyArgument,84 /// Collection limit bounds per collection exceeded85 CollectionLimitBoundsExceeded,86 /// Tried to enable permissions which are only permitted to be disabled87 OwnerPermissionsCantBeReverted,88 }85 }89}86}9087318 // returns collection ID315 // returns collection ID319 #[weight = <SelfWeightOf<T>>::create_collection()]316 #[weight = <SelfWeightOf<T>>::create_collection()]320 #[transactional]317 #[transactional]318 #[deprecated]321 pub fn create_collection(origin,319 pub fn create_collection(origin,322 collection_name: Vec<u16>,320 collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,323 collection_description: Vec<u16>,321 collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,324 token_prefix: Vec<u8>,322 token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,325 mode: CollectionMode) -> DispatchResult {323 mode: CollectionMode) -> DispatchResult {326327 // Anyone can create a collection328 let who = ensure_signed(origin)?;324 let data: CreateCollectionData<T::AccountId> = CreateCollectionData {329330 // Create new collection331 let new_collection = Collection {332 owner: who,333 name: collection_name,325 name: collection_name,334 mode: mode.clone(),335 mint_mode: false,336 access: AccessMode::Normal,337 description: collection_description,326 description: collection_description,338 token_prefix,327 token_prefix,339 offchain_schema: Vec::new(),328 mode,340 schema_version: SchemaVersion::ImageURL,329 ..Default::default()341 sponsorship: SponsorshipState::Disabled,330 };342 variable_on_chain_schema: Vec::new(),343 const_on_chain_schema: Vec::new(),331 Self::create_collection_ex(origin, data)332 }333334 /// This method creates a collection335 ///336 /// Prefer it to deprecated [`created_collection`] method344 limits: Default::default(),337 #[weight = <SelfWeightOf<T>>::create_collection()]338 #[transactional]345 meta_update_permission: Default::default(),339 pub fn create_collection_ex(origin, data: CreateCollectionData<T::AccountId>) -> DispatchResult {346 };340 let owner = ensure_signed(origin)?;347341348 let _id = match mode {342 let _id = match data.mode {349 CollectionMode::NFT => {<PalletNonfungible<T>>::init_collection(new_collection)?},343 CollectionMode::NFT => {<PalletNonfungible<T>>::init_collection(owner, data)?},350 CollectionMode::Fungible(decimal_points) => {344 CollectionMode::Fungible(decimal_points) => {351 // check params345 // check params352 ensure!(decimal_points <= MAX_DECIMAL_POINTS, Error::<T>::CollectionDecimalPointLimitExceeded);346 ensure!(decimal_points <= MAX_DECIMAL_POINTS, Error::<T>::CollectionDecimalPointLimitExceeded);353 <PalletFungible<T>>::init_collection(new_collection)?347 <PalletFungible<T>>::init_collection(owner, data)?354 }348 }355 CollectionMode::ReFungible => {349 CollectionMode::ReFungible => {356 <PalletRefungible<T>>::init_collection(new_collection)?350 <PalletRefungible<T>>::init_collection(owner, data)?357 }351 }358 };352 };359353360 Ok(())354 Ok(())361 }355 }362356363 /// **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.357 /// **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.364 ///358 ///919 origin,913 origin,920 collection_id: CollectionId,914 collection_id: CollectionId,921 item_id: TokenId,915 item_id: TokenId,922 data: Vec<u8>916 data: BoundedVec<u8, CustomDataLimit>,923 ) -> DispatchResultWithPostInfo {917 ) -> DispatchResultWithPostInfo {924 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);918 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);9259191004 pub fn set_offchain_schema(998 pub fn set_offchain_schema(1005 origin,999 origin,1006 collection_id: CollectionId,1000 collection_id: CollectionId,1007 schema: Vec<u8>1001 schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,1008 ) -> DispatchResult {1002 ) -> DispatchResult {1009 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1003 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1010 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1004 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1011 target_collection.check_is_owner_or_admin(&sender)?;1005 target_collection.check_is_owner_or_admin(&sender)?;10121013 // check schema limit1014 ensure!(schema.len() as u32 <= OFFCHAIN_SCHEMA_LIMIT, "");101510061016 target_collection.offchain_schema = schema;1007 target_collection.offchain_schema = schema;101710081039 pub fn set_const_on_chain_schema (1030 pub fn set_const_on_chain_schema (1040 origin,1031 origin,1041 collection_id: CollectionId,1032 collection_id: CollectionId,1042 schema: Vec<u8>1033 schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>1043 ) -> DispatchResult {1034 ) -> DispatchResult {1044 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1035 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1045 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1036 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1046 target_collection.check_is_owner_or_admin(&sender)?;1037 target_collection.check_is_owner_or_admin(&sender)?;10471048 // check schema limit1049 ensure!(schema.len() as u32 <= CONST_ON_CHAIN_SCHEMA_LIMIT, "");105010381051 target_collection.const_on_chain_schema = schema;1039 target_collection.const_on_chain_schema = schema;105210401074 pub fn set_variable_on_chain_schema (1062 pub fn set_variable_on_chain_schema (1075 origin,1063 origin,1076 collection_id: CollectionId,1064 collection_id: CollectionId,1077 schema: Vec<u8>1065 schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>1078 ) -> DispatchResult {1066 ) -> DispatchResult {1079 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1067 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1080 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1068 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1081 target_collection.check_is_owner_or_admin(&sender)?;1069 target_collection.check_is_owner_or_admin(&sender)?;10821083 // check schema limit1084 ensure!(schema.len() as u32 <= VARIABLE_ON_CHAIN_SCHEMA_LIMIT, "");108510701086 target_collection.variable_on_chain_schema = schema;1071 target_collection.variable_on_chain_schema = schema;108710721099 collection_id: CollectionId,1084 collection_id: CollectionId,1100 new_limit: CollectionLimits,1085 new_limit: CollectionLimits,1101 ) -> DispatchResult {1086 ) -> DispatchResult {1102 let mut new_limit = new_limit;1103 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1087 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);1104 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1088 let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;1105 target_collection.check_is_owner(&sender)?;1089 target_collection.check_is_owner(&sender)?;1106 let old_limit = &target_collection.limits;1090 let old_limit = &target_collection.limits;110710911108 macro_rules! limit_default {1109 ($old:ident, $new:ident, $($field:ident $(($arg:expr))? => $check:expr),* $(,)?) => {{1110 $(1111 if let Some($new) = $new.$field {1092 target_collection.limits = <PalletCommon<T>>::clamp_limits(target_collection.mode.clone(), &old_limit, new_limit)?;1112 let $old = $old.$field($($arg)?);1113 let _ = $new;1114 let _ = $old;1115 $check1116 } else {1117 $new.$field = $old.$field1118 }1119 )*1120 }};1121 }11221123 limit_default!(old_limit, new_limit,1124 account_token_ownership_limit => ensure!(1125 new_limit <= MAX_TOKEN_OWNERSHIP,1126 <Error<T>>::CollectionLimitBoundsExceeded,1127 ),1128 sponsor_transfer_timeout(match target_collection.mode {1129 CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,1130 CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,1131 CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,1132 }) => ensure!(1133 new_limit <= MAX_SPONSOR_TIMEOUT,1134 <Error<T>>::CollectionLimitBoundsExceeded,1135 ),1136 sponsored_data_size => ensure!(1137 new_limit <= CUSTOM_DATA_LIMIT,1138 <Error<T>>::CollectionLimitBoundsExceeded,1139 ),1140 token_limit => ensure!(1141 old_limit >= new_limit && new_limit > 0,1142 <CommonError<T>>::CollectionTokenLimitExceeded1143 ),1144 owner_can_transfer => ensure!(1145 old_limit || !new_limit,1146 <Error<T>>::OwnerPermissionsCantBeReverted,1147 ),1148 owner_can_destroy => ensure!(1149 old_limit || !new_limit,1150 <Error<T>>::OwnerPermissionsCantBeReverted,1151 ),1152 sponsored_data_rate_limit => {},1153 transfers_enabled => {},1154 );11551156 target_collection.limits = new_limit;115710931158 <Pallet<T>>::deposit_event(Event::<T>::CollectionLimitSet(1094 <Pallet<T>>::deposit_event(Event::<T>::CollectionLimitSet(1159 collection_id1095 collection_idpallets/unique/src/mock.rsdiffbeforeafterboth9};9};10use pallet_transaction_payment::{CurrencyAdapter};10use pallet_transaction_payment::{CurrencyAdapter};11use frame_system as system;11use frame_system as system;12use pallet_evm::AddressMapping;12use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog};13use pallet_common::account::{EvmBackwardsAddressMapping, CrossAccountId};13use pallet_common::account::{EvmBackwardsAddressMapping, CrossAccountId};14use codec::{Encode, Decode};14use codec::{Encode, Decode, MaxEncodedLen};15use scale_info::TypeInfo;15use scale_info::TypeInfo;16use up_data_structs::ConstU32;161717type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;18type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;18type Block = frame_system::mocking::MockBlock<Test>;19type Block = frame_system::mocking::MockBlock<Test>;63 type SystemWeightInfo = ();64 type SystemWeightInfo = ();64 type SS58Prefix = SS58Prefix;65 type SS58Prefix = SS58Prefix;65 type OnSetCode = ();66 type OnSetCode = ();67 type MaxConsumers = ConstU32<16>;66}68}676968parameter_types! {70parameter_types! {125 }127 }126}128}127129128#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, TypeInfo)]130#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, TypeInfo, MaxEncodedLen)]129pub struct TestCrossAccountId(u64, sp_core::H160);131pub struct TestCrossAccountId(u64, sp_core::H160);130impl CrossAccountId<u64> for TestCrossAccountId {132impl CrossAccountId<u64> for TestCrossAccountId {131 fn as_sub(&self) -> &u64 {133 fn as_sub(&self) -> &u64 {161 fn submit_logs_transaction(163 fn submit_logs_transaction(162 _source: H160,164 _source: H160,163 _tx: pallet_ethereum::Transaction,165 _tx: pallet_ethereum::Transaction,164 _logs: Vec<pallet_ethereum::Log>,166 _logs: Vec<MaybeMirroredLog>,165 ) {167 ) {166 }168 }167}169}pallets/unique/src/tests.rsdiffbeforeafterboth5use up_data_structs::{5use up_data_structs::{6 COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,6 COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,7 CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission,7 CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission,8 TokenId,8 TokenId, MAX_TOKEN_OWNERSHIP,9};9};10use frame_support::{assert_noop, assert_ok};10use frame_support::{assert_noop, assert_ok};11use sp_std::convert::TryInto;11use sp_std::convert::TryInto;41 let origin1 = Origin::signed(owner);41 let origin1 = Origin::signed(owner);42 assert_ok!(TemplateModule::create_collection(42 assert_ok!(TemplateModule::create_collection(43 origin1,43 origin1,44 col_name1,44 col_name1.try_into().unwrap(),45 col_desc1,45 col_desc1.try_into().unwrap(),46 token_prefix1,46 token_prefix1.try_into().unwrap(),47 mode.clone()47 mode.clone()48 ));48 ));4949131 assert_noop!(131 assert_noop!(132 TemplateModule::create_collection(132 TemplateModule::create_collection(133 origin1,133 origin1,134 col_name1,134 col_name1.try_into().unwrap(),135 col_desc1,135 col_desc1.try_into().unwrap(),136 token_prefix1,136 token_prefix1.try_into().unwrap(),137 CollectionMode::Fungible(MAX_DECIMAL_POINTS + 1)137 CollectionMode::Fungible(MAX_DECIMAL_POINTS + 1)138 ),138 ),139 Error::<Test>::CollectionDecimalPointLimitExceeded139 Error::<Test>::CollectionDecimalPointLimitExceeded601 1601 1602 )602 )603 .map_err(|e| e.error),603 .map_err(|e| e.error),604 CommonError::<Test>::TokenValueNotEnough604 CommonError::<Test>::ApprovedValueTooLow605 );605 );606606607 // do approve607 // do approve916 4916 4917 )917 )918 .map_err(|e| e.error),918 .map_err(|e| e.error),919 CommonError::<Test>::TokenValueNotEnough919 CommonError::<Test>::ApprovedValueTooLow920 );920 );921 });921 });922}922}2271 assert_noop!(2271 assert_noop!(2272 TemplateModule::create_collection(2272 TemplateModule::create_collection(2273 origin1,2273 origin1,2274 col_name1,2274 col_name1.try_into().unwrap(),2275 col_desc1,2275 col_desc1.try_into().unwrap(),2276 token_prefix1,2276 token_prefix1.try_into().unwrap(),2277 CollectionMode::NFT2277 CollectionMode::NFT2278 ),2278 ),2279 CommonError::<Test>::TotalCollectionsLimitExceeded2279 CommonError::<Test>::TotalCollectionsLimitExceeded2372 assert_ok!(TemplateModule::set_const_on_chain_schema(2372 assert_ok!(TemplateModule::set_const_on_chain_schema(2373 origin1,2373 origin1,2374 collection_id,2374 collection_id,2375 b"test const on chain schema".to_vec()2375 b"test const on chain schema".to_vec().try_into().unwrap()2376 ));2376 ));237723772378 assert_eq!(2378 assert_eq!(2401 collection_id,2401 collection_id,2402 b"test variable on chain schema".to_vec()2402 b"test variable on chain schema"2403 .to_vec()2404 .try_into()2405 .unwrap()2403 ));2406 ));240424072405 assert_eq!(2408 assert_eq!(2432 origin1,2435 origin1,2433 collection_id,2436 collection_id,2434 TokenId(1),2437 TokenId(1),2435 variable_data.clone()2438 variable_data.clone().try_into().unwrap()2436 ));2439 ));243724402438 assert_eq!(2441 assert_eq!(2459 origin1,2462 origin1,2460 collection_id,2463 collection_id,2461 TokenId(1),2464 TokenId(1),2462 variable_data.clone()2465 variable_data.clone().try_into().unwrap()2463 ));2466 ));246424672465 assert_eq!(2468 assert_eq!(2485 origin1,2488 origin1,2486 collection_id,2489 collection_id,2487 TokenId(0),2490 TokenId(0),2488 variable_data2491 variable_data.try_into().unwrap()2489 )2492 )2490 .map_err(|e| e.error),2493 .map_err(|e| e.error),2491 <pallet_fungible::Error<Test>>::FungibleItemsDontHaveData2494 <pallet_fungible::Error<Test>>::FungibleItemsDontHaveData2492 );2495 );2493 });2496 });2494}2497}24952496#[test]2497fn set_variable_meta_data_on_nft_token_fails_for_big_data() {2498 new_test_ext().execute_with(|| {2499 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));25002501 let origin1 = Origin::signed(1);25022503 let data = default_nft_data();2504 create_test_item(collection_id, &data.into());25052506 let variable_data = b"test set_variable_meta_data method, bigger than limits.".to_vec();2507 assert_noop!(2508 TemplateModule::set_variable_meta_data(2509 origin1,2510 collection_id,2511 TokenId(1),2512 variable_data2513 )2514 .map_err(|e| e.error),2515 CommonError::<Test>::TokenVariableDataLimitExceeded2516 );2517 });2518}25192520#[test]2521fn set_variable_meta_data_on_re_fungible_token_fails_for_big_data() {2522 new_test_ext().execute_with(|| {2523 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));25242525 let origin1 = Origin::signed(1);25262527 let data = default_re_fungible_data();2528 create_test_item(collection_id, &data.into());25292530 let variable_data = b"test set_variable_meta_data method, bigger than limits.".to_vec();2531 assert_noop!(2532 TemplateModule::set_variable_meta_data(2533 origin1,2534 collection_id,2535 TokenId(1),2536 variable_data2537 )2538 .map_err(|e| e.error),2539 CommonError::<Test>::TokenVariableDataLimitExceeded2540 );2541 });2542}254324982544#[test]2499#[test]2545fn set_variable_meta_data_on_nft_with_item_owner_permission_flag() {2500fn set_variable_meta_data_on_nft_with_item_owner_permission_flag() {2564 origin1,2519 origin1,2565 collection_id,2520 collection_id,2566 TokenId(1),2521 TokenId(1),2567 variable_data.clone()2522 variable_data.clone().try_into().unwrap()2568 ));2523 ));256925242570 assert_eq!(2525 assert_eq!(2576 });2531 });2577}2532}25782579#[test]2580fn set_variable_meta_data_on_nft_with_item_owner_permission_flag_neg() {2581 new_test_ext().execute_with(|| {2582 let collection_id =2583 create_test_collection_for_owner(&CollectionMode::NFT, 1, CollectionId(1));25842585 let origin1 = Origin::signed(1);25862587 assert_ok!(TemplateModule::set_mint_permission(2588 origin1.clone(),2589 collection_id,2590 true2591 ));2592 assert_ok!(TemplateModule::add_to_allow_list(2593 origin1.clone(),2594 collection_id,2595 account(1)2596 ));25972598 let data = default_nft_data();2599 create_test_item(collection_id, &data.into());26002601 assert_ok!(TemplateModule::set_meta_update_permission_flag(2602 origin1.clone(),2603 collection_id,2604 MetaUpdatePermission::ItemOwner,2605 ));26062607 let variable_data = b"1234567890123".to_vec();2608 assert_noop!(2609 TemplateModule::set_variable_meta_data(2610 origin1,2611 collection_id,2612 TokenId(1),2613 variable_data.clone()2614 )2615 .map_err(|e| e.error),2616 CommonError::<Test>::TokenVariableDataLimitExceeded2617 );2618 })2619}262025332621#[test]2534#[test]2622fn collection_transfer_flag_works() {2535fn collection_transfer_flag_works() {2712 origin1,2625 origin1,2713 collection_id,2626 collection_id,2714 TokenId(1),2627 TokenId(1),2715 variable_data.clone()2628 variable_data.clone().try_into().unwrap()2716 ));2629 ));271726302718 assert_eq!(2631 assert_eq!(2761 origin1,2674 origin1,2762 collection_id,2675 collection_id,2763 TokenId(1),2676 TokenId(1),2764 variable_data.clone()2677 variable_data.try_into().unwrap()2765 )2678 )2766 .map_err(|e| e.error),2679 .map_err(|e| e.error),2767 CommonError::<Test>::NoPermission2680 CommonError::<Test>::NoPermission2819 origin1.clone(),2732 origin1.clone(),2820 collection_id,2733 collection_id,2821 TokenId(1),2734 TokenId(1),2822 variable_data.clone()2735 variable_data.try_into().unwrap()2823 )2736 )2824 .map_err(|e| e.error),2737 .map_err(|e| e.error),2825 CommonError::<Test>::NoPermission2738 CommonError::<Test>::NoPermissionprimitives/data-structs/Cargo.tomldiffbeforeafterboth16serde = { version = "1.0.130", features = [16serde = { version = "1.0.130", features = [17 'derive',17 'derive',18], default-features = false, optional = true }18], default-features = false, optional = true }19frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }19frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }20frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }20frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }21sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }21sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }22sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }22sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }23sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }23sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }24derivative = "2.2.0"24derivative = "2.2.0"252526[features]26[features]primitives/data-structs/src/lib.rsdiffbeforeafterboth22 WeightToFeePolynomial, DispatchClass,22 WeightToFeePolynomial, DispatchClass,23 },23 },24 StorageValue, transactional,24 StorageValue, transactional,25 pallet_prelude::ConstU32,25};26};26use derivative::Derivative;27use derivative::Derivative;27use scale_info::TypeInfo;28use scale_info::TypeInfo;65pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;66pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;66pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 1048576;67pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 1048576;676868pub const MAX_COLLECTION_NAME_LENGTH: usize = 64;69pub const MAX_COLLECTION_NAME_LENGTH: u32 = 64;69pub const MAX_COLLECTION_DESCRIPTION_LENGTH: usize = 256;70pub const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = 256;70pub const MAX_TOKEN_PREFIX_LENGTH: usize = 16;71pub const MAX_TOKEN_PREFIX_LENGTH: u32 = 16;717272/// How much items can be created per single73/// How much items can be created per single73/// create_many call74/// create_many call89 Copy,90 Debug,91 Default,92 TypeInfo,93 MaxEncodedLen,94)]81#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]95#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]82pub struct CollectionId(pub u32);96pub struct CollectionId(pub u32);83impl EncodeLike<u32> for CollectionId {}97impl EncodeLike<u32> for CollectionId {}84impl EncodeLike<CollectionId> for u32 {}98impl EncodeLike<CollectionId> for u32 {}859986#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]100#[derive(101 Encode,102 Decode,103 PartialEq,104 Eq,105 PartialOrd,106 Ord,107 Clone,108 Copy,109 Debug,110 Default,111 TypeInfo,112 MaxEncodedLen,113)]87#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]114#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]88pub struct TokenId(pub u32);115pub struct TokenId(pub u32);121148122pub type DecimalPoints = u8;149pub type DecimalPoints = u8;123150124#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]151#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]125#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]152#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]126pub enum CollectionMode {153pub enum CollectionMode {127 NFT,154 NFT,144 fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;171 fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;145}172}146173147#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]174#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]148#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]175#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]149pub enum AccessMode {176pub enum AccessMode {150 Normal,177 Normal,156 }183 }157}184}158185159#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]186#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]160#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]187#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]161pub enum SchemaVersion {188pub enum SchemaVersion {162 ImageURL,189 ImageURL,175 pub fraction: u128,202 pub fraction: u128,176}203}177204178#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]205#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]179#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]206#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]180pub enum SponsorshipState<AccountId> {207pub enum SponsorshipState<AccountId> {181 /// The fees are applied to the transaction sender208 /// The fees are applied to the transaction sender211 }238 }212}239}213240214#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]241#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]215#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]242#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]216pub struct Collection<AccountId> {243pub struct Collection<AccountId> {217 pub owner: AccountId,244 pub owner: AccountId,218 pub mode: CollectionMode,245 pub mode: CollectionMode,219 pub access: AccessMode,246 pub access: AccessMode,247 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]220 pub name: Vec<u16>, // 64 include null escape char248 pub name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,249 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]221 pub description: Vec<u16>, // 256 include null escape char250 pub description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,251 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]222 pub token_prefix: Vec<u8>, // 16 include null escape char252 pub token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,223 pub mint_mode: bool,253 pub mint_mode: bool,254 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]224 pub offchain_schema: Vec<u8>,255 pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,225 pub schema_version: SchemaVersion,256 pub schema_version: SchemaVersion,226 pub sponsorship: SponsorshipState<AccountId>,257 pub sponsorship: SponsorshipState<AccountId>,227 pub limits: CollectionLimits, // Collection private restrictions258 pub limits: CollectionLimits, // Collection private restrictions259 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]228 pub variable_on_chain_schema: Vec<u8>, //260 pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,261 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]229 pub const_on_chain_schema: Vec<u8>, //262 pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,230 pub meta_update_permission: MetaUpdatePermission,263 pub meta_update_permission: MetaUpdatePermission,231}264}265266#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, Debug, Derivative, MaxEncodedLen)]267#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]268#[derivative(Default(bound = ""))]269pub struct CreateCollectionData<AccountId> {270 #[derivative(Default(value = "CollectionMode::NFT"))]271 pub mode: CollectionMode,272 pub access: Option<AccessMode>,273 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]274 pub name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,275 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]276 pub description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,277 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]278 pub token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,279 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]280 pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,281 pub schema_version: Option<SchemaVersion>,282 pub pending_sponsor: Option<AccountId>,283 pub limits: Option<CollectionLimits>,284 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]285 pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,286 #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]287 pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,288 pub meta_update_permission: Option<MetaUpdatePermission>,289}232290233#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]291#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]234#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]292#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]253}311}254312255/// All fields are wrapped in `Option`s, where None means chain default313/// All fields are wrapped in `Option`s, where None means chain default256#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo)]314#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]257#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]315#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]258pub struct CollectionLimits {316pub struct CollectionLimits {259 pub account_token_ownership_limit: Option<u32>,317 pub account_token_ownership_limit: Option<u32>,378 pub pieces: u128,436 pub pieces: u128,379}437}380438381#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]439#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]382#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]440#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]383pub enum MetaUpdatePermission {441pub enum MetaUpdatePermission {384 ItemOwner,442 ItemOwner,primitives/evm-mapping/Cargo.tomldiffbeforeafterboth4edition = "2021"4edition = "2021"556[dependencies]6[dependencies]7sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }7sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }8frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }8frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }9910[features]10[features]11default = ["std"]11default = ["std"]primitives/rpc/Cargo.tomldiffbeforeafterboth9codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [9codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [10 "derive",10 "derive",11] }11] }12sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }12sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }13sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }13sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }14sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }14sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }15sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }161617[features]17[features]18default = ["std"]18default = ["std"]primitives/rpc/src/lib.rsdiffbeforeafterboth9type Result<T> = core::result::Result<T, DispatchError>;9type Result<T> = core::result::Result<T, DispatchError>;101011sp_api::decl_runtime_apis! {11sp_api::decl_runtime_apis! {12 #[api_version(2)]12 pub trait UniqueApi<CrossAccountId, AccountId> where13 pub trait UniqueApi<CrossAccountId, AccountId> where13 AccountId: Decode,14 AccountId: Decode,14 CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,15 CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,15 {16 {17 #[changed_in(2)]18 fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;1916 fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>>;20 fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>>;17 fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool>;21 fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool>;182219 fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;23 fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;20 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;24 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;21 fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;25 fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;2226runtime/Cargo.tomldiffbeforeafterboth10license = 'All Rights Reserved'10license = 'All Rights Reserved'11name = 'unique-runtime'11name = 'unique-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version = '0.9.14'13version = '0.9.16'141415[package.metadata.docs.rs]15[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']16targets = ['x86_64-unknown-linux-gnu']69 'pallet-evm-transaction-payment/std',69 'pallet-evm-transaction-payment/std',70 'pallet-evm-coder-substrate/std',70 'pallet-evm-coder-substrate/std',71 'pallet-ethereum/std',71 'pallet-ethereum/std',72 'pallet-base-fee/std',72 'fp-rpc/std',73 'fp-rpc/std',73 'up-rpc/std',74 'up-rpc/std',74 'up-evm-mapping/std',75 'up-evm-mapping/std',117default-features = false118default-features = false118git = 'https://github.com/paritytech/substrate.git'119git = 'https://github.com/paritytech/substrate.git'119optional = true120optional = true120branch = 'polkadot-v0.9.14'121branch = 'polkadot-v0.9.16'121122122[dependencies.frame-executive]123[dependencies.frame-executive]123default-features = false124default-features = false124git = 'https://github.com/paritytech/substrate.git'125git = 'https://github.com/paritytech/substrate.git'125branch = 'polkadot-v0.9.14'126branch = 'polkadot-v0.9.16'126127127[dependencies.frame-support]128[dependencies.frame-support]128default-features = false129default-features = false129git = 'https://github.com/paritytech/substrate.git'130git = 'https://github.com/paritytech/substrate.git'130branch = 'polkadot-v0.9.14'131branch = 'polkadot-v0.9.16'131132132[dependencies.frame-system]133[dependencies.frame-system]133default-features = false134default-features = false134git = 'https://github.com/paritytech/substrate.git'135git = 'https://github.com/paritytech/substrate.git'135branch = 'polkadot-v0.9.14'136branch = 'polkadot-v0.9.16'136137137[dependencies.frame-system-benchmarking]138[dependencies.frame-system-benchmarking]138default-features = false139default-features = false139git = 'https://github.com/paritytech/substrate.git'140git = 'https://github.com/paritytech/substrate.git'140optional = true141optional = true141branch = 'polkadot-v0.9.14'142branch = 'polkadot-v0.9.16'142143143[dependencies.frame-system-rpc-runtime-api]144[dependencies.frame-system-rpc-runtime-api]144default-features = false145default-features = false145git = 'https://github.com/paritytech/substrate.git'146git = 'https://github.com/paritytech/substrate.git'146branch = 'polkadot-v0.9.14'147branch = 'polkadot-v0.9.16'147148148[dependencies.hex-literal]149[dependencies.hex-literal]149optional = true150optional = true158[dependencies.pallet-aura]159[dependencies.pallet-aura]159default-features = false160default-features = false160git = 'https://github.com/paritytech/substrate.git'161git = 'https://github.com/paritytech/substrate.git'161branch = 'polkadot-v0.9.14'162branch = 'polkadot-v0.9.16'162163163[dependencies.pallet-balances]164[dependencies.pallet-balances]164default-features = false165default-features = false165git = 'https://github.com/paritytech/substrate.git'166git = 'https://github.com/paritytech/substrate.git'166branch = 'polkadot-v0.9.14'167branch = 'polkadot-v0.9.16'167168168# Contracts specific packages169# Contracts specific packages169# [dependencies.pallet-contracts]170# [dependencies.pallet-contracts]170# git = 'https://github.com/paritytech/substrate.git'171# git = 'https://github.com/paritytech/substrate.git'171# default-features = false172# default-features = false172# branch = 'polkadot-v0.9.14'173# branch = 'polkadot-v0.9.16'173# version = '4.0.0-dev'174# version = '4.0.0-dev'174175175# [dependencies.pallet-contracts-primitives]176# [dependencies.pallet-contracts-primitives]176# git = 'https://github.com/paritytech/substrate.git'177# git = 'https://github.com/paritytech/substrate.git'177# default-features = false178# default-features = false178# branch = 'polkadot-v0.9.14'179# branch = 'polkadot-v0.9.16'179# version = '4.0.0-dev'180# version = '4.0.0-dev'180181181# [dependencies.pallet-contracts-rpc-runtime-api]182# [dependencies.pallet-contracts-rpc-runtime-api]182# git = 'https://github.com/paritytech/substrate.git'183# git = 'https://github.com/paritytech/substrate.git'183# default-features = false184# default-features = false184# branch = 'polkadot-v0.9.14'185# branch = 'polkadot-v0.9.16'185# version = '4.0.0-dev'186# version = '4.0.0-dev'186187187[dependencies.pallet-randomness-collective-flip]188[dependencies.pallet-randomness-collective-flip]188default-features = false189default-features = false189git = 'https://github.com/paritytech/substrate.git'190git = 'https://github.com/paritytech/substrate.git'190branch = 'polkadot-v0.9.14'191branch = 'polkadot-v0.9.16'191192192[dependencies.pallet-sudo]193[dependencies.pallet-sudo]193default-features = false194default-features = false194git = 'https://github.com/paritytech/substrate.git'195git = 'https://github.com/paritytech/substrate.git'195branch = 'polkadot-v0.9.14'196branch = 'polkadot-v0.9.16'196197197[dependencies.pallet-timestamp]198[dependencies.pallet-timestamp]198default-features = false199default-features = false199git = 'https://github.com/paritytech/substrate.git'200git = 'https://github.com/paritytech/substrate.git'200branch = 'polkadot-v0.9.14'201branch = 'polkadot-v0.9.16'201202202[dependencies.pallet-transaction-payment]203[dependencies.pallet-transaction-payment]203default-features = false204default-features = false204git = 'https://github.com/paritytech/substrate.git'205git = 'https://github.com/paritytech/substrate.git'205branch = 'polkadot-v0.9.14'206branch = 'polkadot-v0.9.16'206207207[dependencies.pallet-transaction-payment-rpc-runtime-api]208[dependencies.pallet-transaction-payment-rpc-runtime-api]208default-features = false209default-features = false209git = 'https://github.com/paritytech/substrate.git'210git = 'https://github.com/paritytech/substrate.git'210branch = 'polkadot-v0.9.14'211branch = 'polkadot-v0.9.16'211212212[dependencies.pallet-treasury]213[dependencies.pallet-treasury]213default-features = false214default-features = false214git = 'https://github.com/paritytech/substrate.git'215git = 'https://github.com/paritytech/substrate.git'215branch = 'polkadot-v0.9.14'216branch = 'polkadot-v0.9.16'216217217# [dependencies.pallet-vesting]218# [dependencies.pallet-vesting]218# default-features = false219# default-features = false219# git = 'https://github.com/paritytech/substrate.git'220# git = 'https://github.com/paritytech/substrate.git'220# branch = 'polkadot-v0.9.14'221# branch = 'polkadot-v0.9.16'221222222[dependencies.sp-arithmetic]223[dependencies.sp-arithmetic]223default-features = false224default-features = false224git = 'https://github.com/paritytech/substrate.git'225git = 'https://github.com/paritytech/substrate.git'225branch = 'polkadot-v0.9.14'226branch = 'polkadot-v0.9.16'226227227[dependencies.sp-api]228[dependencies.sp-api]228default-features = false229default-features = false229git = 'https://github.com/paritytech/substrate.git'230git = 'https://github.com/paritytech/substrate.git'230branch = 'polkadot-v0.9.14'231branch = 'polkadot-v0.9.16'231232232[dependencies.sp-block-builder]233[dependencies.sp-block-builder]233default-features = false234default-features = false234git = 'https://github.com/paritytech/substrate.git'235git = 'https://github.com/paritytech/substrate.git'235branch = 'polkadot-v0.9.14'236branch = 'polkadot-v0.9.16'236237237[dependencies.sp-core]238[dependencies.sp-core]238default-features = false239default-features = false239git = 'https://github.com/paritytech/substrate.git'240git = 'https://github.com/paritytech/substrate.git'240branch = 'polkadot-v0.9.14'241branch = 'polkadot-v0.9.16'241242242[dependencies.sp-consensus-aura]243[dependencies.sp-consensus-aura]243default-features = false244default-features = false244git = 'https://github.com/paritytech/substrate.git'245git = 'https://github.com/paritytech/substrate.git'245branch = 'polkadot-v0.9.14'246branch = 'polkadot-v0.9.16'246247247[dependencies.sp-inherents]248[dependencies.sp-inherents]248default-features = false249default-features = false249git = 'https://github.com/paritytech/substrate.git'250git = 'https://github.com/paritytech/substrate.git'250branch = 'polkadot-v0.9.14'251branch = 'polkadot-v0.9.16'251252252[dependencies.sp-io]253[dependencies.sp-io]253default-features = false254default-features = false254git = 'https://github.com/paritytech/substrate.git'255git = 'https://github.com/paritytech/substrate.git'255branch = 'polkadot-v0.9.14'256branch = 'polkadot-v0.9.16'256257257[dependencies.sp-offchain]258[dependencies.sp-offchain]258default-features = false259default-features = false259git = 'https://github.com/paritytech/substrate.git'260git = 'https://github.com/paritytech/substrate.git'260branch = 'polkadot-v0.9.14'261branch = 'polkadot-v0.9.16'261262262[dependencies.sp-runtime]263[dependencies.sp-runtime]263default-features = false264default-features = false264git = 'https://github.com/paritytech/substrate.git'265git = 'https://github.com/paritytech/substrate.git'265branch = 'polkadot-v0.9.14'266branch = 'polkadot-v0.9.16'266267267[dependencies.sp-session]268[dependencies.sp-session]268default-features = false269default-features = false269git = 'https://github.com/paritytech/substrate.git'270git = 'https://github.com/paritytech/substrate.git'270branch = 'polkadot-v0.9.14'271branch = 'polkadot-v0.9.16'271272272[dependencies.sp-std]273[dependencies.sp-std]273default-features = false274default-features = false274git = 'https://github.com/paritytech/substrate.git'275git = 'https://github.com/paritytech/substrate.git'275branch = 'polkadot-v0.9.14'276branch = 'polkadot-v0.9.16'276277277[dependencies.sp-transaction-pool]278[dependencies.sp-transaction-pool]278default-features = false279default-features = false279git = 'https://github.com/paritytech/substrate.git'280git = 'https://github.com/paritytech/substrate.git'280branch = 'polkadot-v0.9.14'281branch = 'polkadot-v0.9.16'281282282[dependencies.sp-version]283[dependencies.sp-version]283default-features = false284default-features = false284git = 'https://github.com/paritytech/substrate.git'285git = 'https://github.com/paritytech/substrate.git'285branch = 'polkadot-v0.9.14'286branch = 'polkadot-v0.9.16'286287287[dependencies.smallvec]288[dependencies.smallvec]288version = '1.6.1'289version = '1.6.1'292293293[dependencies.parachain-info]294[dependencies.parachain-info]294default-features = false295default-features = false295git = 'https://github.com/UniqueNetwork/cumulus.git'296git = 'https://github.com/paritytech/cumulus.git'296branch = 'polkadot-v0.9.14'297branch = 'polkadot-v0.9.16'297298298[dependencies.cumulus-pallet-aura-ext]299[dependencies.cumulus-pallet-aura-ext]299git = 'https://github.com/UniqueNetwork/cumulus.git'300git = 'https://github.com/paritytech/cumulus.git'300branch = 'polkadot-v0.9.14'301branch = 'polkadot-v0.9.16'301default-features = false302default-features = false302303303[dependencies.cumulus-pallet-parachain-system]304[dependencies.cumulus-pallet-parachain-system]304git = 'https://github.com/UniqueNetwork/cumulus.git'305git = 'https://github.com/paritytech/cumulus.git'305branch = 'polkadot-v0.9.14'306branch = 'polkadot-v0.9.16'306default-features = false307default-features = false307308308[dependencies.cumulus-primitives-core]309[dependencies.cumulus-primitives-core]309git = 'https://github.com/UniqueNetwork/cumulus.git'310git = 'https://github.com/paritytech/cumulus.git'310branch = 'polkadot-v0.9.14'311branch = 'polkadot-v0.9.16'311default-features = false312default-features = false312313313[dependencies.cumulus-pallet-xcm]314[dependencies.cumulus-pallet-xcm]314git = 'https://github.com/UniqueNetwork/cumulus.git'315git = 'https://github.com/paritytech/cumulus.git'315branch = 'polkadot-v0.9.14'316branch = 'polkadot-v0.9.16'316default-features = false317default-features = false317318318[dependencies.cumulus-pallet-dmp-queue]319[dependencies.cumulus-pallet-dmp-queue]319git = 'https://github.com/UniqueNetwork/cumulus.git'320git = 'https://github.com/paritytech/cumulus.git'320branch = 'polkadot-v0.9.14'321branch = 'polkadot-v0.9.16'321default-features = false322default-features = false322323323[dependencies.cumulus-pallet-xcmp-queue]324[dependencies.cumulus-pallet-xcmp-queue]324git = 'https://github.com/UniqueNetwork/cumulus.git'325git = 'https://github.com/paritytech/cumulus.git'325branch = 'polkadot-v0.9.14'326branch = 'polkadot-v0.9.16'326default-features = false327default-features = false327328328[dependencies.cumulus-primitives-utility]329[dependencies.cumulus-primitives-utility]329git = 'https://github.com/UniqueNetwork/cumulus.git'330git = 'https://github.com/paritytech/cumulus.git'330branch = 'polkadot-v0.9.14'331branch = 'polkadot-v0.9.16'331default-features = false332default-features = false332333333[dependencies.cumulus-primitives-timestamp]334[dependencies.cumulus-primitives-timestamp]334git = 'https://github.com/UniqueNetwork/cumulus.git'335git = 'https://github.com/paritytech/cumulus.git'335branch = 'polkadot-v0.9.14'336branch = 'polkadot-v0.9.16'336default-features = false337default-features = false337338338################################################################################339################################################################################339# Polkadot dependencies340# Polkadot dependencies340341341[dependencies.polkadot-parachain]342[dependencies.polkadot-parachain]342git = 'https://github.com/paritytech/polkadot'343git = 'https://github.com/paritytech/polkadot'343branch = 'release-v0.9.14'344branch = 'release-v0.9.16'344default-features = false345default-features = false345346346[dependencies.xcm]347[dependencies.xcm]347git = 'https://github.com/paritytech/polkadot'348git = 'https://github.com/paritytech/polkadot'348branch = 'release-v0.9.14'349branch = 'release-v0.9.16'349default-features = false350default-features = false350351351[dependencies.xcm-builder]352[dependencies.xcm-builder]352git = 'https://github.com/paritytech/polkadot'353git = 'https://github.com/paritytech/polkadot'353branch = 'release-v0.9.14'354branch = 'release-v0.9.16'354default-features = false355default-features = false355356356[dependencies.xcm-executor]357[dependencies.xcm-executor]357git = 'https://github.com/paritytech/polkadot'358git = 'https://github.com/paritytech/polkadot'358branch = 'release-v0.9.14'359branch = 'release-v0.9.16'359default-features = false360default-features = false360361361[dependencies.pallet-xcm]362[dependencies.pallet-xcm]362git = 'https://github.com/paritytech/polkadot'363git = 'https://github.com/paritytech/polkadot'363branch = 'release-v0.9.14'364branch = 'release-v0.9.16'364default-features = false365default-features = false365366366[dependencies.orml-vesting]367[dependencies.orml-vesting]367git = 'https://github.com/UniqueNetwork/open-runtime-module-library'368git = 'https://github.com/UniqueNetwork/open-runtime-module-library'368branch = 'polkadot-v0.9.14'369branch = 'unique-polkadot-v0.9.16'369version = "0.4.1-dev" 370version = "0.4.1-dev"370default-features = false371default-features = false371372388pallet-nonfungible = { default-features = false, path = "../pallets/nonfungible" }389pallet-nonfungible = { default-features = false, path = "../pallets/nonfungible" }389pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false }390pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false }390# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }391# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }391pallet-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' }392pallet-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' }392pallet-evm-migration = { path = '../pallets/evm-migration', default-features = false }393pallet-evm-migration = { path = '../pallets/evm-migration', default-features = false }393pallet-evm-contract-helpers = { path = '../pallets/evm-contract-helpers', default-features = false }394pallet-evm-contract-helpers = { path = '../pallets/evm-contract-helpers', default-features = false }394pallet-evm-transaction-payment = { path = '../pallets/evm-transaction-payment', default-features = false }395pallet-evm-transaction-payment = { path = '../pallets/evm-transaction-payment', default-features = false }395pallet-evm-coder-substrate = { default-features = false, path = "../pallets/evm-coder-substrate" }396pallet-evm-coder-substrate = { default-features = false, path = "../pallets/evm-coder-substrate" }396397397pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }398pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }398pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }399pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }400pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }399fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }401fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }400fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }402fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }401403402################################################################################404################################################################################403# Build Dependencies405# Build Dependencies404406405[build-dependencies.substrate-wasm-builder]407[build-dependencies.substrate-wasm-builder]406git = 'https://github.com/paritytech/substrate.git'408git = 'https://github.com/paritytech/substrate.git'407branch = 'polkadot-v0.9.14'409branch = 'polkadot-v0.9.16'408410runtime/src/lib.rsdiffbeforeafterboth24 Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,24 Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,25 traits::{25 traits::{26 AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify, AccountIdConversion,26 AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify,27 AccountIdConversion, Zero,27 },28 },28 transaction_validity::{TransactionSource, TransactionValidity},29 transaction_validity::{TransactionSource, TransactionValidity},29 ApplyExtrinsicResult, MultiSignature,30 ApplyExtrinsicResult, MultiSignature, RuntimeAppPublic,30};31};313232use sp_std::prelude::*;33use sp_std::prelude::*;45 dispatch::DispatchResult,46 dispatch::DispatchResult,46 PalletId, parameter_types, StorageValue, ConsensusEngineId,47 PalletId, parameter_types, StorageValue, ConsensusEngineId,47 traits::{48 traits::{48 Everything, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem,49 tokens::currency::Currency as CurrencyT, OnUnbalanced as OnUnbalancedT, Everything,49 LockIdentifier, OnUnbalanced, Randomness, FindAuthor,50 Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier,51 OnUnbalanced, Randomness, FindAuthor,50 },52 },68use codec::{Encode, Decode};70use codec::{Encode, Decode};69use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};71use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};70use fp_rpc::TransactionStatus;72use fp_rpc::TransactionStatus;71use sp_core::crypto::Public;72use sp_runtime::{73use sp_runtime::{73 traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf},74 traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},74 transaction_validity::TransactionValidityError,75 transaction_validity::TransactionValidityError,76 SaturatedConversion,75};77};767877// pub use pallet_timestamp::Call as TimestampCall;79// pub use pallet_timestamp::Call as TimestampCall;83use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};85use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};84use xcm_builder::{86use xcm_builder::{85 AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,87 AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,86 EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,88 EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, ParentAsSuperuser,87 ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative,89 ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,88 SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32,90 SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,89 SovereignSignedViaLocation, TakeWeightCredit, UsingComponents,90};91};91use xcm_executor::{Config, XcmExecutor};92use xcm_executor::{Config, XcmExecutor, Assets};93use sp_std::{marker::PhantomData};9495use xcm::latest::{96 // Xcm,97 AssetId::{Concrete},98 Fungibility::Fungible as XcmFungible,99 MultiAsset,100 Error as XcmError,101};102use xcm_executor::traits::{MatchesFungible, WeightTrader};103//use xcm_executor::traits::MatchesFungible;104use sp_runtime::traits::CheckedConversion;9210593// mod chain_extension;106// mod chain_extension;94// use crate::chain_extension::{NFTExtension, Imbalance};107// use crate::chain_extension::{NFTExtension, Imbalance};147 spec_name: create_runtime_str!("opal"),160 spec_name: create_runtime_str!("opal"),148 impl_name: create_runtime_str!("opal"),161 impl_name: create_runtime_str!("opal"),149 authoring_version: 1,162 authoring_version: 1,150 spec_version: 914000,163 spec_version: 916001,151 impl_version: 1,164 impl_version: 0,152 apis: RUNTIME_API_VERSIONS,165 apis: RUNTIME_API_VERSIONS,153 transaction_version: 1,166 transaction_version: 1,167 state_version: 0,154};168};155169156pub const MILLISECS_PER_BLOCK: u64 = 12000;170pub const MILLISECS_PER_BLOCK: u64 = 12000;283 type CallOrigin = EnsureAddressTruncated;297 type CallOrigin = EnsureAddressTruncated;284 type WithdrawOrigin = EnsureAddressTruncated;298 type WithdrawOrigin = EnsureAddressTruncated;285 type AddressMapping = HashedAddressMapping<Self::Hashing>;299 type AddressMapping = HashedAddressMapping<Self::Hashing>;286 type Precompiles = ();300 type PrecompilesType = ();301 type PrecompilesValue = ();287 type Currency = Balances;302 type Currency = Balances;288 type Event = Event;303 type Event = Event;289 type OnMethodCall = (304 type OnMethodCall = (370 type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;385 type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;371 /// Version of the runtime.386 /// Version of the runtime.372 type Version = Version;387 type Version = Version;388 type MaxConsumers = ConstU32<16>;373}389}374390375parameter_types! {391parameter_types! {501parameter_types! {517parameter_types! {502 pub const ProposalBond: Permill = Permill::from_percent(5);518 pub const ProposalBond: Permill = Permill::from_percent(5);503 pub const ProposalBondMinimum: Balance = 1 * UNIQUE;519 pub const ProposalBondMinimum: Balance = 1 * UNIQUE;520 pub const ProposalBondMaximum: Balance = 1000 * UNIQUE;504 pub const SpendPeriod: BlockNumber = 5 * MINUTES;521 pub const SpendPeriod: BlockNumber = 5 * MINUTES;505 pub const Burn: Permill = Permill::from_percent(0);522 pub const Burn: Permill = Permill::from_percent(0);506 pub const TipCountdown: BlockNumber = 1 * DAYS;523 pub const TipCountdown: BlockNumber = 1 * DAYS;526 type OnSlash = ();543 type OnSlash = ();527 type ProposalBond = ProposalBond;544 type ProposalBond = ProposalBond;528 type ProposalBondMinimum = ProposalBondMinimum;545 type ProposalBondMinimum = ProposalBondMinimum;546 type ProposalBondMaximum = ProposalBondMaximum;529 type SpendPeriod = SpendPeriod;547 type SpendPeriod = SpendPeriod;530 type Burn = Burn;548 type Burn = Burn;531 type BurnDestination = ();549 type BurnDestination = ();575593576impl cumulus_pallet_parachain_system::Config for Runtime {594impl cumulus_pallet_parachain_system::Config for Runtime {577 type Event = Event;595 type Event = Event;578 type OnValidationData = ();579 type SelfParaId = parachain_info::Pallet<Self>;596 type SelfParaId = parachain_info::Pallet<Self>;597 type OnSystemEvent = ();580 // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<598 // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<581 // MaxDownwardMessageWeight,599 // MaxDownwardMessageWeight,582 // XcmExecutor<XcmConfig>,600 // XcmExecutor<XcmConfig>,612 AccountId32Aliases<RelayNetwork, AccountId>,630 AccountId32Aliases<RelayNetwork, AccountId>,613);631);632633pub struct OnlySelfCurrency;634impl<B: TryFrom<u128>> MatchesFungible<B> for OnlySelfCurrency {635 fn matches_fungible(a: &MultiAsset) -> Option<B> {636 match (&a.id, &a.fun) {637 (Concrete(_), XcmFungible(ref amount)) => CheckedConversion::checked_from(*amount),638 _ => None,639 }640 }641}614642615/// Means for transacting assets on this chain.643/// Means for transacting assets on this chain.616pub type LocalAssetTransactor = CurrencyAdapter<644pub type LocalAssetTransactor = CurrencyAdapter<617 // Use this currency:645 // Use this currency:618 Balances,646 Balances,619 // Use this currency when it is a fungible asset matching the given location or name:647 // Use this currency when it is a fungible asset matching the given location or name:620 IsConcrete<RelayLocation>,648 OnlySelfCurrency,621 // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:649 // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:622 LocationToAccountId,650 LocationToAccountId,623 // Our chain's account ID type (we can't get away without mentioning it explicitly):651 // Our chain's account ID type (we can't get away without mentioning it explicitly):673 // ^^^ Parent & its unit plurality gets free execution701 // ^^^ Parent & its unit plurality gets free execution674);702);703704pub struct UsingOnlySelfCurrencyComponents<705 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,706 AssetId: Get<MultiLocation>,707 AccountId,708 Currency: CurrencyT<AccountId>,709 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,710>(711 Weight,712 Currency::Balance,713 PhantomData<(WeightToFee, AssetId, AccountId, Currency, OnUnbalanced)>,714);715impl<716 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,717 AssetId: Get<MultiLocation>,718 AccountId,719 Currency: CurrencyT<AccountId>,720 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,721 > WeightTrader722 for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>723{724 fn new() -> Self {725 Self(0, Zero::zero(), PhantomData)726 }727728 fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result<Assets, XcmError> {729 let amount = WeightToFee::calc(&weight);730 let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?;731732 // location to this parachain through relay chain733 let option1: xcm::v1::AssetId = Concrete(MultiLocation {734 parents: 1,735 interior: X1(Parachain(ParachainInfo::parachain_id().into())),736 });737 // direct location738 let option2: xcm::v1::AssetId = Concrete(MultiLocation {739 parents: 0,740 interior: Here,741 });742743 let required = if payment.fungible.contains_key(&option1) {744 (option1, u128_amount).into()745 } else if payment.fungible.contains_key(&option2) {746 (option2, u128_amount).into()747 } else {748 (Concrete(MultiLocation::default()), u128_amount).into()749 };750751 let unused = payment752 .checked_sub(required)753 .map_err(|_| XcmError::TooExpensive)?;754 self.0 = self.0.saturating_add(weight);755 self.1 = self.1.saturating_add(amount);756 Ok(unused)757 }758759 fn refund_weight(&mut self, weight: Weight) -> Option<MultiAsset> {760 let weight = weight.min(self.0);761 let amount = WeightToFee::calc(&weight);762 self.0 -= weight;763 self.1 = self.1.saturating_sub(amount);764 let amount: u128 = amount.saturated_into();765 if amount > 0 {766 Some((AssetId::get(), amount).into())767 } else {768 None769 }770 }771}772impl<773 WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,774 AssetId: Get<MultiLocation>,775 AccountId,776 Currency: CurrencyT<AccountId>,777 OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,778 > Drop779 for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>780{781 fn drop(&mut self) {782 OnUnbalanced::on_unbalanced(Currency::issue(self.1));783 }784}675785676pub struct XcmConfig;786pub struct XcmConfig;677impl Config for XcmConfig {787impl Config for XcmConfig {685 type LocationInverter = LocationInverter<Ancestry>;795 type LocationInverter = LocationInverter<Ancestry>;686 type Barrier = Barrier;796 type Barrier = Barrier;687 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;797 type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;688 type Trader = UsingComponents<IdentityFee<Balance>, RelayLocation, AccountId, Balances, ()>;798 type Trader = UsingOnlySelfCurrencyComponents<799 IdentityFee<Balance>,800 RelayLocation,801 AccountId,802 Balances,803 (),804 >;689 type ResponseHandler = (); // Don't handle responses for now.805 type ResponseHandler = (); // Don't handle responses for now.690 type SubscriptionService = PolkadotXcm;806 type SubscriptionService = PolkadotXcm;741 type XcmExecutor = XcmExecutor<XcmConfig>;857 type XcmExecutor = XcmExecutor<XcmConfig>;742 type ChannelInfo = ParachainSystem;858 type ChannelInfo = ParachainSystem;743 type VersionWrapper = ();859 type VersionWrapper = ();860 type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;744}861}745862746impl cumulus_pallet_dmp_queue::Config for Runtime {863impl cumulus_pallet_dmp_queue::Config for Runtime {961 Block,1078 Block,962 frame_system::ChainContext<Runtime>,1079 frame_system::ChainContext<Runtime>,963 Runtime,1080 Runtime,964 AllPallets,1081 AllPalletsReversedWithSystemFirst,965>;1082>;9661083967impl_opaque_keys! {1084impl_opaque_keys! {1038 dispatch_unique_runtime!(collection.token_exists(token))1155 dispatch_unique_runtime!(collection.token_exists(token))1039 }1156 }104011571041 fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId, DispatchError> {1158 fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {1042 dispatch_unique_runtime!(collection.token_owner(token))1159 dispatch_unique_runtime!(collection.token_owner(token))1043 }1160 }1044 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {1161 fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {1186 data: Vec<u8>,1303 data: Vec<u8>,1187 value: U256,1304 value: U256,1188 gas_limit: U256,1305 gas_limit: U256,1189 gas_price: Option<U256>,1306 max_fee_per_gas: Option<U256>,1307 max_priority_fee_per_gas: Option<U256>,1190 nonce: Option<U256>,1308 nonce: Option<U256>,1191 estimate: bool,1309 estimate: bool,1310 access_list: Option<Vec<(H160, Vec<H256>)>>,1192 ) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {1311 ) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {1193 let config = if estimate {1312 let config = if estimate {1194 let mut config = <Runtime as pallet_evm::Config>::config().clone();1313 let mut config = <Runtime as pallet_evm::Config>::config().clone();1204 data,1323 data,1205 value,1324 value,1206 gas_limit.low_u64(),1325 gas_limit.low_u64(),1207 gas_price,1326 max_fee_per_gas,1327 max_priority_fee_per_gas,1208 nonce,1328 nonce,1329 access_list.unwrap_or_default(),1209 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1330 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1210 ).map_err(|err| err.into())1331 ).map_err(|err| err.into())1211 }1332 }1216 data: Vec<u8>,1337 data: Vec<u8>,1217 value: U256,1338 value: U256,1218 gas_limit: U256,1339 gas_limit: U256,1219 gas_price: Option<U256>,1340 max_fee_per_gas: Option<U256>,1341 max_priority_fee_per_gas: Option<U256>,1220 nonce: Option<U256>,1342 nonce: Option<U256>,1221 estimate: bool,1343 estimate: bool,1344 access_list: Option<Vec<(H160, Vec<H256>)>>,1222 ) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {1345 ) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {1223 let config = if estimate {1346 let config = if estimate {1224 let mut config = <Runtime as pallet_evm::Config>::config().clone();1347 let mut config = <Runtime as pallet_evm::Config>::config().clone();1233 data,1356 data,1234 value,1357 value,1235 gas_limit.low_u64(),1358 gas_limit.low_u64(),1236 gas_price,1359 max_fee_per_gas,1360 max_priority_fee_per_gas,1237 nonce,1361 nonce,1362 access_list.unwrap_or_default(),1238 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1363 config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),1239 ).map_err(|err| err.into())1364 ).map_err(|err| err.into())1240 }1365 }1270 }).collect()1395 }).collect()1271 }1396 }13971398 fn elasticity() -> Option<Permill> {1399 None1400 }1272 }1401 }127314021274 impl sp_session::SessionKeys<Block> for Runtime {1403 impl sp_session::SessionKeys<Block> for Runtime {1294 }1423 }129514241296 impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {1425 impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {1297 fn collect_collation_info() -> cumulus_primitives_core::CollationInfo {1426 fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo {1298 ParachainSystem::collect_collation_info()1427 ParachainSystem::collect_collation_info(header)1299 }1428 }1300 }1429 }130114301374 list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);1503 list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);1375 // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);1504 // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);137615051377 let storage_info = AllPalletsWithSystem::storage_info();1506 let storage_info = AllPalletsReversedWithSystemFirst::storage_info();137815071379 return (list, storage_info)1508 return (list, storage_info)1380 }1509 }tests/README.mddiffbeforeafterboth51. Checkout polkadot in sibling folder with this project51. Checkout polkadot in sibling folder with this project6```bash6```bash7git clone https://github.com/paritytech/polkadot.git && cd polkadot7git clone https://github.com/paritytech/polkadot.git && cd polkadot8git checkout release-v0.9.148git checkout release-v0.9.169```9```1010112. Build with nightly-2021-11-11112. Build with nightly-2021-11-11tests/package.jsondiffbeforeafterboth64 "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",64 "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",65 "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",65 "testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",66 "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",66 "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",67 "testXcmTransfer": "mocha --timeout 9999999 -r ts-node/register ./**/xcmTransfer.test.ts",67 "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",68 "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",68 "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",69 "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",69 "testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",70 "testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",71 "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",70 "polkadot-types-from-defs": "ts-node ./node_modules/.bin/polkadot-types-from-defs --input src/interfaces/ --package .",72 "polkadot-types-from-defs": "ts-node ./node_modules/.bin/polkadot-types-from-defs --input src/interfaces/ --package .",71 "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint ws://localhost:9944 --output src/interfaces/ --package .",73 "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",72 "polkadot-types": "yarn polkadot-types-from-defs && yarn polkadot-types-from-chain"74 "polkadot-types": "yarn polkadot-types-fetch-metadata && yarn polkadot-types-from-defs && yarn polkadot-types-from-chain"73 },75 },74 "author": "",76 "author": "",75 "license": "SEE LICENSE IN ../LICENSE",77 "license": "SEE LICENSE IN ../LICENSE",tests/src/check-event/createCollectionEvent.test.tsdiffbeforeafterboth27 });27 });28 it('Check event from createCollection(): ', async () => {28 it('Check event from createCollection(): ', async () => {29 await usingApi(async (api: ApiPromise) => {29 await usingApi(async (api: ApiPromise) => {30 const tx = api.tx.unique.createCollection([0x31], [0x32], '0x33', 'NFT');30 const tx = api.tx.unique.createCollectionEx({name: [0x31], description: [0x32], tokenPrefix: '0x33', mode: 'NFT'});31 const events = await submitTransactionAsync(alice, tx);31 const events = await submitTransactionAsync(alice, tx);32 const msg = JSON.stringify(uniqueEventMessage(events));32 const msg = JSON.stringify(uniqueEventMessage(events));33 expect(msg).to.be.contain(checkSection);33 expect(msg).to.be.contain(checkSection);tests/src/createCollection.test.tsdiffbeforeafterboth3// file 'LICENSE', which is part of this source code package.3// file 'LICENSE', which is part of this source code package.4//4//556import chai from 'chai';6import {expect} from 'chai';7import chaiAsPromised from 'chai-as-promised';7import privateKey from './substrate/privateKey';8import usingApi, {executeTransaction, submitTransactionAsync} from './substrate/substrate-api';8import {createCollectionExpectFailure, createCollectionExpectSuccess} from './util/helpers';9import {createCollectionExpectFailure, createCollectionExpectSuccess, getCreateCollectionResult, getDetailedCollectionInfo} from './util/helpers';910chai.use(chaiAsPromised);111012describe('integration test: ext. createCollection():', () => {11describe('integration test: ext. createCollection():', () => {13 it('Create new NFT collection', async () => {12 it('Create new NFT collection', async () => {28 it('Create new ReFungible collection', async () => {27 it('Create new ReFungible collection', async () => {29 await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});28 await createCollectionExpectSuccess({mode: {type: 'ReFungible'}});30 });29 });30 it('Create new collection with extra fields', async () => {31 await usingApi(async api => {32 const alice = privateKey('//Alice');33 const bob = privateKey('//Bob');34 const tx = api.tx.unique.createCollectionEx({35 mode: {Fungible: 8},36 access: 'AllowList',37 name: [1],38 description: [2],39 tokenPrefix: '0x000000',40 offchainSchema: '0x111111',41 schemaVersion: 'Unique',42 pendingSponsor: bob.address,43 limits: {44 accountTokenOwnershipLimit: 3,45 },46 variableOnChainSchema: '0x222222',47 constOnChainSchema: '0x333333',48 metaUpdatePermission: 'Admin',49 });50 const events = await submitTransactionAsync(alice, tx);51 const result = getCreateCollectionResult(events);5253 const collection = (await getDetailedCollectionInfo(api, result.collectionId))!;54 expect(collection.owner.toString()).to.equal(alice.address);55 expect(collection.mode.asFungible.toNumber()).to.equal(8);56 expect(collection.access.isAllowList).to.be.true;57 expect(collection.name.map(v => v.toNumber())).to.deep.equal([1]);58 expect(collection.description.map(v => v.toNumber())).to.deep.equal([2]);59 expect(collection.tokenPrefix.toString()).to.equal('0x000000');60 expect(collection.offchainSchema.toString()).to.equal('0x111111');61 expect(collection.schemaVersion.isUnique).to.be.true;62 expect(collection.sponsorship.asUnconfirmed.toString()).to.equal(bob.address);63 expect(collection.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.equal(3);64 expect(collection.variableOnChainSchema.toString()).to.equal('0x222222');65 expect(collection.constOnChainSchema.toString()).to.equal('0x333333');66 expect(collection.metaUpdatePermission.isAdmin).to.be.true;67 });68 });31});69});327033describe('(!negative test!) integration test: ext. createCollection():', () => {71describe('(!negative test!) integration test: ext. createCollection():', () => {40 it('(!negative test!) create new NFT collection whith incorrect data (token_prefix)', async () => {78 it('(!negative test!) create new NFT collection whith incorrect data (token_prefix)', async () => {41 await createCollectionExpectFailure({tokenPrefix: 'A'.repeat(17), mode: {type: 'NFT'}});79 await createCollectionExpectFailure({tokenPrefix: 'A'.repeat(17), mode: {type: 'NFT'}});42 });80 });81 it('fails when bad limits are set', async () => {82 await usingApi(async api => {83 const alice = privateKey('//Alice');84 const tx = api.tx.unique.createCollectionEx({mode: 'NFT', limits: {tokenLimit: 0}});85 await expect(executeTransaction(api, alice, tx)).to.be.rejectedWith(/^common.CollectionTokenLimitExceeded$/);86 });87 });43});88});4489tests/src/eth/api/ContractHelpers.soldiffbeforeafterboth12 function supportsInterface(bytes4 interfaceID) external view returns (bool);12 function supportsInterface(bytes4 interfaceID) external view returns (bool);13}13}141415// Selector: 31acb1fe15// Selector: 7b4866f916interface ContractHelpers is Dummy, ERC165 {16interface ContractHelpers is Dummy, ERC165 {17 // Selector: contractOwner(address) 5152b14c17 // Selector: contractOwner(address) 5152b14c18 function contractOwner(address contractAddress)18 function contractOwner(address contractAddress)26 view26 view27 returns (bool);27 returns (bool);282829 // Deprecated30 //29 // Selector: toggleSponsoring(address,bool) fcac6d8631 // Selector: toggleSponsoring(address,bool) fcac6d8630 function toggleSponsoring(address contractAddress, bool enabled) external;32 function toggleSponsoring(address contractAddress, bool enabled) external;3334 // Selector: setSponsoringMode(address,uint8) fde8a56035 function setSponsoringMode(address contractAddress, uint8 mode) external;3637 // Selector: sponsoringMode(address) b70c726738 function sponsoringMode(address contractAddress)39 external40 view41 returns (uint8);314232 // Selector: setSponsoringRateLimit(address,uint32) 77b6c90843 // Selector: setSponsoringRateLimit(address,uint32) 77b6c90833 function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)44 function setSponsoringRateLimit(address contractAddress, uint32 rateLimit)tests/src/eth/contractSponsoring.test.tsdiffbeforeafterboth10 createEthAccountWithBalance,10 createEthAccountWithBalance,11 transferBalanceToEth,11 transferBalanceToEth,12 deployFlipper,12 deployFlipper,13 itWeb3} from './util/helpers';13 itWeb3,14 SponsoringMode,15 createEthAccount,16} from './util/helpers';141715describe('Sponsoring EVM contracts', () => {18describe('Sponsoring EVM contracts', () => {18 const flipper = await deployFlipper(web3, owner);21 const flipper = await deployFlipper(web3, owner);19 const helpers = contractHelpers(web3, owner);22 const helpers = contractHelpers(web3, owner);20 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;23 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;21 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});24 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});22 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;25 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;23 });26 });242728 const flipper = await deployFlipper(web3, owner);31 const flipper = await deployFlipper(web3, owner);29 const helpers = contractHelpers(web3, owner);32 const helpers = contractHelpers(web3, owner);30 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;33 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;31 await expect(helpers.methods.toggleSponsoring(notOwner, true).send({from: notOwner})).to.rejected;34 await expect(helpers.methods.setSponsoringMode(notOwner, SponsoringMode.Allowlisted).send({from: notOwner})).to.rejected;32 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;35 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;33 });36 });3738 itWeb3('In generous mode, non-allowlisted user transaction will be sponsored', async ({api, web3}) => {39 const alice = privateKey('//Alice');4041 const owner = await createEthAccountWithBalance(api, web3);42 const caller = await createEthAccountWithBalance(api, web3);4344 const flipper = await deployFlipper(web3, owner);4546 const helpers = contractHelpers(web3, owner);4748 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;49 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Generous).send({from: owner});50 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});51 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;5253 await transferBalanceToEth(api, alice, flipper.options.address);5455 const originalFlipperBalance = await web3.eth.getBalance(flipper.options.address);56 expect(originalFlipperBalance).to.be.not.equal('0');5758 await flipper.methods.flip().send({from: caller});59 expect(await flipper.methods.getValue().call()).to.be.true;6061 // Balance should be taken from flipper instead of caller62 const balanceAfter = await web3.eth.getBalance(flipper.options.address);63 expect(+balanceAfter).to.be.lessThan(+originalFlipperBalance);64 });346535 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}) => {66 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}) => {36 const alice = privateKey('//Alice');67 const alice = privateKey('//Alice');376838 const owner = await createEthAccountWithBalance(api, web3);69 const owner = await createEthAccountWithBalance(api, web3);39 const caller = await createEthAccountWithBalance(api, web3);70 const caller = createEthAccount(web3);407141 const flipper = await deployFlipper(web3, owner);72 const flipper = await deployFlipper(web3, owner);427345 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});76 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});467747 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;78 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;48 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});79 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});49 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});80 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});50 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;81 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;518266 const alice = privateKey('//Alice');97 const alice = privateKey('//Alice');679868 const owner = await createEthAccountWithBalance(api, web3);99 const owner = await createEthAccountWithBalance(api, web3);69 const caller = await createEthAccountWithBalance(api, web3);100 const caller = createEthAccount(web3);7010171 const flipper = await deployFlipper(web3, owner);102 const flipper = await deployFlipper(web3, owner);7210373 const helpers = contractHelpers(web3, owner);104 const helpers = contractHelpers(web3, owner);7410575 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;106 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;76 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});107 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});77 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});108 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});78 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;109 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;79110104 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});135 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});105136106 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;137 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;107 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});138 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});108 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});139 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});109 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;140 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;110141133 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});164 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});134165135 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;166 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;136 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});167 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});137 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 10).send({from: owner});168 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 10).send({from: owner});138 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;169 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;139170158 expect(await helpers.methods.getSponsoringRateLimit(flipper.options.address).call()).to.be.equals('7200');189 expect(await helpers.methods.getSponsoringRateLimit(flipper.options.address).call()).to.be.equals('7200');159 });190 });160161 itWeb3('If allowlist mode is off and sponsorship is on, sponsorship does not work', async ({api, web3}) => {162 const alice = privateKey('//Alice');163164 const owner = await createEthAccountWithBalance(api, web3);165 const caller = await createEthAccountWithBalance(api, web3);166167 const flipper = await deployFlipper(web3, owner);168169 const helpers = contractHelpers(web3, owner);170171 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;172 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});173 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});174 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;175176 await transferBalanceToEth(api, alice, flipper.options.address);177178 const originalFlipperBalance = await web3.eth.getBalance(flipper.options.address);179 expect(originalFlipperBalance).to.be.not.equal('0');180181 await flipper.methods.flip().send({from: caller});182 expect(await flipper.methods.getValue().call()).to.be.true;183184 // Balance should be taken from flipper instead of caller185 const balanceAfter = await web3.eth.getBalance(flipper.options.address);186 expect(+balanceAfter).to.be.equals(+originalFlipperBalance);187 });188189});191});190192tests/src/eth/marketplace/marketplace.test.tsdiffbeforeafterboth2import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance';2import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance';3import privateKey from '../../substrate/privateKey';3import privateKey from '../../substrate/privateKey';4import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionLimitsExpectSuccess, setCollectionSponsorExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers';4import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionLimitsExpectSuccess, setCollectionSponsorExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers';5import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, subToEth, subToEthLowercase, transferBalanceToEth} from '../util/helpers';5import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, SponsoringMode, subToEth, subToEthLowercase, transferBalanceToEth} from '../util/helpers';6import {evmToAddress} from '@polkadot/util-crypto';6import {evmToAddress} from '@polkadot/util-crypto';7import nonFungibleAbi from '../nonFungibleAbi.json';7import nonFungibleAbi from '../nonFungibleAbi.json';8import fungibleAbi from '../fungibleAbi.json';8import fungibleAbi from '../fungibleAbi.json';20 });20 });21 const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner});21 const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner});22 const helpers = contractHelpers(web3, matcherOwner);22 const helpers = contractHelpers(web3, matcherOwner);23 await helpers.methods.toggleSponsoring(matcher.options.address, true).send({from: matcherOwner});23 await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});24 await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});24 await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});25 await transferBalanceToEth(api, alice, matcher.options.address);25 await transferBalanceToEth(api, alice, matcher.options.address);2626147 const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});147 const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});148 await matcher.methods.setEscrow(escrow).send({from: matcherOwner});148 await matcher.methods.setEscrow(escrow).send({from: matcherOwner});149 const helpers = contractHelpers(web3, matcherOwner);149 const helpers = contractHelpers(web3, matcherOwner);150 await helpers.methods.toggleSponsoring(matcher.options.address, true).send({from: matcherOwner});150 await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});151 await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});151 await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});152 await transferBalanceToEth(api, alice, matcher.options.address);152 await transferBalanceToEth(api, alice, matcher.options.address);153153tests/src/eth/payable.test.tsdiffbeforeafterboth34 GAS_ARGS.gas,34 GAS_ARGS.gas,35 await web3.eth.getGasPrice(),35 await web3.eth.getGasPrice(),36 null,36 null,37 null,38 [],37 );39 );38 const events = await submitTransactionAsync(alice, tx);40 const events = await submitTransactionAsync(alice, tx);39 const result = getGenericResult(events);41 const result = getGenericResult(events);tests/src/eth/sponsoring.test.tsdiffbeforeafterboth1import {expect} from 'chai';1import {expect} from 'chai';2import privateKey from '../substrate/privateKey';2import privateKey from '../substrate/privateKey';3import {contractHelpers, createEthAccount, createEthAccountWithBalance, deployCollector, deployFlipper, itWeb3, transferBalanceToEth} from './util/helpers';3import {contractHelpers, createEthAccount, createEthAccountWithBalance, deployCollector, deployFlipper, itWeb3, SponsoringMode, transferBalanceToEth} from './util/helpers';445describe('EVM sponsoring', () => {5describe('EVM sponsoring', () => {6 itWeb3('Fee is deducted from contract if sponsoring is enabled', async ({api, web3}) => {6 itWeb3('Fee is deducted from contract if sponsoring is enabled', async ({api, web3}) => {18 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});18 await helpers.methods.toggleAllowed(flipper.options.address, caller, true).send({from: owner});191920 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;20 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.false;21 await helpers.methods.toggleSponsoring(flipper.options.address, true).send({from: owner});21 await helpers.methods.setSponsoringMode(flipper.options.address, SponsoringMode.Allowlisted).send({from: owner});22 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});22 await helpers.methods.setSponsoringRateLimit(flipper.options.address, 0).send({from: owner});23 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;23 expect(await helpers.methods.sponsoringEnabled(flipper.options.address).call()).to.be.true;242449 await helpers.methods.toggleAllowed(collector.options.address, caller, true).send({from: owner});49 await helpers.methods.toggleAllowed(collector.options.address, caller, true).send({from: owner});505051 expect(await helpers.methods.sponsoringEnabled(collector.options.address).call()).to.be.false;51 expect(await helpers.methods.sponsoringEnabled(collector.options.address).call()).to.be.false;52 await helpers.methods.toggleSponsoring(collector.options.address, true).send({from: owner});52 await helpers.methods.setSponsoringMode(collector.options.address, SponsoringMode.Allowlisted).send({from: owner});53 await helpers.methods.setSponsoringRateLimit(collector.options.address, 0).send({from: owner});53 await helpers.methods.setSponsoringRateLimit(collector.options.address, 0).send({from: owner});54 expect(await helpers.methods.sponsoringEnabled(collector.options.address).call()).to.be.true;54 expect(await helpers.methods.sponsoringEnabled(collector.options.address).call()).to.be.true;5555tests/src/eth/util/contractHelpersAbi.jsondiffbeforeafterboth139 "stateMutability": "nonpayable",139 "stateMutability": "nonpayable",140 "type": "function"140 "type": "function"141 },141 },142 {143 "inputs": [144 {145 "internalType": "address",146 "name": "target",147 "type": "address"148 },149 {150 "internalType": "uint8",151 "name": "mode",152 "type": "uint8"153 }154 ],155 "name": "setSponsoringMode",156 "outputs": [],157 "stateMutability": "nonpayable",158 "type": "function"159 },160 {161 "inputs": [162 {163 "internalType": "address",164 "name": "target",165 "type": "address"166 }167 ],168 "name": "sponsoringMode",169 "outputs": [170 {171 "internalType": "uint8",172 "name": "",173 "type": "uint8"174 }175 ],176 "stateMutability": "nonpayable",177 "type": "function"178 },142 {179 {143 "inputs": [180 "inputs": [144 {181 {tests/src/eth/util/helpers.tsdiffbeforeafterboth212122export const GAS_ARGS = {gas: 2500000};22export const GAS_ARGS = {gas: 2500000};2324export enum SponsoringMode {25 Disabled = 0,26 Allowlisted = 1,27 Generous = 2,28}232924let web3Connected = false;30let web3Connected = false;25export async function usingWeb3<T>(cb: (web3: Web3) => Promise<T> | T): Promise<T> {31export async function usingWeb3<T>(cb: (web3: Web3) => Promise<T> | T): Promise<T> {249 GAS_ARGS.gas,255 GAS_ARGS.gas,250 await web3.eth.getGasPrice(),256 await web3.eth.getGasPrice(),251 null,257 null,258 null,259 [],252 );260 );253 const events = await submitTransactionAsync(from, tx);261 const events = await submitTransactionAsync(from, tx);254 expect(events.some(({event: {section, method}}) => section == 'evm' && method == 'Executed')).to.be.true;262 expect(events.some(({event: {section, method}}) => section == 'evm' && method == 'Executed')).to.be.true;tests/src/interfaces/.gitignorediffbeforeafterbothno changes
tests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth2/* eslint-disable */2/* eslint-disable */334import type { ApiTypes } from '@polkadot/api/types';4import type { ApiTypes } from '@polkadot/api/types';5import type { Vec, u128, u16, u32, u64, u8 } from '@polkadot/types';5import type { Option, Vec, u128, u16, u32, u64, u8 } from '@polkadot/types';6import type { Permill } from '@polkadot/types/interfaces/runtime';6import type { Permill } from '@polkadot/types/interfaces/runtime';7import type { FrameSupportPalletId, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion } from '@polkadot/types/lookup';7import type { FrameSupportPalletId, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion } from '@polkadot/types/lookup';8import type { Codec } from '@polkadot/types/types';8import type { Codec } from '@polkadot/types/types';36 [key: string]: Codec;36 [key: string]: Codec;37 };37 };38 inflation: {38 inflation: {39 /**40 * Number of blocks that pass between treasury balance updates due to inflation41 **/39 inflationBlockInterval: u32 & AugmentedConst<ApiType>;42 inflationBlockInterval: u32 & AugmentedConst<ApiType>;40 /**43 /**41 * Generic const44 * Generic const145 * An accepted proposal gets these back. A rejected proposal does not.148 * An accepted proposal gets these back. A rejected proposal does not.146 **/149 **/147 proposalBond: Permill & AugmentedConst<ApiType>;150 proposalBond: Permill & AugmentedConst<ApiType>;151 /**152 * Maximum amount of funds that should be placed in a deposit for making a proposal.153 **/154 proposalBondMaximum: Option<u128> & AugmentedConst<ApiType>;148 /**155 /**149 * Minimum amount of funds that should be placed in a deposit for making a proposal.156 * Minimum amount of funds that should be placed in a deposit for making a proposal.150 **/157 **/tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth60 * Tried to approve more than owned60 * Tried to approve more than owned61 **/61 **/62 CantApproveMoreThanOwned: AugmentedError<ApiType>;62 CantApproveMoreThanOwned: AugmentedError<ApiType>;63 /**63 /**64 * Exceeded max admin amount64 * Exceeded max admin count65 **/65 **/66 CollectionAdminAmountExceeded: AugmentedError<ApiType>;66 CollectionAdminCountExceeded: AugmentedError<ApiType>;67 /**67 /**68 * Collection description can not be longer than 255 char.68 * Collection description can not be longer than 255 char.69 **/69 **/70 CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;70 CollectionDescriptionLimitExceeded: AugmentedError<ApiType>;71 /**72 * Collection limit bounds per collection exceeded73 **/74 CollectionLimitBoundsExceeded: AugmentedError<ApiType>;71 /**75 /**72 * Collection name can not be longer than 63 char.76 * Collection name can not be longer than 63 char.73 **/77 **/96 * No permission to perform action100 * No permission to perform action97 **/101 **/98 NoPermission: AugmentedError<ApiType>;102 NoPermission: AugmentedError<ApiType>;103 /**104 * Tried to enable permissions which are only permitted to be disabled105 **/106 OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;99 /**107 /**100 * Collection is not in mint mode.108 * Collection is not in mint mode.101 **/109 **/107 /**115 /**108 * Requested value more than approved.116 * Requested value more than approved.109 **/117 **/110 TokenValueNotEnough: AugmentedError<ApiType>;118 ApprovedValueTooLow: AugmentedError<ApiType>;111 /**119 /**112 * Item balance not enough.120 * Item balance not enough.113 **/121 **/227 /**235 /**228 * Tried to set data for fungible item236 * Tried to set data for fungible item229 **/237 **/230 FungibleItemsHaveData: AugmentedError<ApiType>;238 FungibleItemsDontHaveData: AugmentedError<ApiType>;231 /**239 /**232 * Not default id passed as TokenId argument240 * Not default id passed as TokenId argument233 **/241 **/380 [key: string]: AugmentedError<ApiType>;388 [key: string]: AugmentedError<ApiType>;381 };389 };382 system: {390 system: {391 /**392 * The origin filter prevent the call to be dispatched.393 **/394 CallFiltered: AugmentedError<ApiType>;383 /**395 /**384 * Failed to extract the runtime version from the new runtime.396 * Failed to extract the runtime version from the new runtime.385 * 397 * 432 * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.444 * Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.433 **/445 **/434 CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;446 CollectionDecimalPointLimitExceeded: AugmentedError<ApiType>;435 /**436 * Collection limit bounds per collection exceeded437 **/438 CollectionLimitBoundsExceeded: AugmentedError<ApiType>;439 /**447 /**440 * This address is not set as sponsor, use setCollectionSponsor first.448 * This address is not set as sponsor, use setCollectionSponsor first.441 **/449 **/444 * Length of items properties must be greater than 0.452 * Length of items properties must be greater than 0.445 **/453 **/446 EmptyArgument: AugmentedError<ApiType>;454 EmptyArgument: AugmentedError<ApiType>;447 /**448 * Tried to enable permissions which are only permitted to be disabled449 **/450 OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;451 /**455 /**452 * Generic error456 * Generic error453 **/457 **/484 [key: string]: AugmentedError<ApiType>;488 [key: string]: AugmentedError<ApiType>;485 };489 };486 xcmpQueue: {490 xcmpQueue: {491 /**492 * Bad overweight index.493 **/494 BadOverweightIndex: AugmentedError<ApiType>;487 /**495 /**488 * Bad XCM data.496 * Bad XCM data.489 **/497 **/496 * Failed to send XCM message.504 * Failed to send XCM message.497 **/505 **/498 FailedToSend: AugmentedError<ApiType>;506 FailedToSend: AugmentedError<ApiType>;507 /**508 * Provided weight is possibly not enough to execute the message.509 **/510 WeightOverLimit: AugmentedError<ApiType>;499 /**511 /**500 * Generic error512 * Generic error501 **/513 **/tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth2/* eslint-disable */2/* eslint-disable */334import type { EthereumLog, EvmCoreErrorExitReason } from './ethereum';4import type { EthereumLog, EvmCoreErrorExitReason } from './ethereum';5import type { PalletCommonAccountBasicCrossAccountIdRepr } from './unique';5import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode } from './unique';6import type { ApiTypes } from '@polkadot/api/types';6import type { ApiTypes } from '@polkadot/api/types';7import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types';7import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types';8import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';8import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';11declare module '@polkadot/api/types/events' {11declare module '@polkadot/api/types/events' {12 export interface AugmentedEvents<ApiType> {12 export interface AugmentedEvents<ApiType> {13 balances: {13 balances: {14 /**14 /**15 * A balance was set by root. \[who, free, reserved\]15 * A balance was set by root.16 **/16 **/17 BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;17 BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;18 /**18 /**19 * Some amount was deposited into the account (e.g. for transaction fees). \[who,19 * Some amount was deposited (e.g. for transaction fees).20 * deposit\]20 **/21 **/22 Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;21 Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;23 /**22 /**24 * An account was removed whose balance was non-zero but below ExistentialDeposit,23 * An account was removed whose balance was non-zero but below ExistentialDeposit,25 * resulting in an outright loss. \[account, balance\]24 * resulting in an outright loss.26 **/25 **/27 DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;26 DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;28 /**27 /**29 * An account was created with some free balance. \[account, free_balance\]28 * An account was created with some free balance.30 **/29 **/31 Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;30 Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;32 /**31 /**33 * Some balance was reserved (moved from free to reserved). \[who, value\]32 * Some balance was reserved (moved from free to reserved).34 **/33 **/35 Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;34 Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;36 /**35 /**37 * Some balance was moved from the reserve of the first account to the second account.36 * Some balance was moved from the reserve of the first account to the second account.38 * Final argument indicates the destination balance type.37 * Final argument indicates the destination balance type.39 * \[from, to, balance, destination_status\]38 **/40 **/41 ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;39 ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;42 /**40 /**43 * Some amount was removed from the account (e.g. for misbehavior). \[who,41 * Some amount was removed from the account (e.g. for misbehavior).44 * amount_slashed\]42 **/45 **/46 Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;43 Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;47 /**44 /**48 * Transfer succeeded. \[from, to, value\]45 * Transfer succeeded.49 **/46 **/50 Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;47 Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;51 /**48 /**52 * Some balance was unreserved (moved from reserved to free). \[who, value\]49 * Some balance was unreserved (moved from reserved to free).53 **/50 **/54 Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;51 Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;55 /**52 /**56 * Some amount was withdrawn from the account (e.g. for transaction fees). \[who, value\]53 * Some amount was withdrawn from the account (e.g. for transaction fees).57 **/54 **/58 Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;55 Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;59 /**56 /**60 * Generic event57 * Generic event86 * * account_id: Collection owner.83 * * account_id: Collection owner.87 **/84 **/88 CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;85 CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;86 /**87 * New collection was destroyed88 * 89 * # Arguments90 * 91 * * collection_id: Globally unique identifier of collection.92 **/93 CollectionDestroyed: AugmentedEvent<ApiType, [u32]>;89 /**94 /**90 * New item was created.95 * New item was created.91 * 96 * 287 * \[ origin location, id, expected location \]292 * \[ origin location, id, expected location \]288 **/293 **/289 InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;294 InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;290 /**295 /**291 * Expected query response has been received but the expected origin location placed in296 * Expected query response has been received but the expected origin location placed in292 * storate by this runtime previously cannot be decoded. The query remains registered.297 * storage by this runtime previously cannot be decoded. The query remains registered.293 * 298 * 294 * This is unexpected (since a location placed in storage in a previously executing299 * This is unexpected (since a location placed in storage in a previously executing295 * runtime should be readable prior to query timeout) and dangerous since the possibly300 * runtime should be readable prior to query timeout) and dangerous since the possibly296 * valid response will be dropped. Manual governance intervention is probably going to be301 * valid response will be dropped. Manual governance intervention is probably going to be297 * needed.302 * needed.298 * 303 * 299 * \[ origin location, id \]304 * \[ origin location, id \]300 **/305 **/301 InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;306 InvalidResponderVersion: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64]>;302 /**307 /**303 * Query response has been received and query is removed. The registered notification has308 * Query response has been received and query is removed. The registered notification has389 [key: string]: AugmentedEvent<ApiType>;394 [key: string]: AugmentedEvent<ApiType>;390 };395 };391 sudo: {396 sudo: {392 /**397 /**393 * The \[sudoer\] just switched identity; the old key is supplied.398 * The \[sudoer\] just switched identity; the old key is supplied if one existed.394 **/399 **/395 KeyChanged: AugmentedEvent<ApiType, [AccountId32]>;400 KeyChanged: AugmentedEvent<ApiType, [Option<AccountId32>]>;396 /**401 /**397 * A sudo just took place. \[result\]402 * A sudo just took place. \[result\]398 **/403 **/411 * `:code` was updated.416 * `:code` was updated.412 **/417 **/413 CodeUpdated: AugmentedEvent<ApiType, []>;418 CodeUpdated: AugmentedEvent<ApiType, []>;414 /**419 /**415 * An extrinsic failed. \[error, info\]420 * An extrinsic failed.416 **/421 **/417 ExtrinsicFailed: AugmentedEvent<ApiType, [SpRuntimeDispatchError, FrameSupportWeightsDispatchInfo]>;422 ExtrinsicFailed: AugmentedEvent<ApiType, [SpRuntimeDispatchError, FrameSupportWeightsDispatchInfo]>;418 /**423 /**419 * An extrinsic completed successfully. \[info\]424 * An extrinsic completed successfully.420 **/425 **/421 ExtrinsicSuccess: AugmentedEvent<ApiType, [FrameSupportWeightsDispatchInfo]>;426 ExtrinsicSuccess: AugmentedEvent<ApiType, [FrameSupportWeightsDispatchInfo]>;422 /**427 /**423 * An \[account\] was reaped.428 * An account was reaped.424 **/429 **/425 KilledAccount: AugmentedEvent<ApiType, [AccountId32]>;430 KilledAccount: AugmentedEvent<ApiType, [AccountId32]>;426 /**431 /**427 * A new \[account\] was created.432 * A new account was created.428 **/433 **/429 NewAccount: AugmentedEvent<ApiType, [AccountId32]>;434 NewAccount: AugmentedEvent<ApiType, [AccountId32]>;430 /**435 /**431 * On on-chain remark happened. \[origin, remark_hash\]436 * On on-chain remark happened.432 **/437 **/433 Remarked: AugmentedEvent<ApiType, [AccountId32, H256]>;438 Remarked: AugmentedEvent<ApiType, [AccountId32, H256]>;434 /**439 /**435 * Generic event440 * Generic event436 **/441 **/437 [key: string]: AugmentedEvent<ApiType>;442 [key: string]: AugmentedEvent<ApiType>;438 };443 };439 treasury: {444 treasury: {440 /**445 /**441 * Some funds have been allocated. \[proposal_index, award, beneficiary\]446 * Some funds have been allocated.442 **/447 **/443 Awarded: AugmentedEvent<ApiType, [u32, u128, AccountId32]>;448 Awarded: AugmentedEvent<ApiType, [u32, u128, AccountId32]>;444 /**449 /**445 * Some of our funds have been burnt. \[burn\]450 * Some of our funds have been burnt.446 **/451 **/447 Burnt: AugmentedEvent<ApiType, [u128]>;452 Burnt: AugmentedEvent<ApiType, [u128]>;448 /**453 /**449 * Some funds have been deposited. \[deposit\]454 * Some funds have been deposited.450 **/455 **/451 Deposit: AugmentedEvent<ApiType, [u128]>;456 Deposit: AugmentedEvent<ApiType, [u128]>;452 /**457 /**453 * New proposal. \[proposal_index\]458 * New proposal.454 **/459 **/455 Proposed: AugmentedEvent<ApiType, [u32]>;460 Proposed: AugmentedEvent<ApiType, [u32]>;456 /**461 /**457 * A proposal was rejected; funds were slashed. \[proposal_index, slashed\]462 * A proposal was rejected; funds were slashed.458 **/463 **/459 Rejected: AugmentedEvent<ApiType, [u32, u128]>;464 Rejected: AugmentedEvent<ApiType, [u32, u128]>;460 /**465 /**461 * Spending has finished; this is the amount that rolls over until next spend.466 * Spending has finished; this is the amount that rolls over until next spend.462 * \[budget_remaining\]467 **/463 **/464 Rollover: AugmentedEvent<ApiType, [u128]>;468 Rollover: AugmentedEvent<ApiType, [u128]>;465 /**469 /**466 * We have ended a spend period and will now allocate funds. \[budget_remaining\]470 * We have ended a spend period and will now allocate funds.467 **/471 **/468 Spending: AugmentedEvent<ApiType, [u128]>;472 Spending: AugmentedEvent<ApiType, [u128]>;469 /**473 /**470 * Generic event474 * Generic event471 **/475 **/472 [key: string]: AugmentedEvent<ApiType>;476 [key: string]: AugmentedEvent<ApiType>;473 };477 };478 unique: {479 /**480 * Address was add to allow list481 * 482 * # Arguments483 * 484 * * collection_id: Globally unique collection identifier.485 * 486 * * user: Address.487 **/488 AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;489 /**490 * Address was remove from allow list491 * 492 * # Arguments493 * 494 * * collection_id: Globally unique collection identifier.495 * 496 * * user: Address.497 **/498 AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;499 /**500 * Collection admin was added501 * 502 * # Arguments503 * 504 * * collection_id: Globally unique collection identifier.505 * 506 * * admin: Admin address.507 **/508 CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;509 /**510 * Collection admin was removed511 * 512 * # Arguments513 * 514 * * collection_id: Globally unique collection identifier.515 * 516 * * admin: Admin address.517 **/518 CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;519 /**520 * Collection limits was set521 * 522 * # Arguments523 * 524 * * collection_id: Globally unique collection identifier.525 **/526 CollectionLimitSet: AugmentedEvent<ApiType, [u32]>;527 /**528 * Collection owned was change529 * 530 * # Arguments531 * 532 * * collection_id: Globally unique collection identifier.533 * 534 * * owner: New owner address.535 **/536 CollectionOwnedChanged: AugmentedEvent<ApiType, [u32, AccountId32]>;537 /**538 * Collection sponsor was removed539 * 540 * # Arguments541 * 542 * * collection_id: Globally unique collection identifier.543 **/544 CollectionSponsorRemoved: AugmentedEvent<ApiType, [u32]>;545 /**546 * Collection sponsor was set547 * 548 * # Arguments549 * 550 * * collection_id: Globally unique collection identifier.551 * 552 * * owner: New sponsor address.553 **/554 CollectionSponsorSet: AugmentedEvent<ApiType, [u32, AccountId32]>;555 /**556 * const on chain schema was set557 * 558 * # Arguments559 * 560 * * collection_id: Globally unique collection identifier.561 **/562 ConstOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;563 /**564 * Mint permission was set565 * 566 * # Arguments567 * 568 * * collection_id: Globally unique collection identifier.569 **/570 MintPermissionSet: AugmentedEvent<ApiType, [u32]>;571 /**572 * Offchain schema was set573 * 574 * # Arguments575 * 576 * * collection_id: Globally unique collection identifier.577 **/578 OffchainSchemaSet: AugmentedEvent<ApiType, [u32]>;579 /**580 * Public access mode was set581 * 582 * # Arguments583 * 584 * * collection_id: Globally unique collection identifier.585 * 586 * * mode: New access state.587 **/588 PublicAccessModeSet: AugmentedEvent<ApiType, [u32, UpDataStructsAccessMode]>;589 /**590 * Schema version was set591 * 592 * # Arguments593 * 594 * * collection_id: Globally unique collection identifier.595 **/596 SchemaVersionSet: AugmentedEvent<ApiType, [u32]>;597 /**598 * New sponsor was confirm599 * 600 * # Arguments601 * 602 * * collection_id: Globally unique collection identifier.603 * 604 * * sponsor: New sponsor address.605 **/606 SponsorshipConfirmed: AugmentedEvent<ApiType, [u32, AccountId32]>;607 /**608 * Variable on chain schema was set609 * 610 * # Arguments611 * 612 * * collection_id: Globally unique collection identifier.613 **/614 VariableOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;615 /**616 * Generic event617 **/618 [key: string]: AugmentedEvent<ApiType>;619 };474 vesting: {620 vesting: {475 /**621 /**476 * Claimed vesting. \[who, locked_amount\]622 * Claimed vesting.477 **/623 **/478 Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;624 Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;479 /**625 /**480 * Added new vesting schedule. \[from, to, vesting_schedule\]626 * Added new vesting schedule.481 **/627 **/482 VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;628 VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;483 /**629 /**484 * Updated vesting schedules. \[who\]630 * Updated vesting schedules.485 **/631 **/486 VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;632 VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;487 /**633 /**488 * Generic event634 * Generic event502 * Some XCM failed.648 * Some XCM failed.503 **/649 **/504 Fail: AugmentedEvent<ApiType, [Option<H256>, XcmV2TraitsError]>;650 Fail: AugmentedEvent<ApiType, [Option<H256>, XcmV2TraitsError]>;651 /**652 * An XCM exceeded the individual message weight budget.653 **/654 OverweightEnqueued: AugmentedEvent<ApiType, [u32, u32, u64, u64]>;655 /**656 * An XCM from the overweight queue was executed with the given actual weight used.657 **/658 OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;505 /**659 /**506 * Some XCM was executed ok.660 * Some XCM was executed ok.507 **/661 **/tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */2/* eslint-disable */334import type { EthereumBlock, EthereumReceipt, EthereumTransactionLegacyTransaction, FpRpcTransactionStatus } from './ethereum';4import type { EthereumBlock, FpRpcTransactionStatus } from './ethereum';5import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';5import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueQueueConfigData, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';6import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, UpDataStructsCollection, UpDataStructsCollectionStats } from './unique';6import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, UpDataStructsCollection, UpDataStructsCollectionStats } from './unique';7import type { ApiTypes } from '@polkadot/api/types';7import type { ApiTypes } from '@polkadot/api/types';8import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';8import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';105 /**105 /**106 * The current Ethereum receipts.106 * The current Ethereum receipts.107 **/107 **/108 currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceipt>>>, []> & QueryableStorageEntry<ApiType, []>;108 currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;109 /**109 /**110 * The current transaction statuses.110 * The current transaction statuses.111 **/111 **/112 currentTransactionStatuses: AugmentedQuery<ApiType, () => Observable<Option<Vec<FpRpcTransactionStatus>>>, []> & QueryableStorageEntry<ApiType, []>;112 currentTransactionStatuses: AugmentedQuery<ApiType, () => Observable<Option<Vec<FpRpcTransactionStatus>>>, []> & QueryableStorageEntry<ApiType, []>;113 /**113 /**114 * Current building block's transactions and receipts.114 * Current building block's transactions and receipts.115 **/115 **/116 pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionLegacyTransaction, FpRpcTransactionStatus, EthereumReceipt]>>>, []> & QueryableStorageEntry<ApiType, []>;116 pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;117 /**117 /**118 * Generic query118 * Generic query119 **/119 **/162 [key: string]: QueryableStorageEntry<ApiType>;162 [key: string]: QueryableStorageEntry<ApiType>;163 };163 };164 inflation: {164 inflation: {165 /**165 /**166 * Current block inflation166 * Current inflation for `InflationBlockInterval` number of blocks167 **/167 **/168 blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;168 blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;169 /**170 * Next target (relay) block when inflation will be applied171 **/172 nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;173 /**174 * Next target (relay) block when inflation is recalculated175 **/176 nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;177 /**178 * Relay block when inflation has started179 **/180 startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;169 /**181 /**170 * starting year total issuance182 * starting year total issuance171 **/183 **/207 * The next authorized upgrade, if there is one.219 * The next authorized upgrade, if there is one.208 **/220 **/209 authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;221 authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;222 /**223 * A custom head data that should be returned as result of `validate_block`.224 * 225 * See [`Pallet::set_custom_validation_head_data`] for more information.226 **/227 customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;210 /**228 /**211 * Were the validation data set to notify the relay chain?229 * Were the validation data set to notify the relay chain?212 **/230 **/353 /**371 /**354 * The `AccountId` of the sudo key.372 * The `AccountId` of the sudo key.355 **/373 **/356 key: AugmentedQuery<ApiType, () => Observable<AccountId32>, []> & QueryableStorageEntry<ApiType, []>;374 key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;357 /**375 /**358 * Generic query376 * Generic query359 **/377 **/540 /**558 /**541 * Status of the inbound XCMP channels.559 * Status of the inbound XCMP channels.542 **/560 **/543 inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, CumulusPalletXcmpQueueInboundStatus, Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>]>>>, []> & QueryableStorageEntry<ApiType, []>;561 inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;544 /**562 /**545 * The messages outbound in a given XCMP channel.563 * The messages outbound in a given XCMP channel.546 **/564 **/553 * case of the need to send a high-priority signal message this block.571 * case of the need to send a high-priority signal message this block.554 * The bool is true if there is a signal message waiting to be sent.572 * The bool is true if there is a signal message waiting to be sent.555 **/573 **/556 outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, CumulusPalletXcmpQueueOutboundStatus, bool, u16, u16]>>>, []> & QueryableStorageEntry<ApiType, []>;574 outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;575 /**576 * The messages that exceeded max individual message weight budget.577 * 578 * These message stay in this storage map until they are manually dispatched via579 * `service_overweight`.580 **/581 overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;582 /**583 * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next584 * available free overweight index.585 **/586 overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;557 /**587 /**558 * The configuration which controls the dynamics of the outbound queue.588 * The configuration which controls the dynamics of the outbound queue.559 **/589 **/tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */2/* eslint-disable */334import type { EthereumTransactionLegacyTransaction } from './ethereum';5import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';4import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';6import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';5import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';7import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';6import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';8import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';7import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';9import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';8import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';9import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';11import type { SpCoreChangesTrieChangesTrieConfiguration, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';10import type { XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';12import type { AnyNumber, ITuple } from '@polkadot/types/types';11import type { AnyNumber, ITuple } from '@polkadot/types/types';131214declare module '@polkadot/api/types/submittable' {13declare module '@polkadot/api/types/submittable' {29 * Can only be called by ROOT.28 * Can only be called by ROOT.30 **/29 **/31 forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u128]>;30 forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, u128]>;32 /**31 /**33 * Set the balances of a given account.32 * Set the balances of a given account.34 * 33 * 35 * This will alter `FreeBalance` and `ReservedBalance` in storage. it will34 * This will alter `FreeBalance` and `ReservedBalance` in storage. it will36 * also decrease the total issuance of the system (`TotalIssuance`).35 * also alter the total issuance of the system (`TotalIssuance`) appropriately.37 * If the new free or reserved balance is below the existential deposit,36 * If the new free or reserved balance is below the existential deposit,38 * it will reset the account nonce (`frame_system::AccountNonce`).37 * it will reset the account nonce (`frame_system::AccountNonce`).39 * 38 * 40 * The dispatch origin for this call is `root`.39 * The dispatch origin for this call is `root`.41 * 40 **/42 * # <weight>43 * - Independent of the arguments.44 * - Contains a limited number of reads and writes.45 * ---------------------46 * - Base Weight:47 * - Creating: 27.56 µs48 * - Killing: 35.11 µs49 * - DB Weight: 1 Read, 1 Write to `who`50 * # </weight>51 **/52 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>]>;41 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>]>;53 /**42 /**54 * Transfer some liquid free balance to another account.43 * Transfer some liquid free balance to another account.55 * 44 * 56 * `transfer` will set the `FreeBalance` of the sender and receiver.45 * `transfer` will set the `FreeBalance` of the sender and receiver.57 * It will decrease the total issuance of the system by the `TransferFee`.46 * If the sender's account is below the existential deposit as a result58 * If the sender's account is below the existential deposit as a result47 * of the transfer, the account will be reaped.59 * of the transfer, the account will be reaped.48 * 60 * 49 * The dispatch origin for this call must be `Signed` by the transactor.61 * The dispatch origin for this call must be `Signed` by the transactor.50 * 62 * 51 * # <weight>63 * # <weight>52 * - Dependent on arguments but not critical, given proper implementations for input config64 * - Dependent on arguments but not critical, given proper implementations for input config53 * types. See related functions below.65 * types. See related functions below.54 * - It contains a limited number of reads and writes internally and no complex66 * - It contains a limited number of reads and writes internally and no complex55 * computation.67 * computation.56 * 68 * 57 * Related functions:69 * Related functions:58 * 70 * 59 * - `ensure_can_withdraw` is always called internally but has a bounded complexity.71 * - `ensure_can_withdraw` is always called internally but has a bounded complexity.60 * - Transferring balances to accounts that did not exist before will cause72 * - Transferring balances to accounts that did not exist before will cause61 * `T::OnNewAccount::on_new_account` to be called.73 * `T::OnNewAccount::on_new_account` to be called.62 * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.74 * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.63 * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check75 * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check64 * that the transfer will not kill the origin account.76 * that the transfer will not kill the origin account.65 * ---------------------------------77 * ---------------------------------78 * - Base Weight: 73.64 µs, worst case scenario (account created, account removed)79 * - DB Weight: 1 Read and 1 Write to destination account66 * - Origin account is already in memory, so no DB operations for them.80 * - Origin account is already in memory, so no DB operations for them.67 * # </weight>81 * # </weight>68 **/82 **/83 transfer: 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>]>;69 transfer: 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>]>;84 /**70 /**85 * Transfer the entire transferable balance from the caller account.71 * Transfer the entire transferable balance from the caller account.101 * #</weight>87 * #</weight>102 **/88 **/103 transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>;89 transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, bool]>;104 /**90 /**105 * Same as the [`transfer`] call, but with a check that the transfer will not kill the91 * Same as the [`transfer`] call, but with a check that the transfer will not kill the106 * origin account.92 * origin account.107 * 93 * 108 * 99% of the time you want [`transfer`] instead.94 * 99% of the time you want [`transfer`] instead.109 * 95 * 110 * [`transfer`]: struct.Pallet.html#method.transfer96 * [`transfer`]: struct.Pallet.html#method.transfer111 * # <weight>97 **/112 * - Cheaper than transfer because account cannot be killed.113 * - Base Weight: 51.4 µs114 * - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)115 * #</weight>116 **/117 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>]>;98 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>]>;118 /**99 /**119 * Generic tx100 * Generic tx157 /**138 /**158 * Transact an Ethereum transaction.139 * Transact an Ethereum transaction.159 **/140 **/160 transact: AugmentedSubmittable<(transaction: EthereumTransactionLegacyTransaction | { nonce?: any; gasPrice?: any; gasLimit?: any; action?: any; value?: any; input?: any; signature?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionLegacyTransaction]>;141 transact: AugmentedSubmittable<(transaction: EthereumTransactionTransactionV2 | { Legacy: any } | { EIP2930: any } | { EIP1559: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionTransactionV2]>;161 /**142 /**162 * Generic tx143 * Generic tx163 **/144 **/167 /**148 /**168 * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.149 * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.169 **/150 **/170 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>]>;151 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>]>>]>;171 /**152 /**172 * Issue an EVM create operation. This is similar to a contract creation transaction in153 * Issue an EVM create operation. This is similar to a contract creation transaction in173 * Ethereum.154 * Ethereum.174 **/155 **/175 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>]>;156 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>]>>]>;176 /**157 /**177 * Issue an EVM create2 operation.158 * Issue an EVM create2 operation.178 **/159 **/179 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>]>;160 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>]>>]>;180 /**161 /**181 * Withdraw balance from EVM into currency/balances pallet.162 * Withdraw balance from EVM into currency/balances pallet.182 **/163 **/196 [key: string]: SubmittableExtrinsicFunction<ApiType>;177 [key: string]: SubmittableExtrinsicFunction<ApiType>;197 };178 };198 inflation: {179 inflation: {180 /**181 * This method sets the inflation start date. Can be only called once.182 * Inflation start block can be backdated and will catch up. The method will create Treasury183 * account if it does not exist and perform the first inflation deposit.184 * 185 * # Permissions186 * 187 * * Root188 * 189 * # Arguments190 * 191 * * inflation_start_relay_block: The relay chain block at which inflation should start192 **/193 startInflation: AugmentedSubmittable<(inflationStartRelayBlock: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;199 /**194 /**200 * Generic tx195 * Generic tx201 **/196 **/288 * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.283 * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.289 **/284 **/290 limitedReserveTransferAssets: 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]>;285 limitedReserveTransferAssets: 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]>;291 /**286 /**292 * Teleport some assets from the local chain to some destination chain.287 * Teleport some assets from the local chain to some destination chain.293 * 288 * 294 * Fee payment on the destination side is made from the first asset listed in the `assets` vector.289 * Fee payment on the destination side is made from the first asset listed in the `assets` vector.295 * 290 * 296 * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.291 * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.297 * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send292 * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send298 * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.293 * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.299 * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be294 * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be300 * an `AccountId32` value.295 * an `AccountId32` value.301 * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the296 * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the302 * `dest` side. May not be empty.297 * `dest` side. May not be empty.303 * - `dest_weight`: Equal to the total weight on `dest` of the XCM message298 * - `fee_asset_item`: The index into `assets` of the item which should be used to pay304 * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.299 * fees.305 * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.300 * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.306 **/301 **/307 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]>;302 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]>;308 /**303 /**309 * Transfer some assets from the local chain to the sovereign account of a destination chain and forward304 * Transfer some assets from the local chain to the sovereign account of a destination chain and forward325 **/320 **/326 reserveTransferAssets: 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]>;321 reserveTransferAssets: 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]>;327 send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedXcm]>;322 send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedXcm]>;328 /**323 /**329 * Teleport some assets from the local chain to some destination chain.324 * Teleport some assets from the local chain to some destination chain.330 * 325 * 331 * Fee payment on the destination side is made from the first asset listed in the `assets` vector and326 * Fee payment on the destination side is made from the first asset listed in the `assets` vector and332 * fee-weight is calculated locally and thus remote weights are assumed to be equal to327 * fee-weight is calculated locally and thus remote weights are assumed to be equal to333 * local weights.328 * local weights.334 * 329 * 335 * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.330 * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.336 * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send331 * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send337 * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.332 * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.338 * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be333 * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be339 * an `AccountId32` value.334 * an `AccountId32` value.340 * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the335 * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the341 * `dest` side. May not be empty.336 * `dest` side. May not be empty.342 * - `dest_weight`: Equal to the total weight on `dest` of the XCM message337 * - `fee_asset_item`: The index into `assets` of the item which should be used to pay343 * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.338 * fees.344 **/339 **/345 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]>;340 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]>;346 /**341 /**347 * Generic tx342 * Generic tx374 * - Weight of derivative `call` execution + 10,000.369 * - Weight of derivative `call` execution + 10,000.375 * # </weight>370 * # </weight>376 **/371 **/377 sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic<ApiType>, [Call]>;372 sudo: AugmentedSubmittable<(call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;378 /**373 /**379 * Authenticates the sudo key and dispatches a function call with `Signed` origin from374 * Authenticates the sudo key and dispatches a function call with `Signed` origin from380 * a given account.375 * a given account.388 * - Weight of derivative `call` execution + 10,000.383 * - Weight of derivative `call` execution + 10,000.389 * # </weight>384 * # </weight>390 **/385 **/391 sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, ) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;386 sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;392 /**387 /**393 * Authenticates the sudo key and dispatches a function call with `Root` origin.388 * Authenticates the sudo key and dispatches a function call with `Root` origin.394 * This function does not check the weight of the call, and instead allows the389 * This function does not check the weight of the call, and instead allows the401 * - The weight of this call is defined by the caller.396 * - The weight of this call is defined by the caller.402 * # </weight>397 * # </weight>403 **/398 **/404 sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;399 sudoUncheckedWeight: AugmentedSubmittable<(call: Call | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;405 /**400 /**406 * Generic tx401 * Generic tx407 **/402 **/412 * A dispatch that will fill the block weight up to the given ratio.407 * A dispatch that will fill the block weight up to the given ratio.413 **/408 **/414 fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;409 fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Perbill]>;415 /**410 /**416 * Kill all storage items with a key that starts with the given prefix.411 * Kill all storage items with a key that starts with the given prefix.417 * 412 * 418 * **NOTE:** We rely on the Root origin to provide us the number of subkeys under413 * **NOTE:** We rely on the Root origin to provide us the number of subkeys under419 * the prefix we are removing to accurately calculate the weight of this function.414 * the prefix we are removing to accurately calculate the weight of this function.420 * 415 **/421 * # <weight>422 * - `O(P)` where `P` amount of keys with prefix `prefix`423 * - `P` storage deletions.424 * - Base Weight: 0.834 * P µs425 * - Writes: Number of subkeys + 1426 * # </weight>427 **/428 killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;416 killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;429 /**417 /**430 * Kill some items from storage.418 * Kill some items from storage.431 * 419 **/432 * # <weight>433 * - `O(IK)` where `I` length of `keys` and `K` length of one key434 * - `I` storage deletions.435 * - Base Weight: .378 * i µs436 * - Writes: Number of items437 * # </weight>438 **/439 killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;420 killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;440 /**421 /**441 * Make some on-chain remark.422 * Make some on-chain remark.454 * # </weight>435 * # </weight>455 **/436 **/456 remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;437 remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;457 /**458 * Set the new changes trie configuration.459 * 460 * # <weight>461 * - `O(1)`462 * - 1 storage write or delete (codec `O(1)`).463 * - 1 call to `deposit_log`: Uses `append` API, so O(1)464 * - Base Weight: 7.218 µs465 * - DB Weight:466 * - Writes: Changes Trie, System Digest467 * # </weight>468 **/469 setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<SpCoreChangesTrieChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<SpCoreChangesTrieChangesTrieConfiguration>]>;470 /**438 /**471 * Set the new runtime code.439 * Set the new runtime code.472 * 440 * 494 * block. # </weight>462 * block. # </weight>495 **/463 **/496 setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;464 setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;497 /**465 /**498 * Set the number of pages in the WebAssembly environment's heap.466 * Set the number of pages in the WebAssembly environment's heap.499 * 467 **/500 * # <weight>501 * - `O(1)`502 * - 1 storage write.503 * - Base Weight: 1.405 µs504 * - 1 write to HEAP_PAGES505 * - 1 digest item506 * # </weight>507 **/508 setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;468 setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;509 /**469 /**510 * Set some items of storage.470 * Set some items of storage.511 * 471 **/512 * # <weight>513 * - `O(I)` where `I` length of `items`514 * - `I` storage writes (`O(1)`).515 * - Base Weight: 0.568 * i µs516 * - Writes: Number of items517 * # </weight>518 **/519 setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;472 setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;520 /**473 /**521 * Generic tx474 * Generic tx717 * * mode: [CollectionMode] collection type and type dependent data.670 * * mode: [CollectionMode] collection type and type dependent data.718 **/671 **/719 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]>;672 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]>;673 /**674 * This method creates a collection675 * 676 * Prefer it to deprecated [`created_collection`] method677 **/678 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]>;720 /**679 /**721 * This method creates a concrete instance of NFT Collection created with CreateCollection method.680 * This method creates a concrete instance of NFT Collection created with CreateCollection method.722 * 681 * 1025 [key: string]: SubmittableExtrinsicFunction<ApiType>;984 [key: string]: SubmittableExtrinsicFunction<ApiType>;1026 };985 };1027 xcmpQueue: {986 xcmpQueue: {987 /**988 * Services a single overweight XCM.989 * 990 * - `origin`: Must pass `ExecuteOverweightOrigin`.991 * - `index`: The index of the overweight XCM to service992 * - `weight_limit`: The amount of weight that XCM execution may take.993 * 994 * Errors:995 * - `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.996 * - `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.997 * - `WeightOverLimit`: XCM execution may use greater `weight_limit`.998 * 999 * Events:1000 * - `OverweightServiced`: On success.1001 **/1002 serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;1028 /**1003 /**1029 * Generic tx1004 * Generic tx1030 **/1005 **/tests/src/interfaces/augment-types.tsdiffbeforeafterboth334import type { EthereumBlock, EthereumLog, EthereumReceipt, EthereumTransactionLegacyTransaction, EvmCoreErrorExitReason, FpRpcTransactionStatus } from './ethereum';4import type { EthereumBlock, EthereumLog, EthereumReceipt, EthereumTransactionLegacyTransaction, EvmCoreErrorExitReason, FpRpcTransactionStatus } from './ethereum';5import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';5import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';6import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';6import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, PalletUnqSchedulerCallSpec, PalletUnqSchedulerReleases, PalletUnqSchedulerScheduledV2, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionId, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsorshipState, UpDataStructsTokenId } from './unique';7import 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';7import 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';8import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';8import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';9import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';9import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';1021 UpDataStructsCollectionLimits: UpDataStructsCollectionLimits;1021 UpDataStructsCollectionLimits: UpDataStructsCollectionLimits;1022 UpDataStructsCollectionMode: UpDataStructsCollectionMode;1022 UpDataStructsCollectionMode: UpDataStructsCollectionMode;1023 UpDataStructsCollectionStats: UpDataStructsCollectionStats;1023 UpDataStructsCollectionStats: UpDataStructsCollectionStats;1024 UpDataStructsCreateCollectionData: UpDataStructsCreateCollectionData;1024 UpDataStructsCreateItemData: UpDataStructsCreateItemData;1025 UpDataStructsCreateItemData: UpDataStructsCreateItemData;1025 UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;1026 UpDataStructsMetaUpdatePermission: UpDataStructsMetaUpdatePermission;1026 UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;1027 UpDataStructsSchemaVersion: UpDataStructsSchemaVersion;tests/src/interfaces/unique/definitions.tsdiffbeforeafterboth67 constOnChainSchema: 'Vec<u8>',67 constOnChainSchema: 'Vec<u8>',68 metaUpdatePermission: 'UpDataStructsMetaUpdatePermission',68 metaUpdatePermission: 'UpDataStructsMetaUpdatePermission',69 },69 },70 UpDataStructsCreateCollectionData: {71 mode: 'UpDataStructsCollectionMode',72 access: 'Option<UpDataStructsAccessMode>',73 name: 'Vec<u16>',74 description: 'Vec<u16>',75 tokenPrefix: 'Vec<u8>',76 offchainSchema: 'Vec<u8>',77 schemaVersion: 'Option<UpDataStructsSchemaVersion>',78 pendingSponsor: 'Option<AccountId>',79 limits: 'Option<UpDataStructsCollectionLimits>',80 variableOnChainSchema: 'Vec<u8>',81 constOnChainSchema: 'Vec<u8>',82 metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>',83 },70 UpDataStructsCollectionStats: {84 UpDataStructsCollectionStats: {71 created: 'u32',85 created: 'u32',72 destroyed: 'u32',86 destroyed: 'u32',76 UpDataStructsTokenId: 'u32',90 UpDataStructsTokenId: 'u32',77 PalletNonfungibleItemData: mkDummy('NftItemData'),91 PalletNonfungibleItemData: mkDummy('NftItemData'),78 PalletRefungibleItemData: mkDummy('RftItemData'),92 PalletRefungibleItemData: mkDummy('RftItemData'),79 UpDataStructsCollectionMode: mkDummy('CollectionMode'),93 UpDataStructsCollectionMode: {94 _enum: {95 NFT: null,96 Fungible: 'u32',97 ReFungible: null,98 },99 },80 UpDataStructsCreateItemData: mkDummy('CreateItemData'),100 UpDataStructsCreateItemData: mkDummy('CreateItemData'),81 UpDataStructsCollectionLimits: {101 UpDataStructsCollectionLimits: {82 accountTokenOwnershipLimit: 'Option<u32>',102 accountTokenOwnershipLimit: 'Option<u32>',101 UpDataStructsAccessMode: {121 UpDataStructsAccessMode: {102 _enum: ['Normal', 'AllowList'],122 _enum: ['Normal', 'AllowList'],103 },123 },104 UpDataStructsSchemaVersion: mkDummy('SchemaVersion'),124 UpDataStructsSchemaVersion: {125 _enum: ['ImageURL', 'Unique'],126 },105127106 PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),128 PalletUnqSchedulerScheduledV2: mkDummy('ScheduledV2'),107 PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),129 PalletUnqSchedulerCallSpec: mkDummy('CallSpec'),tests/src/interfaces/unique/types.tsdiffbeforeafterboth77}77}787879/** @name UpDataStructsCollectionMode */79/** @name UpDataStructsCollectionMode */80export interface UpDataStructsCollectionMode extends Struct {80export interface UpDataStructsCollectionMode extends Enum {81 readonly isNft: boolean;82 readonly isFungible: boolean;81 readonly dummyCollectionMode: u32;83 readonly asFungible: u32;84 readonly isReFungible: boolean;82}85}838684/** @name UpDataStructsCollectionStats */87/** @name UpDataStructsCollectionStats */88 readonly alive: u32;91 readonly alive: u32;89}92}9394/** @name UpDataStructsCreateCollectionData */95export interface UpDataStructsCreateCollectionData extends Struct {96 readonly mode: UpDataStructsCollectionMode;97 readonly access: Option<UpDataStructsAccessMode>;98 readonly name: Vec<u16>;99 readonly description: Vec<u16>;100 readonly tokenPrefix: Bytes;101 readonly offchainSchema: Bytes;102 readonly schemaVersion: Option<UpDataStructsSchemaVersion>;103 readonly pendingSponsor: Option<AccountId>;104 readonly limits: Option<UpDataStructsCollectionLimits>;105 readonly variableOnChainSchema: Bytes;106 readonly constOnChainSchema: Bytes;107 readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;108}9010991/** @name UpDataStructsCreateItemData */110/** @name UpDataStructsCreateItemData */92export interface UpDataStructsCreateItemData extends Struct {111export interface UpDataStructsCreateItemData extends Struct {101}120}102121103/** @name UpDataStructsSchemaVersion */122/** @name UpDataStructsSchemaVersion */104export interface UpDataStructsSchemaVersion extends Struct {123export interface UpDataStructsSchemaVersion extends Enum {105 readonly dummySchemaVersion: u32;124 readonly isImageUrl: boolean;125 readonly isUnique: boolean;106}126}107127108/** @name UpDataStructsSponsorshipState */128/** @name UpDataStructsSponsorshipState */tests/src/substrate/substrate-api.tsdiffbeforeafterboth95 return TransactionStatus.Fail;95 return TransactionStatus.Fail;96}96}9798export function executeTransaction(api: ApiPromise, sender: IKeyringPair, transaction: SubmittableExtrinsic<'promise'>): Promise<EventRecord[]> {99 return new Promise(async (res, rej) => {100 try {101 await transaction.signAndSend(sender, ({events, status}) => {102 if (!status.isInBlock && !status.isFinalized) return;103 for (const {event} of events) {104 if (api.events.system.ExtrinsicSuccess.is(event)) {105 res(events);106 } else if (api.events.system.ExtrinsicFailed.is(event)) {107 const {data: [error]} = event;108 if (error.isModule) {109 const decoded = api.registry.findMetaError(error.asModule);110 const {method, section} = decoded;111 rej(new Error(`${section}.${method}`));112 } else {113 rej(new Error(error.toString()));114 }115 }116 }117 });118 } catch (e) {119 rej(e);120 }121 });122}9712398export function124export function99submitTransactionAsync(sender: IKeyringPair, transaction: SubmittableExtrinsic<ApiTypes>): Promise<EventRecord[]> {125submitTransactionAsync(sender: IKeyringPair, transaction: SubmittableExtrinsic<ApiTypes>): Promise<EventRecord[]> {tests/src/util/helpers.tsdiffbeforeafterboth283 modeprm = {refungible: null};283 modeprm = {refungible: null};284 }284 }285285286 const tx = api.tx.unique.createCollection(strToUTF16(name), strToUTF16(description), strToUTF16(tokenPrefix), modeprm as any);286 const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});287 const events = await submitTransactionAsync(alicePrivateKey, tx);287 const events = await submitTransactionAsync(alicePrivateKey, tx);288 const result = getCreateCollectionResult(events);288 const result = getCreateCollectionResult(events);289289329329330 // Run the CreateCollection transaction330 // Run the CreateCollection transaction331 const alicePrivateKey = privateKey('//Alice');331 const alicePrivateKey = privateKey('//Alice');332 const tx = api.tx.unique.createCollection(strToUTF16(name), strToUTF16(description), strToUTF16(tokenPrefix), modeprm as any);332 const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});333 const events = await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;333 const events = await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;334 const result = getCreateCollectionResult(events);334 const result = getCreateCollectionResult(events);335335tests/src/xcmTransfer.test.tsdiffbeforeafterbothno changes