difftreelog
Merge pull request #287 from UniqueNetwork/release/quartz-v916001
in: master
Release/quartz v916001
67 files changed
.envdiffbeforeafterboth--- a/.env
+++ b/.env
@@ -1,6 +1,6 @@
RUST_TOOLCHAIN=nightly-2021-11-11
RUST_C=1.58.0-nightly
-POLKA_VERSION=release-v0.9.14
+POLKA_VERSION=release-v0.9.16
UNIQUE_BRANCH=develop
USER=***
PASS=***
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-parachaindiffbeforeafterboth--- a/Dockerfile-parachain
+++ b/Dockerfile-parachain
@@ -4,7 +4,7 @@
ARG RUST_TOOLCHAIN=nightly-2021-11-11
#ARG RUST_C=1.58.0-nightly
-ARG POLKA_VERSION=release-v0.9.14
+ARG POLKA_VERSION=release-v0.9.16
ARG UNIQUE_BRANCH=develop
#ARG USER=***
@@ -90,7 +90,7 @@
nvm install v15.5.0 && \
nvm use v15.5.0
-RUN git clone https://github.com/PureStake/polkadot-launch -b jlm-use-para-id-in-specs
+RUN git clone https://github.com/paritytech/polkadot-launch
RUN export NVM_DIR="$HOME/.nvm" && \
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -29,26 +29,11 @@
Please see our [walk-thorugh instructions](doc/hackusama_walk_through.md) to try everything out!
-## Hackusama Update
-
-During the Kusama Hackaphon the following changes were made:
-
-- Enabled Smart Contracts Pallet
-- Enabled integration between Smart Contracts and Unique Pallet (required special edition of RC4 Substrate version)
-- Fixed misc. bugs in Unique Pallet
-- Deployed Unique TestNet. Public node available at wss://unique.usetech.com, custom UI types - see below in this README.
-- New Features:
- - Re-Fungible Token Mode
- - Off-Chain Schema to store token image URLs
- - Alternative economic model
- - Allow Lists and Public Mint Permission
-- Use example: [SubstraPunks Game](https://github.com/usetech-llc/substrapunks), fully hosted on IPFS and Unique Testnet
- Blockchain.
-
## Application Development
If you are building an application that operates NFT tokens, use [this document](doc/application_development.md).
+
## Building
Building Unique chain requires special versions of Rust and toolchain. We don't use the most recent versions of everything
@@ -57,8 +42,8 @@
1. Install Rust:
```bash
+sudo apt-get install git curl libssl-dev llvm pkg-config libclang-dev clang
curl https://sh.rustup.rs -sSf | sh
-sudo apt-get install libssl-dev pkg-config libclang-dev clang
```
2. Remove all installed toolchains with `rustup toolchain list` and `rustup toolchain uninstall <toolchain>`.
@@ -86,111 +71,52 @@
cargo build --release
```
-## Run
-
-You can start a development chain with:
-
-```bash
-cargo run -- --dev
-```
-
-Detailed logs may be shown by running the node with the following environment variables set:
-`RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev`.
+## Building as Parachain locally
-If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet with two
-validator nodes for Alice and Bob, who are the initial authorities of the genesis chain that have been endowed with
-testnet units. Give each node a name and expose them so they are listed on the Polkadot
-[telemetry site](https://telemetry.polkadot.io/#/Local%20Testnet). You'll need two terminal windows open.
+Note: checkout this project and all related projects (see below) in the sibling folders (both under the same folder)
-We'll start Alice's substrate node first on default TCP port 30333 with her chain database stored locally at
-`/tmp/alice`. The bootnode ID of her node is `QmQZ8TjTqeDj3ciwr93EJ95hxfDsb9pEYDizUAbWpigtQN`, which is generated from
-the `--node-key` value that we specify below:
+### Polkadot launch utility
-```bash
-cargo run -- \
- --base-path /tmp/alice \
- --chain=local \
- --alice \
- --node-key 0000000000000000000000000000000000000000000000000000000000000001 \
- --telemetry-url ws://telemetry.polkadot.io:1024 \
- --validator
```
-
-In the second terminal, we'll start Bob's substrate node on a different TCP port of 30334, and with his chain database
-stored locally at `/tmp/bob`. We'll specify a value for the `--bootnodes` option that will connect his node to Alice's
-bootnode ID on TCP port 30333:
-
-```bash
-cargo run -- \
- --base-path /tmp/bob \
- --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/QmQZ8TjTqeDj3ciwr93EJ95hxfDsb9pEYDizUAbWpigtQN \
- --chain=local \
- --bob \
- --port 30334 \
- --telemetry-url ws://telemetry.polkadot.io:1024 \
- --validator
+git clone https://github.com/paritytech/polkadot-launch
```
-
-Additional CLI usage options are available and may be shown by running `cargo run -- --help`.
-
-## Building and Running as Parachain locally
-
-Rust toolchain: nightly-2021-11-11
-Note: checkout this project and polkadot project (see below) in the sibling folders (both under the same folder)
### Build relay
```
git clone https://github.com/paritytech/polkadot.git
cd polkadot
-git checkout release-v0.9.13
+git checkout release-v0.9.16
cargo build --release
```
-### Build parachain
+### Build Unique parachain
Run in the root of this project:
```
-cargo --build
+cargo build --release
```
-### Run 4-node Relay
-
-1. Download `rococo-custom-4.json` chain spec here: https://substrate.dev/cumulus-workshop/shared/chainspecs/rococo-custom-4.json
-2. Use these instructions to launch 4 nodes: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/1-launch
+### Build Acala parachain (optional, full config only)
-Example (Run in polkadot folder. Replace `12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on` with output from Alice node):
```
-./target/release/polkadot --alice --validator --base-path ./cumulus_relay0 --chain rococo-custom-4.json --port 50555 --ws-port 9944
-./target/release/polkadot --bob --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50556 --ws-port 9945
-./target/release/polkadot --charlie --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50557 --ws-port 9946
-./target/release/polkadot --dave --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50558 --ws-port 9947
-
+git clone https://github.com/AcalaNetwork/Acala
+cd Acala
+git checkout 54db3acd409a0b787f116f20e163a3b24101ce38
+make build-release
```
-3. Export genesis state and runtime wasm from Unique parachain:
+## Running as Parachain locally
-Run from this project root:
```
-./target/release/unique-collator export-genesis-state --parachain-id 2000 > ./resources/para-2000-genesis
-./target/release/unique-collator export-genesis-wasm > ./resources/para-2000-wasm
+./launch-testnet.sh
```
-4. Run two parachain nodes:
-
-Replace `12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg` with Alice or Bob relay ID
-
-Run from this project root:
+Optional, full setup with Acala and Statemint
```
-./target/release/unique-collator --alice --collator --force-authoring --base-path ./tmp/parachain-alice --parachain-id 2000 --port 40333 --ws-port 9844 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30343 --ws-port 9977
-./target/release/unique-collator --bob --collator --force-authoring --parachain-id 2000 --base-path ./tmp/parachain/bob --port 40334 --ws-port 9845 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30344 --ws-port 9978 --bootnodes /ip4/127.0.0.1/tcp/50556/p2p/12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg
+./launch-testnet-full.sh
```
-
-4. Reserve parachain ID as described here: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/2-reserve
-5. Register parachain in relay as described here: https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register
-
-
## Run Integration Tests
1. Install all needed dependecies
@@ -202,40 +128,11 @@
2. Run tests
```
yarn test
-```
-
-## Benchmarks
-
-First of all, add rust toolchain and make it default.
-```bash
-rustup target add wasm32-unknown-unknown --toolchain nightly-2021-11-11
-```
-
-Then in "/node/src" run build command below
-```bash
-cargo +nightly-2021-11-11 build --release --features runtime-benchmarks
-```
-
-Run benchmark
-```bash
-target/release/unique-collator benchmark --chain dev --pallet "pallet_unique" --extrinsic "*" --repeat 1
```
-
-## UI custom types
-
-Moved to [runtime_types.json](./runtime_types.json).
-
-## Running Integration Tests
-See [tests/README.md](./tests/README.md).
## Code Formatting
-### Get formatter and linter settings into your branch (if you forked before they were introduced)
-```bash
-git cherry-pick -n 8ff77c21b0d30b2a4648fa35dbf61dfa9d3948a7
-```
-
### Apply formatting and clippy fixes
```bash
cargo clippy
@@ -252,84 +149,57 @@
cd tests && yarn eslint --ext .ts,.js src/
```
-## Re-Enabling Ink! Contracts
-Uncomment following lies:
-1. In node/rpc/Cargo.toml
-```
-# pallet-contracts-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.9' }
-```
+## Karura token transfer
-2. In node/rpc/src/lib.rs
-```
-// C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber, Hash>,
-...
-// use pallet_contracts_rpc::{Contracts, ContractsApi};
-...
-// io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone())));
+To get started, you need to open inbound and outbound hrmp channels.
+### Next, we need to register our asset at Karura.
```
+assetRegistry -> registerForeignAsset(location, metadata)
+location:
+ V0(X2(Parent, Parachain(PARA_ID)))
+metadata:
+ name QTZ
+ symbol QTZ
+ decimals 18
+minimalBalance 1
+```
-3. In runtime/Cargo.toml
+### Next, we can send tokens from Quartz to Karura:
```
- # 'pallet-contracts/std',
- # 'pallet-contracts-primitives/std',
- # 'pallet-contracts-rpc-runtime-api/std',
- # 'pallet-contract-helpers/std',
-...
- # [dependencies.pallet-contracts]
- # git = 'https://github.com/paritytech/substrate.git'
- # default-features = false
- # branch = 'polkadot-v0.9.9'
- # version = '3.0.0'
+polkadotXcm -> reserveTransferAssets
+dest:
+ V0(X2(Parent, Parachain(<KARURA_PARA_ID>)))
+beneficiary:
+ X1(AccountId(Any, <ACCOUNT>))
+assets:
+ V1(Concrete(0,Here), Fungible(<AMOUNT>))
+feeAssetItem:
+ 0
+weightLimit:
+ <LIMIT>
+```
- # [dependencies.pallet-contracts-primitives]
- # git = 'https://github.com/paritytech/substrate.git'
- # default-features = false
- # branch = 'polkadot-v0.9.9'
- # version = '3.0.0'
+The result will be displayed in ChainState
+tokens -> accounts
- # [dependencies.pallet-contracts-rpc-runtime-api]
- # git = 'https://github.com/paritytech/substrate.git'
- # default-features = false
- # branch = 'polkadot-v0.9.9'
- # version = '3.0.0'
-...
- # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
+### To send tokens from Karura to Quartz:
```
+xtokens -> transfer
-4. runtime/src/lib.rs
-```
-// use pallet_contracts::weights::WeightInfo;
-...
-// pub use pallet_timestamp::Call as TimestampCall;
-...
-// mod chain_extension;
-// use crate::chain_extension::{NFTExtension, Imbalance};
-...
-/*
-parameter_types! {
- pub TombstoneDeposit: Balance = deposit(
- ...
-}
-*/
-...
-//pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,
-...
-// impl pallet_contract_helpers::Config for Runtime {}
-...
-// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>},
-...
-// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage},
-...
-//pallet_contract_helpers::ContractHelpersExtension<Runtime>,
-...
-/*
- impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>
- for Runtime
- {
- ...
- }
-*/
+currencyId:
+ ForeingAsset
+ <TOKEN_ID>
-```
+amount:
+ <AMOUNT>
+dest:
+ V1
+ (
+ Parents:1,
+ X2(Parachain(<KARURA_PARA_ID>), AccountId(Any, <ACCOUNT>)
+ )
+destWeight:
+ <WEIGHT>
+```
\ No newline at end of file
client/rpc/Cargo.tomldiffbeforeafterboth--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -12,8 +12,8 @@
jsonrpc-core-client = "18.0.0"
jsonrpc-derive = "18.0.0"
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
client/rpc/src/lib.rsdiffbeforeafterboth--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -4,7 +4,7 @@
use jsonrpc_core::{Error as RpcError, ErrorCode, Result};
use jsonrpc_derive::rpc;
use up_data_structs::{Collection, CollectionId, CollectionStats, TokenId};
-use sp_api::{BlockId, BlockT, ProvideRuntimeApi};
+use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
use sp_blockchain::HeaderBackend;
use up_rpc::UniqueApi as UniqueRuntimeApi;
@@ -31,7 +31,7 @@
collection: CollectionId,
token: TokenId,
at: Option<BlockHash>,
- ) -> Result<CrossAccountId>;
+ ) -> Result<Option<CrossAccountId>>;
#[rpc(name = "unique_constMetadata")]
fn const_metadata(
&self,
@@ -132,7 +132,10 @@
}
macro_rules! pass_method {
- ($method_name:ident($($name:ident: $ty:ty),* $(,)?) -> $result:ty $(=> $mapper:expr)?) => {
+ (
+ $method_name:ident($($name:ident: $ty:ty),* $(,)?) -> $result:ty $(=> $mapper:expr)?
+ $(; changed_in $ver:expr, $changed_method_name:ident ($($changed_name:expr), * $(,)?) => $fixer:expr)*
+ ) => {
fn $method_name(
&self,
$(
@@ -142,8 +145,25 @@
) -> Result<$result> {
let api = self.client.runtime_api();
let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash));
+ let _api_version = if let Ok(Some(api_version)) =
+ api.api_version::<dyn UniqueRuntimeApi<Block, CrossAccountId, AccountId>>(&at)
+ {
+ api_version
+ } else {
+ // unreachable for our runtime
+ return Err(RpcError {
+ code: ErrorCode::InvalidParams,
+ message: "Api is not available".into(),
+ data: None,
+ })
+ };
+
+ let result = $(if _api_version < $ver {
+ api.$changed_method_name(&at, $($changed_name),*).map(|r| r.map($fixer))
+ } else)*
+ { api.$method_name(&at, $($name),*) };
- let result = api.$method_name(&at, $($name),*).map_err(|e| RpcError {
+ let result = result.map_err(|e| RpcError {
code: ErrorCode::ServerError(Error::RuntimeError.into()),
message: "Unable to query".into(),
data: Some(format!("{:?}", e).into()),
@@ -168,7 +188,10 @@
{
pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);
pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);
- pass_method!(token_owner(collection: CollectionId, token: TokenId) -> CrossAccountId);
+ pass_method!(
+ token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>;
+ changed_in 2, token_owner_before_version_2(collection, token) => |u| Some(u)
+ );
pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
pass_method!(variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
pass_method!(collection_tokens(collection: CollectionId) -> u32);
crates/evm-coder/Cargo.tomldiffbeforeafterboth--- a/crates/evm-coder/Cargo.toml
+++ b/crates/evm-coder/Cargo.toml
@@ -7,8 +7,8 @@
evm-coder-macros = { path = "../evm-coder-macros" }
primitive-types = { version = "0.10.1", default-features = false }
hex-literal = "0.3.3"
-ethereum = { version = "0.10.0", default-features = false }
-evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-weights" }
+ethereum = { version = "0.11.1", default-features = false }
+evm-core = { default-features = false, git = "https://github.com/uniquenetwork/evm.git", branch = "unique-polkadot-v0.9.16" }
impl-trait-for-tuples = "0.2.1"
[dev-dependencies]
doc/hackusama_update.mddiffbeforeafterboth--- /dev/null
+++ b/doc/hackusama_update.md
@@ -0,0 +1,15 @@
+## Hackusama Update
+
+During the Kusama Hackaphon the following changes were made:
+
+- Enabled Smart Contracts Pallet
+- Enabled integration between Smart Contracts and Unique Pallet (required special edition of RC4 Substrate version)
+- Fixed misc. bugs in Unique Pallet
+- Deployed Unique TestNet. Public node available at wss://unique.usetech.com, custom UI types - see below in this README.
+- New Features:
+ - Re-Fungible Token Mode
+ - Off-Chain Schema to store token image URLs
+ - Alternative economic model
+ - Allow Lists and Public Mint Permission
+- Use example: [SubstraPunks Game](https://github.com/usetech-llc/substrapunks), fully hosted on IPFS and Unique Testnet
+ Blockchain.
\ No newline at end of file
doc/re-enable_ink_contracts.mddiffbeforeafterboth--- /dev/null
+++ b/doc/re-enable_ink_contracts.md
@@ -0,0 +1,81 @@
+## Re-Enabling Ink! Contracts
+
+Uncomment following lies:
+1. In node/rpc/Cargo.toml
+```
+# pallet-contracts-rpc = { version = "3.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.9' }
+```
+
+2. In node/rpc/src/lib.rs
+```
+// C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber, Hash>,
+...
+// use pallet_contracts_rpc::{Contracts, ContractsApi};
+...
+// io.extend_with(ContractsApi::to_delegate(Contracts::new(client.clone())));
+
+```
+
+3. In runtime/Cargo.toml
+```
+ # 'pallet-contracts/std',
+ # 'pallet-contracts-primitives/std',
+ # 'pallet-contracts-rpc-runtime-api/std',
+ # 'pallet-contract-helpers/std',
+...
+ # [dependencies.pallet-contracts]
+ # git = 'https://github.com/paritytech/substrate.git'
+ # default-features = false
+ # branch = 'polkadot-v0.9.9'
+ # version = '3.0.0'
+
+ # [dependencies.pallet-contracts-primitives]
+ # git = 'https://github.com/paritytech/substrate.git'
+ # default-features = false
+ # branch = 'polkadot-v0.9.9'
+ # version = '3.0.0'
+
+ # [dependencies.pallet-contracts-rpc-runtime-api]
+ # git = 'https://github.com/paritytech/substrate.git'
+ # default-features = false
+ # branch = 'polkadot-v0.9.9'
+ # version = '3.0.0'
+...
+ # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
+```
+
+4. runtime/src/lib.rs
+```
+// use pallet_contracts::weights::WeightInfo;
+...
+// pub use pallet_timestamp::Call as TimestampCall;
+...
+// mod chain_extension;
+// use crate::chain_extension::{NFTExtension, Imbalance};
+...
+/*
+parameter_types! {
+ pub TombstoneDeposit: Balance = deposit(
+ ...
+}
+*/
+...
+//pallet_contract_helpers::ContractSponsorshipHandler<Runtime>,
+...
+// impl pallet_contract_helpers::Config for Runtime {}
+...
+// Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>},
+...
+// ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage},
+...
+//pallet_contract_helpers::ContractHelpersExtension<Runtime>,
+...
+/*
+ impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>
+ for Runtime
+ {
+ ...
+ }
+*/
+
+```
\ No newline at end of file
launch-config-full.jsondiffbeforeafterboth--- /dev/null
+++ b/launch-config-full.json
@@ -0,0 +1,135 @@
+{
+ "relaychain": {
+ "bin": "../polkadot/target/release/polkadot",
+ "chain": "rococo-local",
+ "nodes": [
+ {
+ "name": "alice",
+ "wsPort": 9844,
+ "rpcPort": 9843,
+ "port": 30444,
+ "flags": [
+ "-lparachain::candidate_validation=debug",
+ "-lxcm=trace"
+ ]
+ },
+ {
+ "name": "bob",
+ "wsPort": 9855,
+ "rpcPort": 9854,
+ "port": 30555,
+ "flags": [
+ "-lparachain::candidate_validation=debug",
+ "-lxcm=trace"
+ ]
+ },
+ {
+ "name": "charlie",
+ "wsPort": 9866,
+ "rpcPort": 9865,
+ "port": 30666,
+ "flags": [
+ "-lparachain::candidate_validation=debug"
+ ]
+ },
+ {
+ "name": "dave",
+ "wsPort": 9877,
+ "rpcPort": 9876,
+ "port": 30777,
+ "flags": [
+ "-lparachain::candidate_validation=debug"
+ ]
+ },
+ {
+ "name": "eve",
+ "wsPort": 9888,
+ "rpcPort": 9887,
+ "port": 30888,
+ "flags": [
+ "-lparachain::candidate_validation=debug"
+ ]
+ }
+ ],
+ "genesis": {
+ "runtime": {
+ "runtime_genesis_config": {
+ "parachainsConfiguration": {
+ "config": {
+ "validation_upgrade_frequency": 1,
+ "validation_upgrade_delay": 1
+ }
+ }
+ }
+ }
+ }
+ },
+ "parachains": [
+ {
+ "bin": "../unique-chain/target/release/unique-collator",
+ "id": "1000",
+ "balance": "1000000000000000000000000",
+ "nodes": [
+ {
+ "port": 31200,
+ "wsPort": 9944,
+ "rpcPort": 9933,
+ "name": "alice",
+ "flags": [
+ "--rpc-cors=all",
+ "--unsafe-rpc-external",
+ "--unsafe-ws-external",
+ "-lxcm=trace"
+ ]
+ },
+ {
+ "port": 31201,
+ "wsPort": 9945,
+ "rpcPort": 9934,
+ "name": "bob",
+ "flags": [
+ "--rpc-cors=all",
+ "--unsafe-rpc-external",
+ "--unsafe-ws-external",
+ "-lxcm=trace"
+ ]
+ }
+ ]
+ },
+ {
+ "bin": "../Acala/target/release/acala",
+ "id": "2000",
+ "chain": "karura-dev",
+ "balance": "1000000000000000000000",
+ "nodes": [
+ {
+ "wsPort": 9946,
+ "port": 31202,
+ "name": "alice",
+ "flags": [
+ "--rpc-cors=all",
+ "--unsafe-rpc-external",
+ "--unsafe-ws-external",
+ "-lxcm=trace"
+ ]
+ }
+ ]
+ }
+ ],
+ "simpleParachains": [],
+ "hrmpChannels": [
+ {
+ "sender": 2000,
+ "recipient": 1000,
+ "maxCapacity": 8,
+ "maxMessageSize": 512
+ },
+ {
+ "sender": 1000,
+ "recipient": 2000,
+ "maxCapacity": 8,
+ "maxMessageSize": 512
+ }
+ ],
+ "finalization": false
+}
launch-config-westend.jsondiffbeforeafterboth--- a/launch-config-westend.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "relaychain": {
- "bin": "../polkadot/target/release/polkadot",
- "chain": "westend-local",
- "nodes": [
- {
- "name": "alice",
- "wsPort": 9844,
- "rpcPort": 9843,
- "port": 30444,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "bob",
- "wsPort": 9855,
- "rpcPort": 9854,
- "port": 30555,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "charlie",
- "wsPort": 9866,
- "rpcPort": 9865,
- "port": 30666,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "dave",
- "wsPort": 9877,
- "rpcPort": 9876,
- "port": 30777,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "eve",
- "wsPort": 9888,
- "rpcPort": 9886,
- "port": 30888,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- },
- {
- "name": "ferdie",
- "wsPort": 9897,
- "rpcPort": 9896,
- "port": 30999,
- "flags": [
- "-lparachain::candidate_validation=debug"
- ]
- }
- ],
- "genesis": {
- "runtime": {
- "runtime_genesis_config": {
- "parachainsConfiguration": {
- "config": {
- "validation_upgrade_frequency": 1,
- "validation_upgrade_delay": 1
- }
- }
- }
- }
- }
- },
- "parachains": [
- {
- "bin": "../unique-chain/target/release/unique-collator",
- "chain": "westend-local",
- "balance": "1000000000000000000000000",
- "nodes": [
- {
- "port": 31200,
- "wsPort": 9944,
- "rpcPort": 9933,
- "name": "alice",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "port": 31201,
- "wsPort": 9945,
- "rpcPort": 9934,
- "name": "bob",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "port": 31202,
- "wsPort": 9946,
- "rpcPort": 9935,
- "name": "charlie",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "port": 31203,
- "wsPort": 9947,
- "rpcPort": 9936,
- "name": "dave",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- },
- {
- "port": 31204,
- "wsPort": 9948,
- "rpcPort": 9937,
- "name": "eve",
- "flags": [
- "--rpc-cors=all",
- "--unsafe-rpc-external",
- "--unsafe-ws-external"
- ]
- }
- ]
- }
- ],
- "simpleParachains": [],
- "hrmpChannels": [],
- "finalization": false
-}
launch-config.jsondiffbeforeafterboth--- a/launch-config.json
+++ b/launch-config.json
@@ -9,7 +9,8 @@
"rpcPort": 9843,
"port": 30444,
"flags": [
- "-lparachain::candidate_validation=debug"
+ "-lparachain::candidate_validation=debug",
+ "-lxcm=trace"
]
},
{
@@ -18,7 +19,8 @@
"rpcPort": 9854,
"port": 30555,
"flags": [
- "-lparachain::candidate_validation=debug"
+ "-lparachain::candidate_validation=debug",
+ "-lxcm=trace"
]
},
{
@@ -38,6 +40,15 @@
"flags": [
"-lparachain::candidate_validation=debug"
]
+ },
+ {
+ "name": "eve",
+ "wsPort": 9888,
+ "rpcPort": 9887,
+ "port": 30888,
+ "flags": [
+ "-lparachain::candidate_validation=debug"
+ ]
}
],
"genesis": {
@@ -67,7 +78,8 @@
"flags": [
"--rpc-cors=all",
"--unsafe-rpc-external",
- "--unsafe-ws-external"
+ "--unsafe-ws-external",
+ "-lxcm=trace"
]
},
{
@@ -78,7 +90,8 @@
"flags": [
"--rpc-cors=all",
"--unsafe-rpc-external",
- "--unsafe-ws-external"
+ "--unsafe-ws-external",
+ "-lxcm=trace"
]
}
]
launch-test-env.shdiffbeforeafterboth--- a/launch-test-env.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-cp launch-config.json ../polkadot-launch/launch-config.json
-
-cd ../polkadot-launch
-yarn install
-yarn build
-yarn start launch-config.json
launch-testnet-full.shdiffbeforeafterboth--- /dev/null
+++ b/launch-testnet-full.sh
@@ -0,0 +1,6 @@
+cp launch-config-full.json ../polkadot-launch/launch-config-full.json
+
+cd ../polkadot-launch
+yarn install
+yarn build
+yarn start launch-config-full.json
launch-testnet.shdiffbeforeafterboth--- /dev/null
+++ b/launch-testnet.sh
@@ -0,0 +1,6 @@
+cp launch-config.json ../polkadot-launch/launch-config.json
+
+cd ../polkadot-launch
+yarn install
+yarn build
+yarn start launch-config.json
node/cli/Cargo.tomldiffbeforeafterboth--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -3,7 +3,7 @@
[build-dependencies.substrate-build-script-utils]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
################################################################################
# Substrate Dependecies
@@ -16,150 +16,150 @@
[dependencies.frame-benchmarking]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-benchmarking-cli]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment-rpc]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.substrate-prometheus-endpoint]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-basic-authorship]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-chain-spec]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-cli]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-client-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-consensus]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-consensus-aura]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-executor]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-finality-grandpa]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-keystore]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-rpc]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-rpc-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-service]
features = ['wasmtime']
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-telemetry]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-transaction-pool]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-tracing]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-block-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-api]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-blockchain]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-consensus]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-consensus-aura]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-finality-grandpa]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-inherents]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-keystore]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-offchain]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-runtime]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-session]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-timestamp]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-transaction-pool]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-trie]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.substrate-frame-rpc-system]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sc-network]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.serde]
features = ['derive']
@@ -173,59 +173,66 @@
# Cumulus dependencies
[dependencies.cumulus-client-consensus-aura]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-consensus-common]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-collator]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-cli]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-network]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-primitives-core]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-primitives-parachain-inherent]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-client-service]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
+[dependencies.cumulus-relay-chain-interface]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
+[dependencies.cumulus-relay-chain-local]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
+
################################################################################
# Polkadot dependencies
[dependencies.polkadot-primitives]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
[dependencies.polkadot-service]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
[dependencies.polkadot-cli]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
[dependencies.polkadot-test-service]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
[dependencies.polkadot-parachain]
git = "https://github.com/paritytech/polkadot"
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
################################################################################
@@ -250,7 +257,7 @@
license = 'All Rights Reserved'
name = 'unique-node'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.9.14'
+version = '0.9.16'
[[bin]]
name = 'unique-collator'
@@ -268,13 +275,13 @@
jsonrpc-core = '18.0.0'
jsonrpc-pubsub = "18.0.0"
-fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
unique-rpc = { path = "../rpc" }
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -85,6 +85,7 @@
None,
// Protocol ID
None,
+ None,
// Properties
Some(properties),
// Extensions
@@ -134,6 +135,7 @@
None,
// Protocol ID
None,
+ None,
// Properties
None,
// Extensions
@@ -186,6 +188,7 @@
None,
// Protocol ID
None,
+ None,
// Properties
None,
// Extensions
@@ -217,7 +220,9 @@
.collect(),
},
treasury: Default::default(),
- sudo: SudoConfig { key: root_key },
+ sudo: SudoConfig {
+ key: Some(root_key),
+ },
vesting: VestingConfig { vesting: vec![] },
parachain_info: unique_runtime::ParachainInfoConfig { parachain_id: id },
parachain_system: Default::default(),
node/cli/src/command.rsdiffbeforeafterboth--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -40,6 +40,7 @@
fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
Ok(match id {
"westend-local" => Box::new(chain_spec::local_testnet_westend_config()),
+ "rococo-local" => Box::new(chain_spec::local_testnet_rococo_config()),
"dev" => Box::new(chain_spec::development_config()),
"" | "local" => Box::new(chain_spec::local_testnet_rococo_config()),
path => Box::new(chain_spec::ChainSpec::from_json_file(
@@ -213,8 +214,9 @@
builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
let _ = builder.init();
- let block: Block =
- generate_genesis_block(&load_spec(¶ms.chain.clone().unwrap_or_default())?)?;
+ let spec = load_spec(¶ms.chain.clone().unwrap_or_default())?;
+ let state_version = Cli::native_runtime_version(&spec).state_version();
+ let block: Block = generate_genesis_block(&spec, state_version)?;
let raw_header = block.header().encode();
let output_buf = if params.raw {
raw_header
@@ -282,9 +284,12 @@
let parachain_account =
AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);
- let block: Block =
- generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;
+ let state_version =
+ RelayChainCli::native_runtime_version(&config.chain_spec).state_version();
+ let block: Block = generate_genesis_block(&config.chain_spec, state_version)
+ .map_err(|e| format!("{:?}", e))?;
let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));
+ let genesis_hash = format!("0x{:?}", HexDisplay::from(&block.header().hash().0));
let polkadot_config = SubstrateCli::create_configuration(
&polkadot_cli,
@@ -296,6 +301,7 @@
info!("Parachain id: {:?}", id);
info!("Parachain Account: {}", parachain_account);
info!("Parachain genesis state: {}", genesis_state);
+ info!("Parachain genesis hash: {}", genesis_hash);
info!(
"Is collating: {}",
if config.role.is_authority() {
@@ -368,11 +374,23 @@
self.base.base.rpc_ws(default_listen_port)
}
- fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {
- self.base.base.prometheus_config(default_listen_port)
+ fn prometheus_config(
+ &self,
+ default_listen_port: u16,
+ chain_spec: &Box<dyn ChainSpec>,
+ ) -> Result<Option<PrometheusConfig>> {
+ self.base
+ .base
+ .prometheus_config(default_listen_port, chain_spec)
}
- fn init<C: SubstrateCli>(&self) -> Result<()> {
+ fn init<F>(
+ &self,
+ _support_url: &String,
+ _impl_version: &String,
+ _logger_hook: F,
+ _config: &sc_service::Configuration,
+ ) -> Result<()> {
unreachable!("PolkadotCli is never initialized; qed");
}
node/cli/src/service.rsdiffbeforeafterboth--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -10,19 +10,23 @@
use std::sync::Mutex;
use std::collections::BTreeMap;
use std::time::Duration;
+use fc_rpc_core::types::FeeHistoryCache;
use futures::StreamExt;
+use unique_rpc::overrides_handle;
// Local Runtime Types
use unique_runtime::RuntimeApi;
// Cumulus Imports
-use cumulus_client_consensus_aura::{build_aura_consensus, BuildAuraConsensusParams, SlotProportion};
+use cumulus_client_consensus_aura::{AuraConsensus, BuildAuraConsensusParams, SlotProportion};
use cumulus_client_consensus_common::ParachainConsensus;
-use cumulus_client_network::build_block_announce_validator;
use cumulus_client_service::{
prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
};
+use cumulus_client_network::BlockAnnounceValidator;
use cumulus_primitives_core::ParaId;
+use cumulus_relay_chain_interface::RelayChainInterface;
+use cumulus_relay_chain_local::build_relay_chain_interface;
// Substrate Imports
use sc_client_api::ExecutorProvider;
@@ -109,6 +113,7 @@
Option<FilterPool>,
Arc<fc_db::Backend<Block>>,
Option<TelemetryWorkerHandle>,
+ FeeHistoryCache,
),
>,
sc_service::Error,
@@ -149,6 +154,7 @@
config.wasm_method,
config.default_heap_pages,
config.max_runtime_instances,
+ config.runtime_cache_size,
);
let (client, backend, keystore_container, task_manager) =
@@ -188,6 +194,7 @@
telemetry.as_ref().map(|telemetry| telemetry.handle()),
&task_manager,
)?;
+ let fee_history_cache: FeeHistoryCache = Arc::new(Mutex::new(BTreeMap::new()));
let params = PartialComponents {
backend,
@@ -202,6 +209,7 @@
filter_pool,
frontier_backend,
telemetry_worker_handle,
+ fee_history_cache,
),
};
@@ -233,7 +241,7 @@
Option<&Registry>,
Option<TelemetryHandle>,
&TaskManager,
- &polkadot_service::NewFull<polkadot_service::Client>,
+ Arc<dyn RelayChainInterface>,
Arc<sc_transaction_pool::FullPool<Block, FullClient>>,
Arc<NetworkService<Block, Hash>>,
SyncCryptoStorePtr,
@@ -247,29 +255,26 @@
let parachain_config = prepare_node_config(parachain_config);
let params = new_partial::<BIQ>(¶chain_config, build_import_queue)?;
- let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle) = params.other;
+ let (mut telemetry, filter_pool, frontier_backend, telemetry_worker_handle, fee_history_cache) =
+ params.other;
+
+ let client = params.client.clone();
+ let backend = params.backend.clone();
+ let mut task_manager = params.task_manager;
- let relay_chain_full_node =
- cumulus_client_service::build_polkadot_full_node(polkadot_config, telemetry_worker_handle)
+ let (relay_chain_interface, collator_key) =
+ build_relay_chain_interface(polkadot_config, telemetry_worker_handle, &mut task_manager)
.map_err(|e| match e {
polkadot_service::Error::Sub(x) => x,
s => format!("{}", s).into(),
})?;
- let client = params.client.clone();
- let backend = params.backend.clone();
- let block_announce_validator = build_block_announce_validator(
- relay_chain_full_node.client.clone(),
- id,
- Box::new(relay_chain_full_node.network.clone()),
- relay_chain_full_node.backend.clone(),
- );
+ let block_announce_validator = BlockAnnounceValidator::new(relay_chain_interface.clone(), id);
let force_authoring = parachain_config.force_authoring;
let validator = parachain_config.role.is_authority();
let prometheus_registry = parachain_config.prometheus_registry().cloned();
let transaction_pool = params.transaction_pool.clone();
- let mut task_manager = params.task_manager;
let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
let (network, system_rpc_tx, start_network) =
@@ -279,7 +284,9 @@
transaction_pool: transaction_pool.clone(),
spawn_handle: task_manager.spawn_handle(),
import_queue: import_queue.clone(),
- block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),
+ block_announce_validator_builder: Some(Box::new(|_| {
+ Box::new(block_announce_validator)
+ })),
warp_sync: None,
})?;
@@ -287,10 +294,17 @@
let rpc_client = client.clone();
let rpc_pool = transaction_pool.clone();
let select_chain = params.select_chain.clone();
- let is_authority = parachain_config.role.clone().is_authority();
let rpc_network = network.clone();
let rpc_frontier_backend = frontier_backend.clone();
+
+ let block_data_cache = Arc::new(fc_rpc::EthBlockDataCache::new(
+ task_manager.spawn_handle(),
+ overrides_handle(client.clone()),
+ 50,
+ 50,
+ ));
+
let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {
let full_deps = unique_rpc::FullDeps {
backend: rpc_frontier_backend.clone(),
@@ -303,9 +317,13 @@
filter_pool: filter_pool.clone(),
network: rpc_network.clone(),
select_chain: select_chain.clone(),
- is_authority,
+ is_authority: validator,
// TODO: Unhardcode
max_past_logs: 10000,
+ block_data_cache: block_data_cache.clone(),
+ fee_history_cache: fee_history_cache.clone(),
+ // TODO: Unhardcode
+ fee_history_limit: 2048,
};
Ok(unique_rpc::create_full::<_, _, _, _, RuntimeApi, _>(
@@ -346,13 +364,15 @@
Arc::new(move |hash, data| network.announce_block(hash, data))
};
+ let relay_chain_slot_duration = Duration::from_secs(6);
+
if validator {
let parachain_consensus = build_consensus(
client.clone(),
prometheus_registry.as_ref(),
telemetry.as_ref().map(|t| t.handle()),
&task_manager,
- &relay_chain_full_node,
+ relay_chain_interface.clone(),
transaction_pool,
network,
params.keystore_container.sync_keystore(),
@@ -367,10 +387,12 @@
announce_block,
client: client.clone(),
task_manager: &mut task_manager,
- relay_chain_full_node,
spawner,
parachain_consensus,
import_queue,
+ collator_key,
+ relay_chain_interface,
+ relay_chain_slot_duration,
};
start_collator(params).await?;
@@ -380,7 +402,9 @@
announce_block,
task_manager: &mut task_manager,
para_id: id,
- relay_chain_full_node,
+ import_queue,
+ relay_chain_interface,
+ relay_chain_slot_duration,
};
start_full_node(params)?;
@@ -445,7 +469,7 @@
prometheus_registry,
telemetry,
task_manager,
- relay_chain_node,
+ relay_chain_interface,
transaction_pool,
sync_oracle,
keystore,
@@ -460,31 +484,27 @@
telemetry.clone(),
);
- let relay_chain_backend = relay_chain_node.backend.clone();
- let relay_chain_client = relay_chain_node.client.clone();
- Ok(build_aura_consensus::<
+ Ok(AuraConsensus::build::<
sp_consensus_aura::sr25519::AuthorityPair,
- _,
- _,
_,
_,
_,
_,
_,
_,
- _,
>(BuildAuraConsensusParams {
proposer_factory,
create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
- let parachain_inherent =
- cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(
- relay_parent,
- &relay_chain_client,
- &*relay_chain_backend,
- &validation_data,
- id,
- );
+ let relay_chain_interface = relay_chain_interface.clone();
async move {
+ let parachain_inherent =
+ cumulus_primitives_parachain_inherent::ParachainInherentData::create_at(
+ relay_parent,
+ &relay_chain_interface,
+ &validation_data,
+ id,
+ ).await;
+
let time = sp_timestamp::InherentDataProvider::from_system_time();
let slot =
@@ -502,8 +522,6 @@
}
},
block_import: client.clone(),
- relay_chain_client: relay_chain_node.client.clone(),
- relay_chain_backend: relay_chain_node.backend.clone(),
para_client: client,
backoff_authoring_blocks: Option::<()>::None,
sync_oracle,
node/rpc/Cargo.tomldiffbeforeafterboth--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -13,40 +13,40 @@
futures = { version = "0.3.17", features = ["compat"] }
jsonrpc-core = "18.0.0"
jsonrpc-pubsub = "18.0.0"
-# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+# pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-transaction-payment-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-transaction-payment-rpc-runtime-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-client-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-consensus-epochs = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-finality-grandpa = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-finality-grandpa-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-keystore = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-network = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-rpc-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-rpc = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-service = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-api = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-block-builder = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-blockchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-consensus = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-consensus-aura = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-offchain = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-storage = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-session = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sc-transaction-pool = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
tokio = { version = "0.2.25", features = ["macros", "sync"] }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
pallet-unique = { path = "../../pallets/unique" }
uc-rpc = { path = "../../client/rpc" }
node/rpc/src/lib.rsdiffbeforeafterboth--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -1,13 +1,16 @@
+use sp_runtime::traits::BlakeTwo256;
use unique_runtime::{Hash, AccountId, CrossAccountId, Index, opaque::Block, BlockNumber, Balance};
use fc_rpc::{
- EthBlockDataCache, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override, StorageOverride,
+ EthBlockDataCache, OverrideHandle, RuntimeApiStorageOverride, SchemaV1Override,
+ StorageOverride, SchemaV2Override, SchemaV3Override,
};
-use fc_rpc_core::types::FilterPool;
+use fc_rpc_core::types::{FilterPool, FeeHistoryCache};
use jsonrpc_pubsub::manager::SubscriptionManager;
use pallet_ethereum::EthereumStorageSchema;
use sc_client_api::{
backend::{AuxStore, StorageProvider},
client::BlockchainEvents,
+ StateBackend, Backend,
};
use sc_finality_grandpa::{
FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState,
@@ -19,7 +22,6 @@
use sp_api::ProvideRuntimeApi;
use sp_block_builder::BlockBuilder;
use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
-use sp_consensus::SelectChain;
use sc_service::TransactionPool;
use std::{collections::BTreeMap, marker::PhantomData, sync::Arc};
@@ -64,6 +66,12 @@
pub backend: Arc<fc_db::Backend<Block>>,
/// Maximum number of logs in a query.
pub max_past_logs: u32,
+ /// Maximum fee history cache size.
+ pub fee_history_limit: u64,
+ /// Fee history cache.
+ pub fee_history_cache: FeeHistoryCache,
+ /// Cache for Ethereum block data.
+ pub block_data_cache: Arc<EthBlockDataCache<Block>>,
}
struct AccountCodes<C, B> {
@@ -100,6 +108,41 @@
}
}
+pub fn overrides_handle<C, BE>(client: Arc<C>) -> Arc<OverrideHandle<Block>>
+where
+ C: ProvideRuntimeApi<Block> + StorageProvider<Block, BE> + AuxStore,
+ C: HeaderBackend<Block> + HeaderMetadata<Block, Error = BlockChainError>,
+ C: Send + Sync + 'static,
+ C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,
+ C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,
+ BE: Backend<Block> + 'static,
+ BE::State: StateBackend<BlakeTwo256>,
+{
+ let mut overrides_map = BTreeMap::new();
+ overrides_map.insert(
+ EthereumStorageSchema::V1,
+ Box::new(SchemaV1Override::new_with_code_provider(
+ client.clone(),
+ Arc::new(AccountCodes::<C, Block>::new(client.clone())),
+ )) as Box<dyn StorageOverride<_> + Send + Sync>,
+ );
+ overrides_map.insert(
+ EthereumStorageSchema::V2,
+ Box::new(SchemaV2Override::new(client.clone()))
+ as Box<dyn StorageOverride<_> + Send + Sync>,
+ );
+ overrides_map.insert(
+ EthereumStorageSchema::V3,
+ Box::new(SchemaV3Override::new(client.clone()))
+ as Box<dyn StorageOverride<_> + Send + Sync>,
+ );
+
+ Arc::new(OverrideHandle {
+ schemas: overrides_map,
+ fallback: Box::new(RuntimeApiStorageOverride::new(client)),
+ })
+}
+
/// Instantiate all Full RPC extensions.
pub fn create_full<C, P, SC, CA, A, B>(
deps: FullDeps<C, P, SC, CA>,
@@ -118,7 +161,6 @@
C::Api: up_rpc::UniqueApi<Block, CrossAccountId, AccountId>,
B: sc_client_api::Backend<Block> + Send + Sync + 'static,
B::State: sc_client_api::backend::StateBackend<sp_runtime::traits::HashFor<Block>>,
- SC: SelectChain<Block> + 'static,
P: TransactionPool<Block = Block> + 'static,
CA: ChainApi<Block = Block> + 'static,
{
@@ -138,6 +180,9 @@
pool,
graph,
select_chain: _,
+ fee_history_limit,
+ fee_history_cache,
+ block_data_cache,
enable_dev_signer,
is_authority,
network,
@@ -163,21 +208,8 @@
if enable_dev_signer {
signers.push(Box::new(EthDevSigner::new()) as Box<dyn EthSigner>);
}
- let mut overrides_map = BTreeMap::new();
- overrides_map.insert(
- EthereumStorageSchema::V1,
- Box::new(SchemaV1Override::new_with_code_provider(
- client.clone(),
- Arc::new(AccountCodes::<C, Block>::new(client.clone())),
- )) as Box<dyn StorageOverride<_> + Send + Sync>,
- );
- let overrides = Arc::new(OverrideHandle {
- schemas: overrides_map,
- fallback: Box::new(RuntimeApiStorageOverride::new(client.clone())),
- });
-
- let block_data_cache = Arc::new(EthBlockDataCache::new(50, 50));
+ let overrides = overrides_handle(client.clone());
io.extend_with(EthApiServer::to_delegate(EthApi::new(
client.clone(),
@@ -191,6 +223,8 @@
is_authority,
max_past_logs,
block_data_cache.clone(),
+ fee_history_limit,
+ fee_history_cache,
)));
io.extend_with(UniqueApi::to_delegate(Unique::new(client.clone())));
@@ -200,7 +234,6 @@
backend,
filter_pool,
500_usize, // max stored filters
- overrides.clone(),
max_past_logs,
block_data_cache,
)));
pallets/common/Cargo.tomldiffbeforeafterboth--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -10,16 +10,16 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
serde = { version = "1.0.130", default-features = false }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
pallets/common/src/account.rsdiffbeforeafterboth--- a/pallets/common/src/account.rs
+++ b/pallets/common/src/account.rs
@@ -1,5 +1,5 @@
use crate::Config;
-use codec::{Encode, EncodeLike, Decode};
+use codec::{Encode, EncodeLike, Decode, MaxEncodedLen};
use sp_core::H160;
use scale_info::{Type, TypeInfo};
use core::cmp::Ordering;
@@ -10,7 +10,7 @@
pub use up_evm_mapping::EvmBackwardsAddressMapping;
pub trait CrossAccountId<AccountId>:
- Encode + EncodeLike + Decode + TypeInfo + Clone + PartialEq + Ord + core::fmt::Debug + Default
+ Encode + EncodeLike + Decode + TypeInfo + MaxEncodedLen + Clone + PartialEq + Ord + core::fmt::Debug
// +
// Serialize + Deserialize<'static>
{
@@ -23,7 +23,7 @@
fn conv_eq(&self, other: &Self) -> bool;
}
-#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo)]
+#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo, MaxEncodedLen)]
#[serde(rename_all = "camelCase")]
enum BasicCrossAccountIdRepr<AccountId> {
Substrate(AccountId),
@@ -38,17 +38,17 @@
ethereum: H160,
}
+impl<T: Config> MaxEncodedLen for BasicCrossAccountId<T> {
+ fn max_encoded_len() -> usize {
+ <BasicCrossAccountIdRepr<T::AccountId>>::max_encoded_len()
+ }
+}
+
impl<T: Config> TypeInfo for BasicCrossAccountId<T> {
type Identity = Self;
fn type_info() -> Type {
<BasicCrossAccountIdRepr<T::AccountId>>::type_info()
- }
-}
-
-impl<T: Config> Default for BasicCrossAccountId<T> {
- fn default() -> Self {
- Self::from_sub(T::AccountId::default())
}
}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -8,13 +8,13 @@
dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},
ensure, fail,
traits::{Imbalance, Get, Currency},
+ BoundedVec,
};
use pallet_evm::GasWeightMapping;
use up_data_structs::{
COLLECTION_NUMBER_LIMIT, Collection, CollectionId, CreateItemData, ExistenceRequirement,
- MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_COLLECTION_NAME_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
- COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo, TokenId, Weight,
- WithdrawReasons, CollectionStats,
+ MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission, Pays, PostDispatchInfo,
+ TokenId, Weight, WithdrawReasons, CollectionStats, CustomDataLimit,
};
pub use pallet::*;
use sp_core::H160;
@@ -53,8 +53,11 @@
pub fn try_get(id: CollectionId) -> Result<Self, DispatchError> {
Ok(Self::new(id).ok_or(<Error<T>>::CollectionNotFound)?)
}
- pub fn log(&self, log: impl evm_coder::ToLog) {
- self.recorder.log(log)
+ pub fn log_mirrored(&self, log: impl evm_coder::ToLog) {
+ self.recorder.log_mirrored(log)
+ }
+ pub fn log_direct(&self, log: impl evm_coder::ToLog) {
+ self.recorder.log_direct(log)
}
pub fn consume_store_reads(&self, reads: u64) -> evm_coder::execution::Result<()> {
self.recorder
@@ -395,15 +398,7 @@
pub fn init_collection(data: Collection<T::AccountId>) -> Result<CollectionId, DispatchError> {
{
ensure!(
- data.name.len() <= MAX_COLLECTION_NAME_LENGTH,
- Error::<T>::CollectionNameLimitExceeded
- );
- ensure!(
- data.description.len() <= MAX_COLLECTION_DESCRIPTION_LENGTH,
- Error::<T>::CollectionDescriptionLimitExceeded
- );
- ensure!(
- data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH,
+ data.token_prefix.len() <= MAX_TOKEN_PREFIX_LENGTH as usize,
Error::<T>::CollectionTokenPrefixLimitExceeded
);
}
@@ -607,14 +602,14 @@
&self,
sender: T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo;
fn account_tokens(&self, account: T::CrossAccountId) -> Vec<TokenId>;
fn token_exists(&self, token: TokenId) -> bool;
fn last_token_id(&self) -> TokenId;
- fn token_owner(&self, token: TokenId) -> T::CrossAccountId;
+ fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId>;
fn const_metadata(&self, token: TokenId) -> Vec<u8>;
fn variable_metadata(&self, token: TokenId) -> Vec<u8>;
pallets/contract-helpers/Cargo.tomldiffbeforeafterboth--- a/pallets/contract-helpers/Cargo.toml
+++ /dev/null
@@ -1,29 +0,0 @@
-[package]
-name = "pallet-contract-helpers"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '2.3.0'
-
-[dependencies]
-scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-contracts = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
-
-[features]
-default = ["std"]
-std = [
- "frame-support/std",
- "frame-system/std",
- "pallet-contracts/std",
- "sp-runtime/std",
- "sp-std/std",
-]
pallets/contract-helpers/src/lib.rsdiffbeforeafterboth--- a/pallets/contract-helpers/src/lib.rs
+++ /dev/null
@@ -1,285 +0,0 @@
-#![cfg_attr(not(feature = "std"), no_std)]
-
-pub use pallet::*;
-
-#[frame_support::pallet]
-pub mod pallet {
- use frame_support::sp_runtime::traits::StaticLookup;
- use frame_support::{pallet_prelude::*, traits::IsSubType};
- use frame_system::pallet_prelude::*;
- use frame_system::Config as SysConfig;
- use pallet_contracts::chain_extension::UncheckedFrom;
- use sp_runtime::{
- traits::{DispatchInfoOf, Hash, PostDispatchInfoOf, SignedExtension},
- transaction_validity,
- };
- use sp_std::vec::Vec;
- use up_sponsorship::SponsorshipHandler;
-
- #[pallet::error]
- pub enum Error<T> {
- /// Should be contract owner
- NoPermission,
- }
-
- #[pallet::config]
- pub trait Config: frame_system::Config + pallet_contracts::Config {
- type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;
- }
-
- #[pallet::pallet]
- #[pallet::generate_store(pub(super) trait Store)]
- pub struct Pallet<T>(_);
-
- #[pallet::storage]
- pub(super) type Owner<T: Config> = StorageMap<
- Hasher = Twox128,
- Key = T::AccountId,
- Value = T::AccountId,
- QueryKind = ValueQuery,
- >;
-
- #[pallet::storage]
- pub(super) type AllowlistEnabled<T: Config> =
- StorageMap<Hasher = Twox128, Key = T::AccountId, Value = bool, QueryKind = ValueQuery>;
-
- #[pallet::storage]
- pub(super) type Allowlist<T: Config> = StorageDoubleMap<
- Hasher1 = Twox128,
- Key1 = T::AccountId,
- Hasher2 = Twox64Concat,
- Key2 = T::AccountId,
- Value = bool,
- QueryKind = ValueQuery,
- >;
-
- #[pallet::storage]
- pub(super) type SelfSponsoring<T: Config> =
- StorageMap<Hasher = Twox128, Key = T::AccountId, Value = bool, QueryKind = ValueQuery>;
-
- #[pallet::storage]
- pub(super) type SponsoringRateLimit<T: Config> = StorageMap<
- Hasher = Twox128,
- Key = T::AccountId,
- Value = T::BlockNumber,
- QueryKind = ValueQuery,
- OnEmpty = T::DefaultSponsoringRateLimit,
- >;
-
- #[pallet::storage]
- pub(super) type SponsorBasket<T: Config> = StorageDoubleMap<
- Hasher1 = Twox128,
- Key1 = T::AccountId,
- Hasher2 = Twox128,
- Key2 = T::AccountId,
- Value = T::BlockNumber,
- QueryKind = ValueQuery,
- >;
-
- impl<T: Config> Pallet<T> {
- pub fn allowed(contract: T::AccountId, user: T::AccountId, default: bool) -> bool {
- if !<AllowlistEnabled<T>>::get(&contract) {
- return default;
- }
- <Allowlist<T>>::get(&contract, &user) || <Owner<T>>::get(contract) == user
- }
- }
-
- #[pallet::call]
- impl<T: Config> Pallet<T> {
- #[pallet::weight(0)]
- pub fn toggle_sponsoring(
- origin: OriginFor<T>,
- contract: T::AccountId,
- sponsoring: bool,
- ) -> DispatchResult {
- let sender = ensure_signed(origin)?;
- ensure!(
- <Owner<T>>::get(&contract) == sender,
- <Error<T>>::NoPermission
- );
-
- if sponsoring {
- <SelfSponsoring<T>>::insert(contract, true);
- } else {
- <SelfSponsoring<T>>::remove(contract);
- }
- Ok(())
- }
-
- #[pallet::weight(0)]
- pub fn toggle_allowlist(
- origin: OriginFor<T>,
- contract: T::AccountId,
- enabled: bool,
- ) -> DispatchResult {
- let sender = ensure_signed(origin)?;
- ensure!(
- <Owner<T>>::get(&contract) == sender,
- <Error<T>>::NoPermission
- );
-
- if enabled {
- <AllowlistEnabled<T>>::insert(contract, true);
- } else {
- <AllowlistEnabled<T>>::remove(contract);
- }
- Ok(())
- }
-
- #[pallet::weight(0)]
- pub fn toggle_allowed(
- origin: OriginFor<T>,
- contract: T::AccountId,
- user: T::AccountId,
- allowed: bool,
- ) -> DispatchResult {
- let sender = ensure_signed(origin)?;
- ensure!(
- <Owner<T>>::get(&contract) == sender,
- <Error<T>>::NoPermission
- );
-
- if allowed {
- <Allowlist<T>>::insert(contract, user, true);
- } else {
- <Allowlist<T>>::remove(contract, user);
- }
- Ok(())
- }
-
- #[pallet::weight(0)]
- pub fn set_sponsoring_rate_limit(
- origin: OriginFor<T>,
- contract: T::AccountId,
- rate_limit: T::BlockNumber,
- ) -> DispatchResult {
- let sender = ensure_signed(origin)?;
- ensure!(
- <Owner<T>>::get(&contract) == sender,
- <Error<T>>::NoPermission
- );
-
- <SponsoringRateLimit<T>>::insert(contract, rate_limit);
- Ok(())
- }
- }
-
- #[derive(Encode, Decode, Clone, PartialEq, Eq, scale_info::TypeInfo)]
- pub struct ContractHelpersExtension<T: scale_info::TypeInfo>(PhantomData<T>);
- impl<T: scale_info::TypeInfo> core::fmt::Debug for ContractHelpersExtension<T> {
- fn fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {
- fmt.debug_struct("ContractHelpersExtension").finish()
- }
- }
-
- type CodeHash<T> = <T as frame_system::Config>::Hash;
- impl<T: scale_info::TypeInfo> SignedExtension for ContractHelpersExtension<T>
- where
- T: Config + Send + Sync,
- <T as SysConfig>::Call: sp_runtime::traits::Dispatchable,
- <T as SysConfig>::Call: IsSubType<pallet_contracts::Call<T>>,
- T::AccountId: UncheckedFrom<T::Hash>,
- T::AccountId: AsRef<[u8]>,
- {
- const IDENTIFIER: &'static str = "ContractHelpers";
- type AccountId = T::AccountId;
- type Call = <T as SysConfig>::Call;
- type AdditionalSigned = ();
- type Pre = Option<(Self::AccountId, CodeHash<T>, Vec<u8>)>;
-
- fn additional_signed(&self) -> Result<(), transaction_validity::TransactionValidityError> {
- Ok(())
- }
-
- fn validate(
- &self,
- who: &T::AccountId,
- call: &Self::Call,
- _info: &DispatchInfoOf<Self::Call>,
- _len: usize,
- ) -> transaction_validity::TransactionValidity {
- if let Some(pallet_contracts::Call::call {
- dest,
- value: _value,
- gas_limit: _gas_limit,
- data: _data,
- }) = IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call)
- {
- let called_contract: T::AccountId =
- T::Lookup::lookup((*dest).clone()).unwrap_or_default();
- if !<Pallet<T>>::allowed(called_contract, who.clone(), true) {
- return Err(transaction_validity::InvalidTransaction::Call.into());
- }
- }
- Ok(transaction_validity::ValidTransaction::default())
- }
-
- fn pre_dispatch(
- self,
- who: &Self::AccountId,
- call: &Self::Call,
- _info: &DispatchInfoOf<Self::Call>,
- _len: usize,
- ) -> Result<Self::Pre, TransactionValidityError> {
- match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {
- Some(pallet_contracts::Call::instantiate {
- code_hash, salt, ..
- }) => Ok(Some((who.clone(), *code_hash, salt.clone()))),
- Some(pallet_contracts::Call::instantiate_with_code { code, salt, .. }) => {
- let code_hash = &T::Hashing::hash(code);
- Ok(Some((who.clone(), *code_hash, salt.clone())))
- }
- _ => Ok(None),
- }
- }
-
- fn post_dispatch(
- pre: Self::Pre,
- _info: &DispatchInfoOf<Self::Call>,
- _post_info: &PostDispatchInfoOf<Self::Call>,
- _len: usize,
- _result: &DispatchResult,
- ) -> Result<(), TransactionValidityError> {
- if let Some((who, code_hash, salt)) = pre {
- let new_contract_address =
- <pallet_contracts::Pallet<T>>::contract_address(&who, &code_hash, &salt);
- <Owner<T>>::insert(&new_contract_address, &who);
- }
-
- Ok(())
- }
- }
-
- pub struct ContractSponsorshipHandler<T>(PhantomData<T>);
- impl<T, C> SponsorshipHandler<T::AccountId, C> for ContractSponsorshipHandler<T>
- where
- T: Config,
- C: IsSubType<pallet_contracts::Call<T>>,
- T::AccountId: UncheckedFrom<T::Hash>,
- T::AccountId: AsRef<[u8]>,
- {
- fn get_sponsor(who: &T::AccountId, call: &C) -> Option<T::AccountId> {
- if let Some(pallet_contracts::Call::call { dest, .. }) =
- IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call)
- {
- let called_contract: T::AccountId =
- T::Lookup::lookup((*dest).clone()).unwrap_or_default();
- if <SelfSponsoring<T>>::get(&called_contract)
- && <Pallet<T>>::allowed(called_contract.clone(), who.clone(), false)
- {
- let last_tx_block = SponsorBasket::<T>::get(&called_contract, &who);
- let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
- let rate_limit = SponsoringRateLimit::<T>::get(&called_contract);
- let limit_time = last_tx_block + rate_limit;
-
- if block_number >= limit_time {
- SponsorBasket::<T>::insert(&called_contract, who, block_number);
- return Some(called_contract);
- }
- }
- }
- None
- }
- }
-}
pallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -7,15 +7,15 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-ethereum = { version = "0.10.0", default-features = false }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+ethereum = { version = "0.11.1", default-features = false }
evm-coder = { default-features = false, path = "../../crates/evm-coder" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[dependencies.codec]
default-features = false
pallets/evm-coder-substrate/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-coder-substrate/src/lib.rs
+++ b/pallets/evm-coder-substrate/src/lib.rs
@@ -21,7 +21,7 @@
use frame_support::{ensure};
use pallet_evm::{
ExitError, ExitRevert, ExitSucceed, GasWeightMapping, PrecompileFailure, PrecompileOutput,
- PrecompileResult,
+ PrecompileResult, runner::stack::MaybeMirroredLog,
};
use frame_system::ensure_signed;
pub use frame_support::dispatch::DispatchResult;
@@ -29,7 +29,7 @@
use sp_std::cell::RefCell;
use sp_std::vec::Vec;
use sp_core::{H160, H256};
- use ethereum::Log;
+ use ethereum::TransactionV2;
use frame_support::{pallet_prelude::*, traits::PalletInfo};
use frame_system::pallet_prelude::*;
@@ -66,9 +66,9 @@
pub const G_SLOAD_WORD: u64 = 800;
pub const G_SSTORE_WORD: u64 = 20000;
- pub fn generate_transaction() -> ethereum::TransactionV0 {
+ pub fn generate_transaction() -> TransactionV2 {
use ethereum::{TransactionV0, TransactionAction, TransactionSignature};
- TransactionV0 {
+ TransactionV2::Legacy(TransactionV0 {
nonce: 0.into(),
gas_price: 0.into(),
gas_limit: 0.into(),
@@ -78,13 +78,13 @@
input: Vec::from([0, 0, 0, 0]),
// if v is not 27 - then we need to pass some other validity checks
signature: TransactionSignature::new(27, H256([0x88; 32]), H256([0x88; 32])).unwrap(),
- }
+ })
}
#[derive(Default)]
pub struct SubstrateRecorder<T: Config> {
contract: H160,
- logs: RefCell<Vec<Log>>,
+ logs: RefCell<Vec<MaybeMirroredLog>>,
initial_gas: u64,
gas_limit: RefCell<u64>,
_phantom: PhantomData<*const T>,
@@ -104,13 +104,19 @@
pub fn is_empty(&self) -> bool {
self.logs.borrow().is_empty()
}
- // TODO: Replace with real storage in pallet-ethereum,
- // same way as it is done with frame_system's Events
- /// Doesn't consumes any gas, should be used after consume_log_sub
- pub fn log(&self, log: impl ToLog) {
- self.logs.borrow_mut().push(log.to_log(self.contract));
+ // Logs emitted with log_direct appear as substrate evm.Log event
+ pub fn log_direct(&self, log: impl ToLog) {
+ self.logs
+ .borrow_mut()
+ .push(MaybeMirroredLog::direct(log.to_log(self.contract)))
+ }
+ /// If log already has substrate equivalent - then we don't need to emit evm.Log
+ pub fn log_mirrored(&self, log: impl ToLog) {
+ self.logs
+ .borrow_mut()
+ .push(MaybeMirroredLog::mirrored(log.to_log(self.contract)))
}
- pub fn retrieve_logs(self) -> Vec<Log> {
+ pub fn retrieve_logs(self) -> Vec<MaybeMirroredLog> {
self.logs.into_inner()
}
@@ -165,7 +171,8 @@
Ok(Some(v)) => Ok(PrecompileOutput {
exit_status: ExitSucceed::Returned,
cost: self.initial_gas - self.gas_left(),
- logs: self.retrieve_logs(),
+ // TODO: preserve mirroring status
+ logs: self.retrieve_logs().into_iter().map(|l| l.log).collect(),
output: v.finish(),
}),
Ok(None) => return None,
pallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -7,15 +7,15 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
log = "0.4.14"
[dependencies.codec]
pallets/evm-migration/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-migration/Cargo.toml
+++ b/pallets/evm-migration/Cargo.toml
@@ -7,15 +7,15 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
[dependencies.codec]
default-features = false
pallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -7,16 +7,16 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
[dependencies.codec]
pallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-transaction-payment/src/lib.rs
+++ b/pallets/evm-transaction-payment/src/lib.rs
@@ -100,6 +100,10 @@
already_withdrawn.map(|e| e.negative_imbalance),
)
}
+
+ fn pay_priority_fee(tip: U256) {
+ <EVMCurrencyAdapter<<T as Config>::Currency, ()> as pallet_evm::OnChargeEVMTransaction<T>>::pay_priority_fee(tip)
+ }
}
/// Implements sponsoring for evm calls performed from pallet-evm (via api.tx.ethereum.transact/api.tx.evm.call)
pallets/fungible/Cargo.tomldiffbeforeafterboth--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -10,17 +10,17 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
pallet-common = { default-features = false, path = '../common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
-ethereum = { version = "0.10.0", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+ethereum = { version = "0.11.1", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -1,10 +1,11 @@
use core::marker::PhantomData;
-use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
+use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
use up_data_structs::TokenId;
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::ArithmeticError;
use sp_std::{vec::Vec, vec};
+use up_data_structs::CustomDataLimit;
use crate::{
Allowance, Balance, Config, Error, FungibleHandle, Pallet, SelfWeightOf, weights::WeightInfo,
@@ -180,7 +181,7 @@
&self,
_sender: T::CrossAccountId,
_token: TokenId,
- _data: Vec<u8>,
+ _data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
fail!(<Error<T>>::FungibleItemsDontHaveData)
}
@@ -201,8 +202,8 @@
TokenId::default()
}
- fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {
- T::CrossAccountId::default()
+ fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {
+ None
}
fn const_metadata(&self, _token: TokenId) -> Vec<u8> {
Vec::new()
pallets/fungible/src/lib.rsdiffbeforeafterboth--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -145,7 +145,7 @@
}
<TotalSupply<T>>::insert(collection.id, total_supply);
- collection.log(ERC20Events::Transfer {
+ collection.log_mirrored(ERC20Events::Transfer {
from: *owner.as_eth(),
to: H160::default(),
value: amount.into(),
@@ -201,7 +201,7 @@
<Balance<T>>::insert((collection.id, to), balance_to);
}
- collection.log(ERC20Events::Transfer {
+ collection.log_mirrored(ERC20Events::Transfer {
from: *from.as_eth(),
to: *to.as_eth(),
value: amount.into(),
@@ -258,7 +258,7 @@
for (user, amount) in balances {
<Balance<T>>::insert((collection.id, &user), amount);
- collection.log(ERC20Events::Transfer {
+ collection.log_mirrored(ERC20Events::Transfer {
from: H160::default(),
to: *user.as_eth(),
value: amount.into(),
@@ -286,7 +286,7 @@
<Allowance<T>>::insert((collection.id, owner, spender), amount);
}
- collection.log(ERC20Events::Approval {
+ collection.log_mirrored(ERC20Events::Approval {
owner: *owner.as_eth(),
spender: *spender.as_eth(),
value: amount.into(),
pallets/inflation/Cargo.tomldiffbeforeafterboth--- a/pallets/inflation/Cargo.toml
+++ b/pallets/inflation/Cargo.toml
@@ -43,37 +43,37 @@
default-features = false
optional = true
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.serde]
default-features = false
@@ -83,17 +83,17 @@
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies]
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
pallets/inflation/src/tests.rsdiffbeforeafterboth--- a/pallets/inflation/src/tests.rs
+++ b/pallets/inflation/src/tests.rs
@@ -4,7 +4,7 @@
use frame_support::{
assert_ok, parameter_types,
- traits::{Currency, OnInitialize, Everything},
+ traits::{Currency, OnInitialize, Everything, ConstU32},
};
use frame_system::RawOrigin;
use sp_core::H256;
@@ -81,6 +81,7 @@
type SystemWeightInfo = ();
type SS58Prefix = SS58Prefix;
type OnSetCode = ();
+ type MaxConsumers = ConstU32<16>;
}
parameter_types! {
pallets/nonfungible/Cargo.tomldiffbeforeafterboth--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -10,17 +10,17 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
pallet-common = { default-features = false, path = '../common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
evm-coder = { default-features = false, path = '../../crates/evm-coder' }
pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
-ethereum = { version = "0.10.0", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+ethereum = { version = "0.11.1", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -1,7 +1,7 @@
use core::marker::PhantomData;
-use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
-use up_data_structs::TokenId;
+use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight, BoundedVec};
+use up_data_structs::{TokenId, CustomDataLimit};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::DispatchError;
use sp_std::vec::Vec;
@@ -188,7 +188,7 @@
&self,
sender: T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
let len = data.len();
with_weight(
@@ -211,20 +211,20 @@
TokenId(<TokensMinted<T>>::get(self.id))
}
- fn token_owner(&self, token: TokenId) -> T::CrossAccountId {
- <TokenData<T>>::get((self.id, token))
- .map(|t| t.owner)
- .unwrap_or_default()
+ fn token_owner(&self, token: TokenId) -> Option<T::CrossAccountId> {
+ <TokenData<T>>::get((self.id, token)).map(|t| t.owner)
}
fn const_metadata(&self, token: TokenId) -> Vec<u8> {
<TokenData<T>>::get((self.id, token))
.map(|t| t.const_data)
.unwrap_or_default()
+ .into_inner()
}
fn variable_metadata(&self, token: TokenId) -> Vec<u8> {
<TokenData<T>>::get((self.id, token))
.map(|t| t.variable_data)
.unwrap_or_default()
+ .into_inner()
}
fn collection_tokens(&self) -> u32 {
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -338,8 +338,14 @@
let caller = T::CrossAccountId::from_eth(caller);
let token = token_id.try_into()?;
- <Pallet<T>>::set_variable_metadata(self, &caller, token, data)
- .map_err(dispatch_to_evm::<T>)?;
+ <Pallet<T>>::set_variable_metadata(
+ self,
+ &caller,
+ token,
+ data.try_into()
+ .map_err(|_| "metadata size exceeded limit")?,
+ )
+ .map_err(dispatch_to_evm::<T>)?;
Ok(())
}
@@ -349,7 +355,8 @@
Ok(<TokenData<T>>::get((self.id, token))
.ok_or("token not found")?
- .variable_data)
+ .variable_data
+ .into_inner())
}
#[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -2,9 +2,7 @@
use erc::ERC721Events;
use frame_support::{BoundedVec, ensure};
-use up_data_structs::{
- AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit, TokenId,
-};
+use up_data_structs::{AccessMode, Collection, CollectionId, CustomDataLimit, TokenId};
use pallet_common::{
Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,
};
@@ -14,7 +12,7 @@
use sp_std::{vec::Vec, vec};
use core::ops::Deref;
use sp_std::collections::btree_map::BTreeMap;
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
pub use pallet::*;
@@ -31,11 +29,11 @@
}
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
-#[derive(Encode, Decode, TypeInfo)]
-pub struct ItemData<T: Config> {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
- pub owner: T::CrossAccountId,
+#[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
+pub struct ItemData<CrossAccountId> {
+ pub const_data: BoundedVec<u8, CustomDataLimit>,
+ pub variable_data: BoundedVec<u8, CustomDataLimit>,
+ pub owner: CrossAccountId,
}
#[frame_support::pallet]
@@ -72,7 +70,7 @@
#[pallet::storage]
pub type TokenData<T: Config> = StorageNMap<
Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
- Value = ItemData<T>,
+ Value = ItemData<T::CrossAccountId>,
QueryKind = OptionQuery,
>;
@@ -211,7 +209,7 @@
));
}
- collection.log(ERC721Events::Transfer {
+ collection.log_mirrored(ERC721Events::Transfer {
from: *token_data.owner.as_eth(),
to: H160::default(),
token_id: token.into(),
@@ -291,7 +289,7 @@
}
Self::set_allowance_unchecked(collection, from, token, None, true);
- collection.log(ERC721Events::Transfer {
+ collection.log_mirrored(ERC721Events::Transfer {
from: *from.as_eth(),
to: *to.as_eth(),
token_id: token.into(),
@@ -361,14 +359,14 @@
<TokenData<T>>::insert(
(collection.id, token),
ItemData {
- const_data: data.const_data.into(),
- variable_data: data.variable_data.into(),
+ const_data: data.const_data,
+ variable_data: data.variable_data,
owner: data.owner.clone(),
},
);
<Owned<T>>::insert((collection.id, &data.owner, token), true);
- collection.log(ERC721Events::Transfer {
+ collection.log_mirrored(ERC721Events::Transfer {
from: H160::default(),
to: *data.owner.as_eth(),
token_id: token.into(),
@@ -395,7 +393,7 @@
<Allowance<T>>::insert((collection.id, token), spender);
// In ERC721 there is only one possible approved user of token, so we set
// approved user to spender
- collection.log(ERC721Events::Approval {
+ collection.log_mirrored(ERC721Events::Approval {
owner: *sender.as_eth(),
approved: *spender.as_eth(),
token_id: token.into(),
@@ -425,7 +423,7 @@
if !assume_implicit_eth {
// In ERC721 there is only one possible approved user of token, so we set
// approved user to zero address
- collection.log(ERC721Events::Approval {
+ collection.log_mirrored(ERC721Events::Approval {
owner: *sender.as_eth(),
approved: H160::default(),
token_id: token.into(),
@@ -535,12 +533,8 @@
collection: &NonfungibleHandle<T>,
sender: &T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResult {
- ensure!(
- data.len() as u32 <= CUSTOM_DATA_LIMIT,
- <CommonError<T>>::TokenVariableDataLimitExceeded
- );
let token_data =
<TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;
collection.check_can_update_meta(sender, &token_data.owner)?;
pallets/refungible/Cargo.tomldiffbeforeafterboth--- a/pallets/refungible/Cargo.toml
+++ b/pallets/refungible/Cargo.toml
@@ -10,14 +10,14 @@
version = '2.0.0'
[dependencies]
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
pallet-common = { default-features = false, path = '../common' }
up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
pallets/refungible/src/common.rsdiffbeforeafterboth--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -1,8 +1,8 @@
use core::marker::PhantomData;
use sp_std::collections::btree_map::BTreeMap;
-use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight};
-use up_data_structs::TokenId;
+use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight, BoundedVec};
+use up_data_structs::{TokenId, CustomDataLimit};
use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
use sp_runtime::DispatchError;
use sp_std::vec::Vec;
@@ -184,7 +184,7 @@
&self,
sender: T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
let len = data.len();
with_weight(
@@ -207,14 +207,18 @@
TokenId(<TokensMinted<T>>::get(self.id))
}
- fn token_owner(&self, _token: TokenId) -> T::CrossAccountId {
- T::CrossAccountId::default()
+ fn token_owner(&self, _token: TokenId) -> Option<T::CrossAccountId> {
+ None
}
fn const_metadata(&self, token: TokenId) -> Vec<u8> {
- <TokenData<T>>::get((self.id, token)).const_data
+ <TokenData<T>>::get((self.id, token))
+ .const_data
+ .into_inner()
}
fn variable_metadata(&self, token: TokenId) -> Vec<u8> {
- <TokenData<T>>::get((self.id, token)).variable_data
+ <TokenData<T>>::get((self.id, token))
+ .variable_data
+ .into_inner()
}
fn collection_tokens(&self) -> u32 {
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -2,8 +2,7 @@
use frame_support::{ensure, BoundedVec};
use up_data_structs::{
- AccessMode, CUSTOM_DATA_LIMIT, Collection, CollectionId, CustomDataLimit,
- MAX_REFUNGIBLE_PIECES, TokenId,
+ AccessMode, Collection, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId,
};
use pallet_common::{
Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
@@ -11,7 +10,7 @@
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
use core::ops::Deref;
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
pub use pallet::*;
@@ -27,10 +26,10 @@
}
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
-#[derive(Encode, Decode, Default, TypeInfo)]
+#[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]
pub struct ItemData {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
+ pub const_data: BoundedVec<u8, CustomDataLimit>,
+ pub variable_data: BoundedVec<u8, CustomDataLimit>,
}
#[frame_support::pallet]
@@ -437,8 +436,8 @@
<TokenData<T>>::insert(
(collection.id, token_id),
ItemData {
- const_data: token.const_data.into(),
- variable_data: token.variable_data.into(),
+ const_data: token.const_data,
+ variable_data: token.variable_data,
},
);
for (user, amount) in token.users.into_iter() {
@@ -579,12 +578,8 @@
collection: &RefungibleHandle<T>,
sender: &T::CrossAccountId,
token: TokenId,
- data: Vec<u8>,
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResult {
- ensure!(
- data.len() as u32 <= CUSTOM_DATA_LIMIT,
- <CommonError<T>>::TokenVariableDataLimitExceeded
- );
collection.check_can_update_meta(
sender,
&T::CrossAccountId::from_sub(collection.owner.clone()),
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -13,19 +13,19 @@
serde = { version = "1.0.130", default-features = false }
codec = { package = "parity-scale-codec", version = "2.3.0", default-features = false }
scale-info = { version = "1.0.0", default-features = false, features = ["derive"] }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
log = { version = "0.4.14", default-features = false }
[dev-dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+substrate-test-utils = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[features]
default = ["std"]
pallets/scheduler/src/lib.rsdiffbeforeafterboth--- a/pallets/scheduler/src/lib.rs
+++ b/pallets/scheduler/src/lib.rs
@@ -413,7 +413,11 @@
let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(
s.origin.clone()
).into();
- let sender = ensure_signed(origin).unwrap_or_default();
+ let sender = match ensure_signed(origin) {
+ Ok(v) => v,
+ // TODO: Support for unsigned extrinsics?
+ Err(_) => return Some(Some(s))
+ };
let who_will_pay = T::SponsorshipHandler::get_sponsor(&sender, &s.call).unwrap_or(sender);
let sponsor = T::PalletsOrigin::from(system::RawOrigin::Signed(who_will_pay));
let r = s.call.clone().dispatch(sponsor.into());
@@ -661,84 +665,18 @@
Ok((new_time, new_index))
},
)
- }
-}
-
-impl<T: Config> schedule::Anon<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>
- for Module<T>
-{
- type Address = TaskAddress<T::BlockNumber>;
-
- fn schedule(
- when: DispatchTime<T::BlockNumber>,
- maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
- priority: schedule::Priority,
- origin: T::PalletsOrigin,
- call: <T as Config>::Call,
- ) -> Result<Self::Address, DispatchError> {
- Self::do_schedule(when, maybe_periodic, priority, origin, call)
- }
-
- fn cancel((when, index): Self::Address) -> Result<(), ()> {
- Self::do_cancel(None, (when, index)).map_err(|_| ())
}
-
- fn reschedule(
- address: Self::Address,
- when: DispatchTime<T::BlockNumber>,
- ) -> Result<Self::Address, DispatchError> {
- Self::do_reschedule(address, when)
- }
-
- fn next_dispatch_time((when, index): Self::Address) -> Result<T::BlockNumber, ()> {
- Agenda::<T>::get(when)
- .get(index as usize)
- .ok_or(())
- .map(|_| when)
- }
}
-impl<T: Config> schedule::Named<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin>
- for Module<T>
-{
- type Address = TaskAddress<T::BlockNumber>;
-
- fn schedule_named(
- id: Vec<u8>,
- when: DispatchTime<T::BlockNumber>,
- maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
- priority: schedule::Priority,
- origin: T::PalletsOrigin,
- call: <T as Config>::Call,
- ) -> Result<Self::Address, ()> {
- Self::do_schedule_named(id, when, maybe_periodic, priority, origin, call).map_err(|_| ())
- }
-
- fn cancel_named(id: Vec<u8>) -> Result<(), ()> {
- Self::do_cancel_named(None, id).map_err(|_| ())
- }
-
- fn reschedule_named(
- id: Vec<u8>,
- when: DispatchTime<T::BlockNumber>,
- ) -> Result<Self::Address, DispatchError> {
- Self::do_reschedule_named(id, when)
- }
-
- fn next_dispatch_time(id: Vec<u8>) -> Result<T::BlockNumber, ()> {
- Lookup::<T>::get(id)
- .and_then(|(when, index)| Agenda::<T>::get(when).get(index as usize).map(|_| when))
- .ok_or(())
- }
-}
-
#[cfg(test)]
#[allow(clippy::from_over_into)]
mod tests {
use super::*;
use frame_support::{
- ord_parameter_types, parameter_types, traits::Contains, weights::constants::RocksDbWeight,
+ ord_parameter_types, parameter_types,
+ traits::{Contains, ConstU32, EnsureOneOf},
+ weights::constants::RocksDbWeight,
};
use sp_core::H256;
use sp_runtime::{
@@ -746,7 +684,7 @@
testing::Header,
traits::{BlakeTwo256, IdentityLookup},
};
- use frame_system::{EnsureOneOf, EnsureRoot, EnsureSignedBy};
+ use frame_system::{EnsureRoot, EnsureSignedBy};
use crate as scheduler;
mod logger {
@@ -843,6 +781,7 @@
type SystemWeightInfo = ();
type SS58Prefix = ();
type OnSetCode = ();
+ type MaxConsumers = ConstU32<16>;
}
impl logger::Config for Test {
type Event = Event;
@@ -861,7 +800,7 @@
type PalletsOrigin = OriginCaller;
type Call = Call;
type MaximumWeight = MaximumSchedulerWeight;
- type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
+ type ScheduleOrigin = EnsureOneOf<EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
type MaxScheduledPerBlock = MaxScheduledPerBlock;
type WeightInfo = ();
type SponsorshipHandler = ();
pallets/unique/Cargo.tomldiffbeforeafterboth--- a/pallets/unique/Cargo.toml
+++ b/pallets/unique/Cargo.toml
@@ -61,42 +61,42 @@
default-features = false
optional = true
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.serde]
default-features = false
@@ -106,17 +106,17 @@
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
################################################################################
@@ -127,11 +127,11 @@
scale-info = { version = "1.0.0", default-features = false, features = [
"derive",
] }
-ethereum = { version = "0.10.0", default-features = false }
+ethereum = { version = "0.11.1", default-features = false }
rlp = { default-features = false, version = "0.5.0" }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.14" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.16" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14' }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16' }
up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
evm-coder = { default-features = false, path = "../../crates/evm-coder" }
pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
@@ -139,9 +139,9 @@
"serde_no_std",
] }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
hex-literal = "0.3.3"
pallet-common = { default-features = false, path = "../common" }
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -29,7 +29,8 @@
WeightToFeePolynomial, DispatchClass,
},
StorageValue, transactional,
- pallet_prelude::DispatchResultWithPostInfo,
+ pallet_prelude::{DispatchResultWithPostInfo, ConstU32},
+ BoundedVec,
};
use scale_info::TypeInfo;
use frame_system::{self as system, ensure_signed};
@@ -38,8 +39,10 @@
MAX_DECIMAL_POINTS, MAX_SPONSOR_TIMEOUT, MAX_TOKEN_OWNERSHIP, CUSTOM_DATA_LIMIT,
VARIABLE_ON_CHAIN_SCHEMA_LIMIT, CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT,
FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
- NFT_SPONSOR_TRANSFER_TIMEOUT, AccessMode, Collection, CreateItemData, CollectionLimits,
+ NFT_SPONSOR_TRANSFER_TIMEOUT, MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH,
+ MAX_TOKEN_PREFIX_LENGTH, AccessMode, Collection, CreateItemData, CollectionLimits,
CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
+ CustomDataLimit,
};
use pallet_common::{
account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,
@@ -319,9 +322,9 @@
#[weight = <SelfWeightOf<T>>::create_collection()]
#[transactional]
pub fn create_collection(origin,
- collection_name: Vec<u16>,
- collection_description: Vec<u16>,
- token_prefix: Vec<u8>,
+ collection_name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+ collection_description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+ token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
mode: CollectionMode) -> DispatchResult {
// Anyone can create a collection
@@ -336,11 +339,11 @@
access: AccessMode::Normal,
description: collection_description,
token_prefix,
- offchain_schema: Vec::new(),
+ offchain_schema: BoundedVec::default(),
schema_version: SchemaVersion::ImageURL,
sponsorship: SponsorshipState::Disabled,
- variable_on_chain_schema: Vec::new(),
- const_on_chain_schema: Vec::new(),
+ variable_on_chain_schema: BoundedVec::default(),
+ const_on_chain_schema: BoundedVec::default(),
limits: Default::default(),
meta_update_permission: Default::default(),
};
@@ -919,7 +922,7 @@
origin,
collection_id: CollectionId,
item_id: TokenId,
- data: Vec<u8>
+ data: BoundedVec<u8, CustomDataLimit>,
) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -1004,15 +1007,12 @@
pub fn set_offchain_schema(
origin,
collection_id: CollectionId,
- schema: Vec<u8>
+ schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_owner_or_admin(&sender)?;
- // check schema limit
- ensure!(schema.len() as u32 <= OFFCHAIN_SCHEMA_LIMIT, "");
-
target_collection.offchain_schema = schema;
<Pallet<T>>::deposit_event(Event::<T>::OffchainSchemaSet(
@@ -1039,15 +1039,12 @@
pub fn set_const_on_chain_schema (
origin,
collection_id: CollectionId,
- schema: Vec<u8>
+ schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_owner_or_admin(&sender)?;
- // check schema limit
- ensure!(schema.len() as u32 <= CONST_ON_CHAIN_SCHEMA_LIMIT, "");
-
target_collection.const_on_chain_schema = schema;
<Pallet<T>>::deposit_event(Event::<T>::ConstOnChainSchemaSet(
@@ -1074,14 +1071,11 @@
pub fn set_variable_on_chain_schema (
origin,
collection_id: CollectionId,
- schema: Vec<u8>
+ schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>
) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
target_collection.check_is_owner_or_admin(&sender)?;
-
- // check schema limit
- ensure!(schema.len() as u32 <= VARIABLE_ON_CHAIN_SCHEMA_LIMIT, "");
target_collection.variable_on_chain_schema = schema;
pallets/unique/src/mock.rsdiffbeforeafterboth--- a/pallets/unique/src/mock.rs
+++ b/pallets/unique/src/mock.rs
@@ -9,10 +9,11 @@
};
use pallet_transaction_payment::{CurrencyAdapter};
use frame_system as system;
-use pallet_evm::AddressMapping;
+use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog};
use pallet_common::account::{EvmBackwardsAddressMapping, CrossAccountId};
-use codec::{Encode, Decode};
+use codec::{Encode, Decode, MaxEncodedLen};
use scale_info::TypeInfo;
+use up_data_structs::ConstU32;
type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
type Block = frame_system::mocking::MockBlock<Test>;
@@ -63,6 +64,7 @@
type SystemWeightInfo = ();
type SS58Prefix = SS58Prefix;
type OnSetCode = ();
+ type MaxConsumers = ConstU32<16>;
}
parameter_types! {
@@ -125,7 +127,7 @@
}
}
-#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, TypeInfo)]
+#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, TypeInfo, MaxEncodedLen)]
pub struct TestCrossAccountId(u64, sp_core::H160);
impl CrossAccountId<u64> for TestCrossAccountId {
fn as_sub(&self) -> &u64 {
@@ -161,7 +163,7 @@
fn submit_logs_transaction(
_source: H160,
_tx: pallet_ethereum::Transaction,
- _logs: Vec<pallet_ethereum::Log>,
+ _logs: Vec<MaybeMirroredLog>,
) {
}
}
pallets/unique/src/tests.rsdiffbeforeafterboth--- a/pallets/unique/src/tests.rs
+++ b/pallets/unique/src/tests.rs
@@ -41,9 +41,9 @@
let origin1 = Origin::signed(owner);
assert_ok!(TemplateModule::create_collection(
origin1,
- col_name1,
- col_desc1,
- token_prefix1,
+ col_name1.try_into().unwrap(),
+ col_desc1.try_into().unwrap(),
+ token_prefix1.try_into().unwrap(),
mode.clone()
));
@@ -131,9 +131,9 @@
assert_noop!(
TemplateModule::create_collection(
origin1,
- col_name1,
- col_desc1,
- token_prefix1,
+ col_name1.try_into().unwrap(),
+ col_desc1.try_into().unwrap(),
+ token_prefix1.try_into().unwrap(),
CollectionMode::Fungible(MAX_DECIMAL_POINTS + 1)
),
Error::<Test>::CollectionDecimalPointLimitExceeded
@@ -2271,9 +2271,9 @@
assert_noop!(
TemplateModule::create_collection(
origin1,
- col_name1,
- col_desc1,
- token_prefix1,
+ col_name1.try_into().unwrap(),
+ col_desc1.try_into().unwrap(),
+ token_prefix1.try_into().unwrap(),
CollectionMode::NFT
),
CommonError::<Test>::TotalCollectionsLimitExceeded
@@ -2372,7 +2372,7 @@
assert_ok!(TemplateModule::set_const_on_chain_schema(
origin1,
collection_id,
- b"test const on chain schema".to_vec()
+ b"test const on chain schema".to_vec().try_into().unwrap()
));
assert_eq!(
@@ -2399,7 +2399,10 @@
assert_ok!(TemplateModule::set_variable_on_chain_schema(
origin1,
collection_id,
- b"test variable on chain schema".to_vec()
+ b"test variable on chain schema"
+ .to_vec()
+ .try_into()
+ .unwrap()
));
assert_eq!(
@@ -2432,7 +2435,7 @@
origin1,
collection_id,
TokenId(1),
- variable_data.clone()
+ variable_data.clone().try_into().unwrap()
));
assert_eq!(
@@ -2459,7 +2462,7 @@
origin1,
collection_id,
TokenId(1),
- variable_data.clone()
+ variable_data.clone().try_into().unwrap()
));
assert_eq!(
@@ -2485,7 +2488,7 @@
origin1,
collection_id,
TokenId(0),
- variable_data
+ variable_data.try_into().unwrap()
)
.map_err(|e| e.error),
<pallet_fungible::Error<Test>>::FungibleItemsDontHaveData
@@ -2494,54 +2497,6 @@
}
#[test]
-fn set_variable_meta_data_on_nft_token_fails_for_big_data() {
- new_test_ext().execute_with(|| {
- let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));
-
- let origin1 = Origin::signed(1);
-
- let data = default_nft_data();
- create_test_item(collection_id, &data.into());
-
- let variable_data = b"test set_variable_meta_data method, bigger than limits.".to_vec();
- assert_noop!(
- TemplateModule::set_variable_meta_data(
- origin1,
- collection_id,
- TokenId(1),
- variable_data
- )
- .map_err(|e| e.error),
- CommonError::<Test>::TokenVariableDataLimitExceeded
- );
- });
-}
-
-#[test]
-fn set_variable_meta_data_on_re_fungible_token_fails_for_big_data() {
- new_test_ext().execute_with(|| {
- let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));
-
- let origin1 = Origin::signed(1);
-
- let data = default_re_fungible_data();
- create_test_item(collection_id, &data.into());
-
- let variable_data = b"test set_variable_meta_data method, bigger than limits.".to_vec();
- assert_noop!(
- TemplateModule::set_variable_meta_data(
- origin1,
- collection_id,
- TokenId(1),
- variable_data
- )
- .map_err(|e| e.error),
- CommonError::<Test>::TokenVariableDataLimitExceeded
- );
- });
-}
-
-#[test]
fn set_variable_meta_data_on_nft_with_item_owner_permission_flag() {
new_test_ext().execute_with(|| {
//default_limits();
@@ -2564,7 +2519,7 @@
origin1,
collection_id,
TokenId(1),
- variable_data.clone()
+ variable_data.clone().try_into().unwrap()
));
assert_eq!(
@@ -2574,48 +2529,6 @@
variable_data
);
});
-}
-
-#[test]
-fn set_variable_meta_data_on_nft_with_item_owner_permission_flag_neg() {
- new_test_ext().execute_with(|| {
- let collection_id =
- create_test_collection_for_owner(&CollectionMode::NFT, 1, CollectionId(1));
-
- let origin1 = Origin::signed(1);
-
- assert_ok!(TemplateModule::set_mint_permission(
- origin1.clone(),
- collection_id,
- true
- ));
- assert_ok!(TemplateModule::add_to_allow_list(
- origin1.clone(),
- collection_id,
- account(1)
- ));
-
- let data = default_nft_data();
- create_test_item(collection_id, &data.into());
-
- assert_ok!(TemplateModule::set_meta_update_permission_flag(
- origin1.clone(),
- collection_id,
- MetaUpdatePermission::ItemOwner,
- ));
-
- let variable_data = b"1234567890123".to_vec();
- assert_noop!(
- TemplateModule::set_variable_meta_data(
- origin1,
- collection_id,
- TokenId(1),
- variable_data.clone()
- )
- .map_err(|e| e.error),
- CommonError::<Test>::TokenVariableDataLimitExceeded
- );
- })
}
#[test]
@@ -2712,7 +2625,7 @@
origin1,
collection_id,
TokenId(1),
- variable_data.clone()
+ variable_data.clone().try_into().unwrap()
));
assert_eq!(
@@ -2761,7 +2674,7 @@
origin1,
collection_id,
TokenId(1),
- variable_data.clone()
+ variable_data.try_into().unwrap()
)
.map_err(|e| e.error),
CommonError::<Test>::NoPermission
@@ -2819,7 +2732,7 @@
origin1.clone(),
collection_id,
TokenId(1),
- variable_data.clone()
+ variable_data.try_into().unwrap()
)
.map_err(|e| e.error),
CommonError::<Test>::NoPermission
primitives/data-structs/Cargo.tomldiffbeforeafterboth--- a/primitives/data-structs/Cargo.toml
+++ b/primitives/data-structs/Cargo.toml
@@ -16,11 +16,11 @@
serde = { version = "1.0.130", features = [
'derive',
], default-features = false, optional = true }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
derivative = "2.2.0"
[features]
primitives/data-structs/src/lib.rsdiffbeforeafterboth--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -22,6 +22,7 @@
WeightToFeePolynomial, DispatchClass,
},
StorageValue, transactional,
+ pallet_prelude::ConstU32,
};
use derivative::Derivative;
use scale_info::TypeInfo;
@@ -65,9 +66,9 @@
pub const VARIABLE_ON_CHAIN_SCHEMA_LIMIT: u32 = 8192;
pub const CONST_ON_CHAIN_SCHEMA_LIMIT: u32 = 1048576;
-pub const MAX_COLLECTION_NAME_LENGTH: usize = 64;
-pub const MAX_COLLECTION_DESCRIPTION_LENGTH: usize = 256;
-pub const MAX_TOKEN_PREFIX_LENGTH: usize = 16;
+pub const MAX_COLLECTION_NAME_LENGTH: u32 = 64;
+pub const MAX_COLLECTION_DESCRIPTION_LENGTH: u32 = 256;
+pub const MAX_TOKEN_PREFIX_LENGTH: u32 = 16;
/// How much items can be created per single
/// create_many call
@@ -77,13 +78,39 @@
pub const CustomDataLimit: u32 = CUSTOM_DATA_LIMIT;
}
-#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]
+#[derive(
+ Encode,
+ Decode,
+ PartialEq,
+ Eq,
+ PartialOrd,
+ Ord,
+ Clone,
+ Copy,
+ Debug,
+ Default,
+ TypeInfo,
+ MaxEncodedLen,
+)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct CollectionId(pub u32);
impl EncodeLike<u32> for CollectionId {}
impl EncodeLike<CollectionId> for u32 {}
-#[derive(Encode, Decode, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Debug, Default, TypeInfo)]
+#[derive(
+ Encode,
+ Decode,
+ PartialEq,
+ Eq,
+ PartialOrd,
+ Ord,
+ Clone,
+ Copy,
+ Debug,
+ Default,
+ TypeInfo,
+ MaxEncodedLen,
+)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct TokenId(pub u32);
impl EncodeLike<u32> for TokenId {}
@@ -121,7 +148,7 @@
pub type DecimalPoints = u8;
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum CollectionMode {
NFT,
@@ -144,7 +171,7 @@
fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>;
}
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum AccessMode {
Normal,
@@ -156,7 +183,7 @@
}
}
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum SchemaVersion {
ImageURL,
@@ -175,7 +202,7 @@
pub fraction: u128,
}
-#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub enum SponsorshipState<AccountId> {
/// The fees are applied to the transaction sender
@@ -211,22 +238,28 @@
}
}
-#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct Collection<AccountId> {
pub owner: AccountId,
pub mode: CollectionMode,
pub access: AccessMode,
- pub name: Vec<u16>, // 64 include null escape char
- pub description: Vec<u16>, // 256 include null escape char
- pub token_prefix: Vec<u8>, // 16 include null escape char
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub name: BoundedVec<u16, ConstU32<MAX_COLLECTION_NAME_LENGTH>>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub description: BoundedVec<u16, ConstU32<MAX_COLLECTION_DESCRIPTION_LENGTH>>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub token_prefix: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
pub mint_mode: bool,
- pub offchain_schema: Vec<u8>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub offchain_schema: BoundedVec<u8, ConstU32<OFFCHAIN_SCHEMA_LIMIT>>,
pub schema_version: SchemaVersion,
pub sponsorship: SponsorshipState<AccountId>,
- pub limits: CollectionLimits, // Collection private restrictions
- pub variable_on_chain_schema: Vec<u8>, //
- pub const_on_chain_schema: Vec<u8>, //
+ pub limits: CollectionLimits, // Collection private restrictions
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub variable_on_chain_schema: BoundedVec<u8, ConstU32<VARIABLE_ON_CHAIN_SCHEMA_LIMIT>>,
+ #[cfg_attr(feature = "serde1", serde(with = "bounded_serde"))]
+ pub const_on_chain_schema: BoundedVec<u8, ConstU32<CONST_ON_CHAIN_SCHEMA_LIMIT>>,
pub meta_update_permission: MetaUpdatePermission,
}
@@ -253,7 +286,7 @@
}
/// All fields are wrapped in `Option`s, where None means chain default
-#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct CollectionLimits {
pub account_token_ownership_limit: Option<u32>,
@@ -378,7 +411,7 @@
pub pieces: u128,
}
-#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo)]
+#[derive(Encode, Decode, Debug, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
pub enum MetaUpdatePermission {
ItemOwner,
primitives/evm-mapping/Cargo.tomldiffbeforeafterboth--- a/primitives/evm-mapping/Cargo.toml
+++ b/primitives/evm-mapping/Cargo.toml
@@ -4,8 +4,8 @@
edition = "2021"
[dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[features]
default = ["std"]
primitives/rpc/Cargo.tomldiffbeforeafterboth--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -9,10 +9,10 @@
codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [
"derive",
] }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
-sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.14' }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
+sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.16' }
[features]
default = ["std"]
primitives/rpc/src/lib.rsdiffbeforeafterboth--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -9,14 +9,18 @@
type Result<T> = core::result::Result<T, DispatchError>;
sp_api::decl_runtime_apis! {
+ #[api_version(2)]
pub trait UniqueApi<CrossAccountId, AccountId> where
AccountId: Decode,
CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,
{
+ #[changed_in(2)]
+ fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
+
fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>>;
fn token_exists(collection: CollectionId, token: TokenId) -> Result<bool>;
- fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
+ fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>>;
fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
fn variable_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>>;
runtime/Cargo.tomldiffbeforeafterboth--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -10,7 +10,7 @@
license = 'All Rights Reserved'
name = 'unique-runtime'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.9.14'
+version = '0.9.16'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
@@ -69,6 +69,7 @@
'pallet-evm-transaction-payment/std',
'pallet-evm-coder-substrate/std',
'pallet-ethereum/std',
+ 'pallet-base-fee/std',
'fp-rpc/std',
'up-rpc/std',
'up-evm-mapping/std',
@@ -117,33 +118,33 @@
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-executive]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-support]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system-benchmarking]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
optional = true
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.frame-system-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.hex-literal]
optional = true
@@ -158,131 +159,131 @@
[dependencies.pallet-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-balances]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
# Contracts specific packages
# [dependencies.pallet-contracts]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-primitives]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
# version = '4.0.0-dev'
# [dependencies.pallet-contracts-rpc-runtime-api]
# git = 'https://github.com/paritytech/substrate.git'
# default-features = false
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
# version = '4.0.0-dev'
[dependencies.pallet-randomness-collective-flip]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-sudo]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-timestamp]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-transaction-payment-rpc-runtime-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.pallet-treasury]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
# [dependencies.pallet-vesting]
# default-features = false
# git = 'https://github.com/paritytech/substrate.git'
-# branch = 'polkadot-v0.9.14'
+# branch = 'polkadot-v0.9.16'
[dependencies.sp-arithmetic]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-api]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-block-builder]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-core]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-consensus-aura]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-inherents]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-offchain]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-runtime]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-session]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-std]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-transaction-pool]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.sp-version]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
[dependencies.smallvec]
version = '1.6.1'
@@ -292,47 +293,47 @@
[dependencies.parachain-info]
default-features = false
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
[dependencies.cumulus-pallet-aura-ext]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-parachain-system]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-primitives-core]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-xcm]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-dmp-queue]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-pallet-xcmp-queue]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-primitives-utility]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
[dependencies.cumulus-primitives-timestamp]
-git = 'https://github.com/UniqueNetwork/cumulus.git'
-branch = 'polkadot-v0.9.14'
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.16'
default-features = false
################################################################################
@@ -340,33 +341,33 @@
[dependencies.polkadot-parachain]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.xcm-builder]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.xcm-executor]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.pallet-xcm]
git = 'https://github.com/paritytech/polkadot'
-branch = 'release-v0.9.14'
+branch = 'release-v0.9.16'
default-features = false
[dependencies.orml-vesting]
git = 'https://github.com/UniqueNetwork/open-runtime-module-library'
-branch = 'polkadot-v0.9.14'
-version = "0.4.1-dev"
+branch = 'unique-polkadot-v0.9.16'
+version = "0.4.1-dev"
default-features = false
################################################################################
@@ -388,20 +389,21 @@
pallet-nonfungible = { default-features = false, path = "../pallets/nonfungible" }
pallet-unq-scheduler = { path = '../pallets/scheduler', default-features = false }
# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.14', package = "pallet-template-transaction-payment", default-features = false, version = '3.0.0' }
+pallet-charge-transaction = { git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.16', package = "pallet-template-transaction-payment", default-features = false, version = '3.0.0' }
pallet-evm-migration = { path = '../pallets/evm-migration', default-features = false }
pallet-evm-contract-helpers = { path = '../pallets/evm-contract-helpers', default-features = false }
pallet-evm-transaction-payment = { path = '../pallets/evm-transaction-payment', default-features = false }
pallet-evm-coder-substrate = { default-features = false, path = "../pallets/evm-coder-substrate" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.14" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.16" }
################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]
git = 'https://github.com/paritytech/substrate.git'
-branch = 'polkadot-v0.9.14'
+branch = 'polkadot-v0.9.16'
runtime/src/lib.rsdiffbeforeafterboth--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -23,10 +23,11 @@
use sp_runtime::{
Permill, Perbill, Percent, create_runtime_str, generic, impl_opaque_keys,
traits::{
- AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify, AccountIdConversion,
+ AccountIdLookup, BlakeTwo256, Block as BlockT, IdentifyAccount, Verify,
+ AccountIdConversion, Zero,
},
transaction_validity::{TransactionSource, TransactionValidity},
- ApplyExtrinsicResult, MultiSignature,
+ ApplyExtrinsicResult, MultiSignature, RuntimeAppPublic,
};
use sp_std::prelude::*;
@@ -45,8 +46,9 @@
dispatch::DispatchResult,
PalletId, parameter_types, StorageValue, ConsensusEngineId,
traits::{
- Everything, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem,
- LockIdentifier, OnUnbalanced, Randomness, FindAuthor,
+ tokens::currency::Currency as CurrencyT, OnUnbalanced as OnUnbalancedT, Everything,
+ Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier,
+ OnUnbalanced, Randomness, FindAuthor,
},
weights::{
constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
@@ -68,10 +70,10 @@
use codec::{Encode, Decode};
use pallet_evm::{Account as EVMAccount, FeeCalculator, GasWeightMapping, OnMethodCall};
use fp_rpc::TransactionStatus;
-use sp_core::crypto::Public;
use sp_runtime::{
- traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf},
+ traits::{BlockNumberProvider, Dispatchable, PostDispatchInfoOf, Saturating},
transaction_validity::TransactionValidityError,
+ SaturatedConversion,
};
// pub use pallet_timestamp::Call as TimestampCall;
@@ -83,12 +85,23 @@
use xcm::v1::{BodyId, Junction::*, MultiLocation, NetworkId, Junctions::*};
use xcm_builder::{
AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,
- EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,
- ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative,
- SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32,
- SovereignSignedViaLocation, TakeWeightCredit, UsingComponents,
+ EnsureXcmOrigin, FixedWeightBounds, LocationInverter, NativeAsset, ParentAsSuperuser,
+ ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,
+ SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit,
+};
+use xcm_executor::{Config, XcmExecutor, Assets};
+use sp_std::{marker::PhantomData};
+
+use xcm::latest::{
+ // Xcm,
+ AssetId::{Concrete},
+ Fungibility::Fungible as XcmFungible,
+ MultiAsset,
+ Error as XcmError,
};
-use xcm_executor::{Config, XcmExecutor};
+use xcm_executor::traits::{MatchesFungible, WeightTrader};
+//use xcm_executor::traits::MatchesFungible;
+use sp_runtime::traits::CheckedConversion;
// mod chain_extension;
// use crate::chain_extension::{NFTExtension, Imbalance};
@@ -147,10 +160,11 @@
spec_name: create_runtime_str!("quartz"),
impl_name: create_runtime_str!("quartz"),
authoring_version: 1,
- spec_version: 914000,
- impl_version: 1,
+ spec_version: 916001,
+ impl_version: 0,
apis: RUNTIME_API_VERSIONS,
transaction_version: 1,
+ state_version: 0,
};
pub const MILLISECS_PER_BLOCK: u64 = 12000;
@@ -283,7 +297,8 @@
type CallOrigin = EnsureAddressTruncated;
type WithdrawOrigin = EnsureAddressTruncated;
type AddressMapping = HashedAddressMapping<Self::Hashing>;
- type Precompiles = ();
+ type PrecompilesType = ();
+ type PrecompilesValue = ();
type Currency = Balances;
type Event = Event;
type OnMethodCall = (
@@ -370,6 +385,7 @@
type SystemWeightInfo = frame_system::weights::SubstrateWeight<Self>;
/// Version of the runtime.
type Version = Version;
+ type MaxConsumers = ConstU32<16>;
}
parameter_types! {
@@ -501,6 +517,7 @@
parameter_types! {
pub const ProposalBond: Permill = Permill::from_percent(5);
pub const ProposalBondMinimum: Balance = 1 * UNIQUE;
+ pub const ProposalBondMaximum: Balance = 1000 * UNIQUE;
pub const SpendPeriod: BlockNumber = 5 * MINUTES;
pub const Burn: Permill = Permill::from_percent(0);
pub const TipCountdown: BlockNumber = 1 * DAYS;
@@ -526,6 +543,7 @@
type OnSlash = ();
type ProposalBond = ProposalBond;
type ProposalBondMinimum = ProposalBondMinimum;
+ type ProposalBondMaximum = ProposalBondMaximum;
type SpendPeriod = SpendPeriod;
type Burn = Burn;
type BurnDestination = ();
@@ -575,8 +593,8 @@
impl cumulus_pallet_parachain_system::Config for Runtime {
type Event = Event;
- type OnValidationData = ();
type SelfParaId = parachain_info::Pallet<Self>;
+ type OnSystemEvent = ();
// type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<
// MaxDownwardMessageWeight,
// XcmExecutor<XcmConfig>,
@@ -612,12 +630,22 @@
AccountId32Aliases<RelayNetwork, AccountId>,
);
+pub struct OnlySelfCurrency;
+impl<B: TryFrom<u128>> MatchesFungible<B> for OnlySelfCurrency {
+ fn matches_fungible(a: &MultiAsset) -> Option<B> {
+ match (&a.id, &a.fun) {
+ (Concrete(_), XcmFungible(ref amount)) => CheckedConversion::checked_from(*amount),
+ _ => None,
+ }
+ }
+}
+
/// Means for transacting assets on this chain.
pub type LocalAssetTransactor = CurrencyAdapter<
// Use this currency:
Balances,
// Use this currency when it is a fungible asset matching the given location or name:
- IsConcrete<RelayLocation>,
+ OnlySelfCurrency,
// Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:
LocationToAccountId,
// Our chain's account ID type (we can't get away without mentioning it explicitly):
@@ -673,6 +701,88 @@
// ^^^ Parent & its unit plurality gets free execution
);
+pub struct UsingOnlySelfCurrencyComponents<
+ WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,
+ AssetId: Get<MultiLocation>,
+ AccountId,
+ Currency: CurrencyT<AccountId>,
+ OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,
+>(
+ Weight,
+ Currency::Balance,
+ PhantomData<(WeightToFee, AssetId, AccountId, Currency, OnUnbalanced)>,
+);
+impl<
+ WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,
+ AssetId: Get<MultiLocation>,
+ AccountId,
+ Currency: CurrencyT<AccountId>,
+ OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,
+ > WeightTrader
+ for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>
+{
+ fn new() -> Self {
+ Self(0, Zero::zero(), PhantomData)
+ }
+
+ fn buy_weight(&mut self, weight: Weight, payment: Assets) -> Result<Assets, XcmError> {
+ let amount = WeightToFee::calc(&weight);
+ let u128_amount: u128 = amount.try_into().map_err(|_| XcmError::Overflow)?;
+
+ // location to this parachain through relay chain
+ let option1: xcm::v1::AssetId = Concrete(MultiLocation {
+ parents: 1,
+ interior: X1(Parachain(ParachainInfo::parachain_id().into())),
+ });
+ // direct location
+ let option2: xcm::v1::AssetId = Concrete(MultiLocation {
+ parents: 0,
+ interior: Here,
+ });
+
+ let required = if payment.fungible.contains_key(&option1) {
+ (option1, u128_amount).into()
+ } else if payment.fungible.contains_key(&option2) {
+ (option2, u128_amount).into()
+ } else {
+ (Concrete(MultiLocation::default()), u128_amount).into()
+ };
+
+ let unused = payment
+ .checked_sub(required)
+ .map_err(|_| XcmError::TooExpensive)?;
+ self.0 = self.0.saturating_add(weight);
+ self.1 = self.1.saturating_add(amount);
+ Ok(unused)
+ }
+
+ fn refund_weight(&mut self, weight: Weight) -> Option<MultiAsset> {
+ let weight = weight.min(self.0);
+ let amount = WeightToFee::calc(&weight);
+ self.0 -= weight;
+ self.1 = self.1.saturating_sub(amount);
+ let amount: u128 = amount.saturated_into();
+ if amount > 0 {
+ Some((AssetId::get(), amount).into())
+ } else {
+ None
+ }
+ }
+}
+impl<
+ WeightToFee: WeightToFeePolynomial<Balance = Currency::Balance>,
+ AssetId: Get<MultiLocation>,
+ AccountId,
+ Currency: CurrencyT<AccountId>,
+ OnUnbalanced: OnUnbalancedT<Currency::NegativeImbalance>,
+ > Drop
+ for UsingOnlySelfCurrencyComponents<WeightToFee, AssetId, AccountId, Currency, OnUnbalanced>
+{
+ fn drop(&mut self) {
+ OnUnbalanced::on_unbalanced(Currency::issue(self.1));
+ }
+}
+
pub struct XcmConfig;
impl Config for XcmConfig {
type Call = Call;
@@ -685,7 +795,13 @@
type LocationInverter = LocationInverter<Ancestry>;
type Barrier = Barrier;
type Weigher = FixedWeightBounds<UnitWeightCost, Call, MaxInstructions>;
- type Trader = UsingComponents<IdentityFee<Balance>, RelayLocation, AccountId, Balances, ()>;
+ type Trader = UsingOnlySelfCurrencyComponents<
+ IdentityFee<Balance>,
+ RelayLocation,
+ AccountId,
+ Balances,
+ (),
+ >;
type ResponseHandler = (); // Don't handle responses for now.
type SubscriptionService = PolkadotXcm;
@@ -741,6 +857,7 @@
type XcmExecutor = XcmExecutor<XcmConfig>;
type ChannelInfo = ParachainSystem;
type VersionWrapper = ();
+ type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;
}
impl cumulus_pallet_dmp_queue::Config for Runtime {
@@ -961,7 +1078,7 @@
Block,
frame_system::ChainContext<Runtime>,
Runtime,
- AllPallets,
+ AllPalletsReversedWithSystemFirst,
>;
impl_opaque_keys! {
@@ -1038,7 +1155,7 @@
dispatch_unique_runtime!(collection.token_exists(token))
}
- fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId, DispatchError> {
+ fn token_owner(collection: CollectionId, token: TokenId) -> Result<Option<CrossAccountId>, DispatchError> {
dispatch_unique_runtime!(collection.token_owner(token))
}
fn const_metadata(collection: CollectionId, token: TokenId) -> Result<Vec<u8>, DispatchError> {
@@ -1186,9 +1303,11 @@
data: Vec<u8>,
value: U256,
gas_limit: U256,
- gas_price: Option<U256>,
+ max_fee_per_gas: Option<U256>,
+ max_priority_fee_per_gas: Option<U256>,
nonce: Option<U256>,
estimate: bool,
+ access_list: Option<Vec<(H160, Vec<H256>)>>,
) -> Result<pallet_evm::CallInfo, sp_runtime::DispatchError> {
let config = if estimate {
let mut config = <Runtime as pallet_evm::Config>::config().clone();
@@ -1204,8 +1323,10 @@
data,
value,
gas_limit.low_u64(),
- gas_price,
+ max_fee_per_gas,
+ max_priority_fee_per_gas,
nonce,
+ access_list.unwrap_or_default(),
config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),
).map_err(|err| err.into())
}
@@ -1216,9 +1337,11 @@
data: Vec<u8>,
value: U256,
gas_limit: U256,
- gas_price: Option<U256>,
+ max_fee_per_gas: Option<U256>,
+ max_priority_fee_per_gas: Option<U256>,
nonce: Option<U256>,
estimate: bool,
+ access_list: Option<Vec<(H160, Vec<H256>)>>,
) -> Result<pallet_evm::CreateInfo, sp_runtime::DispatchError> {
let config = if estimate {
let mut config = <Runtime as pallet_evm::Config>::config().clone();
@@ -1233,8 +1356,10 @@
data,
value,
gas_limit.low_u64(),
- gas_price,
+ max_fee_per_gas,
+ max_priority_fee_per_gas,
nonce,
+ access_list.unwrap_or_default(),
config.as_ref().unwrap_or_else(|| <Runtime as pallet_evm::Config>::config()),
).map_err(|err| err.into())
}
@@ -1269,6 +1394,10 @@
_ => None
}).collect()
}
+
+ fn elasticity() -> Option<Permill> {
+ None
+ }
}
impl sp_session::SessionKeys<Block> for Runtime {
@@ -1294,8 +1423,8 @@
}
impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {
- fn collect_collation_info() -> cumulus_primitives_core::CollationInfo {
- ParachainSystem::collect_collation_info()
+ fn collect_collation_info(header: &<Block as BlockT>::Header) -> cumulus_primitives_core::CollationInfo {
+ ParachainSystem::collect_collation_info(header)
}
}
@@ -1374,7 +1503,7 @@
list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);
// list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);
- let storage_info = AllPalletsWithSystem::storage_info();
+ let storage_info = AllPalletsReversedWithSystemFirst::storage_info();
return (list, storage_info)
}
tests/README.mddiffbeforeafterboth--- a/tests/README.md
+++ b/tests/README.md
@@ -5,7 +5,7 @@
1. Checkout polkadot in sibling folder with this project
```bash
git clone https://github.com/paritytech/polkadot.git && cd polkadot
-git checkout release-v0.9.14
+git checkout release-v0.9.16
```
2. Build with nightly-2021-11-11
tests/package.jsondiffbeforeafterboth--- a/tests/package.json
+++ b/tests/package.json
@@ -64,6 +64,7 @@
"testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",
"testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",
"testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",
+ "testXcmTransfer": "mocha --timeout 9999999 -r ts-node/register ./**/xcmTransfer.test.ts",
"testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
"testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",
"testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",
tests/src/eth/payable.test.tsdiffbeforeafterboth--- a/tests/src/eth/payable.test.ts
+++ b/tests/src/eth/payable.test.ts
@@ -34,6 +34,8 @@
GAS_ARGS.gas,
await web3.eth.getGasPrice(),
null,
+ null,
+ [],
);
const events = await submitTransactionAsync(alice, tx);
const result = getGenericResult(events);
tests/src/eth/util/helpers.tsdiffbeforeafterboth--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -249,6 +249,8 @@
GAS_ARGS.gas,
await web3.eth.getGasPrice(),
null,
+ null,
+ [],
);
const events = await submitTransactionAsync(from, tx);
expect(events.some(({event: {section, method}}) => section == 'evm' && method == 'Executed')).to.be.true;
tests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -2,7 +2,7 @@
/* eslint-disable */
import type { ApiTypes } from '@polkadot/api/types';
-import type { Vec, u128, u16, u32, u64, u8 } from '@polkadot/types';
+import type { Option, Vec, u128, u16, u32, u64, u8 } from '@polkadot/types';
import type { Permill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportPalletId, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion } from '@polkadot/types/lookup';
import type { Codec } from '@polkadot/types/types';
@@ -36,6 +36,9 @@
[key: string]: Codec;
};
inflation: {
+ /**
+ * Number of blocks that pass between treasury balance updates due to inflation
+ **/
inflationBlockInterval: u32 & AugmentedConst<ApiType>;
/**
* Generic const
@@ -146,6 +149,10 @@
**/
proposalBond: Permill & AugmentedConst<ApiType>;
/**
+ * Maximum amount of funds that should be placed in a deposit for making a proposal.
+ **/
+ proposalBondMaximum: Option<u128> & AugmentedConst<ApiType>;
+ /**
* Minimum amount of funds that should be placed in a deposit for making a proposal.
**/
proposalBondMinimum: u128 & AugmentedConst<ApiType>;
tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -61,9 +61,9 @@
**/
CantApproveMoreThanOwned: AugmentedError<ApiType>;
/**
- * Exceeded max admin amount
+ * Exceeded max admin count
**/
- CollectionAdminAmountExceeded: AugmentedError<ApiType>;
+ CollectionAdminCountExceeded: AugmentedError<ApiType>;
/**
* Collection description can not be longer than 255 char.
**/
@@ -227,7 +227,7 @@
/**
* Tried to set data for fungible item
**/
- FungibleItemsHaveData: AugmentedError<ApiType>;
+ FungibleItemsDontHaveData: AugmentedError<ApiType>;
/**
* Not default id passed as TokenId argument
**/
@@ -381,6 +381,10 @@
};
system: {
/**
+ * The origin filter prevent the call to be dispatched.
+ **/
+ CallFiltered: AugmentedError<ApiType>;
+ /**
* Failed to extract the runtime version from the new runtime.
*
* Either calling `Core_version` or decoding `RuntimeVersion` failed.
@@ -485,6 +489,10 @@
};
xcmpQueue: {
/**
+ * Bad overweight index.
+ **/
+ BadOverweightIndex: AugmentedError<ApiType>;
+ /**
* Bad XCM data.
**/
BadXcm: AugmentedError<ApiType>;
@@ -497,6 +505,10 @@
**/
FailedToSend: AugmentedError<ApiType>;
/**
+ * Provided weight is possibly not enough to execute the message.
+ **/
+ WeightOverLimit: AugmentedError<ApiType>;
+ /**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -2,7 +2,7 @@
/* eslint-disable */
import type { EthereumLog, EvmCoreErrorExitReason } from './ethereum';
-import type { PalletCommonAccountBasicCrossAccountIdRepr } from './unique';
+import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode } from './unique';
import type { ApiTypes } from '@polkadot/api/types';
import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types';
import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
@@ -12,48 +12,45 @@
export interface AugmentedEvents<ApiType> {
balances: {
/**
- * A balance was set by root. \[who, free, reserved\]
+ * A balance was set by root.
**/
BalanceSet: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;
/**
- * Some amount was deposited into the account (e.g. for transaction fees). \[who,
- * deposit\]
+ * Some amount was deposited (e.g. for transaction fees).
**/
Deposit: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
* An account was removed whose balance was non-zero but below ExistentialDeposit,
- * resulting in an outright loss. \[account, balance\]
+ * resulting in an outright loss.
**/
DustLost: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
- * An account was created with some free balance. \[account, free_balance\]
+ * An account was created with some free balance.
**/
Endowed: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
- * Some balance was reserved (moved from free to reserved). \[who, value\]
+ * Some balance was reserved (moved from free to reserved).
**/
Reserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
* Some balance was moved from the reserve of the first account to the second account.
* Final argument indicates the destination balance type.
- * \[from, to, balance, destination_status\]
**/
ReserveRepatriated: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128, FrameSupportTokensMiscBalanceStatus]>;
/**
- * Some amount was removed from the account (e.g. for misbehavior). \[who,
- * amount_slashed\]
+ * Some amount was removed from the account (e.g. for misbehavior).
**/
Slashed: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
- * Transfer succeeded. \[from, to, value\]
+ * Transfer succeeded.
**/
Transfer: AugmentedEvent<ApiType, [AccountId32, AccountId32, u128]>;
/**
- * Some balance was unreserved (moved from reserved to free). \[who, value\]
+ * Some balance was unreserved (moved from reserved to free).
**/
Unreserved: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
- * Some amount was withdrawn from the account (e.g. for transaction fees). \[who, value\]
+ * Some amount was withdrawn from the account (e.g. for transaction fees).
**/
Withdraw: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
@@ -87,6 +84,14 @@
**/
CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;
/**
+ * New collection was destroyed
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique identifier of collection.
+ **/
+ CollectionDestroyed: AugmentedEvent<ApiType, [u32]>;
+ /**
* New item was created.
*
* # Arguments
@@ -289,7 +294,7 @@
InvalidResponder: AugmentedEvent<ApiType, [XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
/**
* Expected query response has been received but the expected origin location placed in
- * storate by this runtime previously cannot be decoded. The query remains registered.
+ * storage by this runtime previously cannot be decoded. The query remains registered.
*
* This is unexpected (since a location placed in storage in a previously executing
* runtime should be readable prior to query timeout) and dangerous since the possibly
@@ -390,9 +395,9 @@
};
sudo: {
/**
- * The \[sudoer\] just switched identity; the old key is supplied.
+ * The \[sudoer\] just switched identity; the old key is supplied if one existed.
**/
- KeyChanged: AugmentedEvent<ApiType, [AccountId32]>;
+ KeyChanged: AugmentedEvent<ApiType, [Option<AccountId32>]>;
/**
* A sudo just took place. \[result\]
**/
@@ -412,23 +417,23 @@
**/
CodeUpdated: AugmentedEvent<ApiType, []>;
/**
- * An extrinsic failed. \[error, info\]
+ * An extrinsic failed.
**/
ExtrinsicFailed: AugmentedEvent<ApiType, [SpRuntimeDispatchError, FrameSupportWeightsDispatchInfo]>;
/**
- * An extrinsic completed successfully. \[info\]
+ * An extrinsic completed successfully.
**/
ExtrinsicSuccess: AugmentedEvent<ApiType, [FrameSupportWeightsDispatchInfo]>;
/**
- * An \[account\] was reaped.
+ * An account was reaped.
**/
KilledAccount: AugmentedEvent<ApiType, [AccountId32]>;
/**
- * A new \[account\] was created.
+ * A new account was created.
**/
NewAccount: AugmentedEvent<ApiType, [AccountId32]>;
/**
- * On on-chain remark happened. \[origin, remark_hash\]
+ * On on-chain remark happened.
**/
Remarked: AugmentedEvent<ApiType, [AccountId32, H256]>;
/**
@@ -438,32 +443,31 @@
};
treasury: {
/**
- * Some funds have been allocated. \[proposal_index, award, beneficiary\]
+ * Some funds have been allocated.
**/
Awarded: AugmentedEvent<ApiType, [u32, u128, AccountId32]>;
/**
- * Some of our funds have been burnt. \[burn\]
+ * Some of our funds have been burnt.
**/
Burnt: AugmentedEvent<ApiType, [u128]>;
/**
- * Some funds have been deposited. \[deposit\]
+ * Some funds have been deposited.
**/
Deposit: AugmentedEvent<ApiType, [u128]>;
/**
- * New proposal. \[proposal_index\]
+ * New proposal.
**/
Proposed: AugmentedEvent<ApiType, [u32]>;
/**
- * A proposal was rejected; funds were slashed. \[proposal_index, slashed\]
+ * A proposal was rejected; funds were slashed.
**/
Rejected: AugmentedEvent<ApiType, [u32, u128]>;
/**
* Spending has finished; this is the amount that rolls over until next spend.
- * \[budget_remaining\]
**/
Rollover: AugmentedEvent<ApiType, [u128]>;
/**
- * We have ended a spend period and will now allocate funds. \[budget_remaining\]
+ * We have ended a spend period and will now allocate funds.
**/
Spending: AugmentedEvent<ApiType, [u128]>;
/**
@@ -471,17 +475,159 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ unique: {
+ /**
+ * Address was add to allow list
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * user: Address.
+ **/
+ AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ /**
+ * Address was remove from allow list
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * user: Address.
+ **/
+ AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ /**
+ * Collection admin was added
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * admin: Admin address.
+ **/
+ CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ /**
+ * Collection admin was removed
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * admin: Admin address.
+ **/
+ CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+ /**
+ * Collection limits was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ CollectionLimitSet: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * Collection owned was change
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * owner: New owner address.
+ **/
+ CollectionOwnedChanged: AugmentedEvent<ApiType, [u32, AccountId32]>;
+ /**
+ * Collection sponsor was removed
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ CollectionSponsorRemoved: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * Collection sponsor was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * owner: New sponsor address.
+ **/
+ CollectionSponsorSet: AugmentedEvent<ApiType, [u32, AccountId32]>;
+ /**
+ * const on chain schema was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ ConstOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * Mint permission was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ MintPermissionSet: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * Offchain schema was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ OffchainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * Public access mode was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * mode: New access state.
+ **/
+ PublicAccessModeSet: AugmentedEvent<ApiType, [u32, UpDataStructsAccessMode]>;
+ /**
+ * Schema version was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ SchemaVersionSet: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * New sponsor was confirm
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ *
+ * * sponsor: New sponsor address.
+ **/
+ SponsorshipConfirmed: AugmentedEvent<ApiType, [u32, AccountId32]>;
+ /**
+ * Variable on chain schema was set
+ *
+ * # Arguments
+ *
+ * * collection_id: Globally unique collection identifier.
+ **/
+ VariableOnChainSchemaSet: AugmentedEvent<ApiType, [u32]>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
vesting: {
/**
- * Claimed vesting. \[who, locked_amount\]
+ * Claimed vesting.
**/
Claimed: AugmentedEvent<ApiType, [AccountId32, u128]>;
/**
- * Added new vesting schedule. \[from, to, vesting_schedule\]
+ * Added new vesting schedule.
**/
VestingScheduleAdded: AugmentedEvent<ApiType, [AccountId32, AccountId32, OrmlVestingVestingSchedule]>;
/**
- * Updated vesting schedules. \[who\]
+ * Updated vesting schedules.
**/
VestingSchedulesUpdated: AugmentedEvent<ApiType, [AccountId32]>;
/**
@@ -503,6 +649,14 @@
**/
Fail: AugmentedEvent<ApiType, [Option<H256>, XcmV2TraitsError]>;
/**
+ * An XCM exceeded the individual message weight budget.
+ **/
+ OverweightEnqueued: AugmentedEvent<ApiType, [u32, u32, u64, u64]>;
+ /**
+ * An XCM from the overweight queue was executed with the given actual weight used.
+ **/
+ OverweightServiced: AugmentedEvent<ApiType, [u64, u64]>;
+ /**
* Some XCM was executed ok.
**/
Success: AugmentedEvent<ApiType, [Option<H256>]>;
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -1,8 +1,8 @@
// Auto-generated via `yarn polkadot-types-from-chain`, do not edit
/* eslint-disable */
-import type { EthereumBlock, EthereumReceipt, EthereumTransactionLegacyTransaction, FpRpcTransactionStatus } from './ethereum';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundStatus, CumulusPalletXcmpQueueOutboundStatus, CumulusPalletXcmpQueueQueueConfigData, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
+import type { EthereumBlock, FpRpcTransactionStatus } from './ethereum';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueQueueConfigData, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData } from './polkadot';
import type { PalletCommonAccountBasicCrossAccountIdRepr, PalletNonfungibleItemData, PalletRefungibleItemData, UpDataStructsCollection, UpDataStructsCollectionStats } from './unique';
import type { ApiTypes } from '@polkadot/api/types';
import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';
@@ -105,7 +105,7 @@
/**
* The current Ethereum receipts.
**/
- currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceipt>>>, []> & QueryableStorageEntry<ApiType, []>;
+ currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The current transaction statuses.
**/
@@ -113,7 +113,7 @@
/**
* Current building block's transactions and receipts.
**/
- pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionLegacyTransaction, FpRpcTransactionStatus, EthereumReceipt]>>>, []> & QueryableStorageEntry<ApiType, []>;
+ pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
@@ -163,10 +163,22 @@
};
inflation: {
/**
- * Current block inflation
+ * Current inflation for `InflationBlockInterval` number of blocks
**/
blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
/**
+ * Next target (relay) block when inflation will be applied
+ **/
+ nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Next target (relay) block when inflation is recalculated
+ **/
+ nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Relay block when inflation has started
+ **/
+ startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
* starting year total issuance
**/
startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
@@ -208,6 +220,12 @@
**/
authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;
/**
+ * A custom head data that should be returned as result of `validate_block`.
+ *
+ * See [`Pallet::set_custom_validation_head_data`] for more information.
+ **/
+ customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
* Were the validation data set to notify the relay chain?
**/
didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
@@ -353,7 +371,7 @@
/**
* The `AccountId` of the sudo key.
**/
- key: AugmentedQuery<ApiType, () => Observable<AccountId32>, []> & QueryableStorageEntry<ApiType, []>;
+ key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* Generic query
**/
@@ -540,7 +558,7 @@
/**
* Status of the inbound XCMP channels.
**/
- inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, CumulusPalletXcmpQueueInboundStatus, Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>]>>>, []> & QueryableStorageEntry<ApiType, []>;
+ inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The messages outbound in a given XCMP channel.
**/
@@ -553,7 +571,19 @@
* case of the need to send a high-priority signal message this block.
* The bool is true if there is a signal message waiting to be sent.
**/
- outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, CumulusPalletXcmpQueueOutboundStatus, bool, u16, u16]>>>, []> & QueryableStorageEntry<ApiType, []>;
+ outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The messages that exceeded max individual message weight budget.
+ *
+ * These message stay in this storage map until they are manually dispatched via
+ * `service_overweight`.
+ **/
+ overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;
+ /**
+ * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next
+ * available free overweight index.
+ **/
+ overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The configuration which controls the dynamics of the outbound queue.
**/
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -1,14 +1,13 @@
// Auto-generated via `yarn polkadot-types-from-chain`, do not edit
/* eslint-disable */
-import type { EthereumTransactionLegacyTransaction } from './ethereum';
import type { CumulusPrimitivesParachainInherentParachainInherentData } from './polkadot';
import type { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateItemData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion } from './unique';
import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types';
import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types';
import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics';
import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { SpCoreChangesTrieChangesTrieConfiguration, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
import type { AnyNumber, ITuple } from '@polkadot/types/types';
declare module '@polkadot/api/types/submittable' {
@@ -33,28 +32,17 @@
* Set the balances of a given account.
*
* This will alter `FreeBalance` and `ReservedBalance` in storage. it will
- * also decrease the total issuance of the system (`TotalIssuance`).
+ * also alter the total issuance of the system (`TotalIssuance`) appropriately.
* If the new free or reserved balance is below the existential deposit,
* it will reset the account nonce (`frame_system::AccountNonce`).
*
* The dispatch origin for this call is `root`.
- *
- * # <weight>
- * - Independent of the arguments.
- * - Contains a limited number of reads and writes.
- * ---------------------
- * - Base Weight:
- * - Creating: 27.56 µs
- * - Killing: 35.11 µs
- * - DB Weight: 1 Read, 1 Write to `who`
- * # </weight>
**/
setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact<u128> | AnyNumber | Uint8Array, newReserved: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>, Compact<u128>]>;
/**
* Transfer some liquid free balance to another account.
*
* `transfer` will set the `FreeBalance` of the sender and receiver.
- * It will decrease the total issuance of the system by the `TransferFee`.
* If the sender's account is below the existential deposit as a result
* of the transfer, the account will be reaped.
*
@@ -75,8 +63,6 @@
* - `transfer_keep_alive` works the same way as `transfer`, but has an additional check
* that the transfer will not kill the origin account.
* ---------------------------------
- * - Base Weight: 73.64 µs, worst case scenario (account created, account removed)
- * - DB Weight: 1 Read and 1 Write to destination account
* - Origin account is already in memory, so no DB operations for them.
* # </weight>
**/
@@ -108,11 +94,6 @@
* 99% of the time you want [`transfer`] instead.
*
* [`transfer`]: struct.Pallet.html#method.transfer
- * # <weight>
- * - Cheaper than transfer because account cannot be killed.
- * - Base Weight: 51.4 µs
- * - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)
- * #</weight>
**/
transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Compact<u128>]>;
/**
@@ -157,7 +138,7 @@
/**
* Transact an Ethereum transaction.
**/
- transact: AugmentedSubmittable<(transaction: EthereumTransactionLegacyTransaction | { nonce?: any; gasPrice?: any; gasLimit?: any; action?: any; value?: any; input?: any; signature?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionLegacyTransaction]>;
+ transact: AugmentedSubmittable<(transaction: EthereumTransactionTransactionV2 | { Legacy: any } | { EIP2930: any } | { EIP1559: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [EthereumTransactionTransactionV2]>;
/**
* Generic tx
**/
@@ -167,16 +148,16 @@
/**
* Issue an EVM call operation. This is similar to a message call transaction in Ethereum.
**/
- call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>]>;
+ call: AugmentedSubmittable<(source: H160 | string | Uint8Array, target: H160 | string | Uint8Array, input: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | object | string | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;
/**
* Issue an EVM create operation. This is similar to a contract creation transaction in
* Ethereum.
**/
- create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>]>;
+ create: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | object | string | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;
/**
* Issue an EVM create2 operation.
**/
- create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, gasPrice: U256 | AnyNumber | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>]>;
+ create2: AugmentedSubmittable<(source: H160 | string | Uint8Array, init: Bytes | string | Uint8Array, salt: H256 | string | Uint8Array, value: U256 | AnyNumber | Uint8Array, gasLimit: u64 | AnyNumber | Uint8Array, maxFeePerGas: U256 | AnyNumber | Uint8Array, maxPriorityFeePerGas: Option<U256> | null | object | string | Uint8Array, nonce: Option<U256> | null | object | string | Uint8Array, accessList: Vec<ITuple<[H160, Vec<H256>]>> | ([H160 | string | Uint8Array, Vec<H256> | (H256 | string | Uint8Array)[]])[]) => SubmittableExtrinsic<ApiType>, [H160, Bytes, H256, U256, u64, U256, Option<U256>, Option<U256>, Vec<ITuple<[H160, Vec<H256>]>>]>;
/**
* Withdraw balance from EVM into currency/balances pallet.
**/
@@ -197,6 +178,20 @@
};
inflation: {
/**
+ * This method sets the inflation start date. Can be only called once.
+ * Inflation start block can be backdated and will catch up. The method will create Treasury
+ * account if it does not exist and perform the first inflation deposit.
+ *
+ * # Permissions
+ *
+ * * Root
+ *
+ * # Arguments
+ *
+ * * inflation_start_relay_block: The relay chain block at which inflation should start
+ **/
+ startInflation: AugmentedSubmittable<(inflationStartRelayBlock: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+ /**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
@@ -300,8 +295,8 @@
* an `AccountId32` value.
* - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the
* `dest` side. May not be empty.
- * - `dest_weight`: Equal to the total weight on `dest` of the XCM message
- * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.
+ * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
+ * fees.
* - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
**/
limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>;
@@ -339,8 +334,8 @@
* an `AccountId32` value.
* - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the
* `dest` side. May not be empty.
- * - `dest_weight`: Equal to the total weight on `dest` of the XCM message
- * `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.
+ * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
+ * fees.
**/
teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>;
/**
@@ -374,7 +369,7 @@
* - Weight of derivative `call` execution + 10,000.
* # </weight>
**/
- sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic<ApiType>, [Call]>;
+ sudo: AugmentedSubmittable<(call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;
/**
* Authenticates the sudo key and dispatches a function call with `Signed` origin from
* a given account.
@@ -388,7 +383,7 @@
* - Weight of derivative `call` execution + 10,000.
* # </weight>
**/
- sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, ) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
+ sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
/**
* Authenticates the sudo key and dispatches a function call with `Root` origin.
* This function does not check the weight of the call, and instead allows the
@@ -401,7 +396,7 @@
* - The weight of this call is defined by the caller.
* # </weight>
**/
- sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
+ sudoUncheckedWeight: AugmentedSubmittable<(call: Call | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
/**
* Generic tx
**/
@@ -417,24 +412,10 @@
*
* **NOTE:** We rely on the Root origin to provide us the number of subkeys under
* the prefix we are removing to accurately calculate the weight of this function.
- *
- * # <weight>
- * - `O(P)` where `P` amount of keys with prefix `prefix`
- * - `P` storage deletions.
- * - Base Weight: 0.834 * P µs
- * - Writes: Number of subkeys + 1
- * # </weight>
**/
killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, u32]>;
/**
* Kill some items from storage.
- *
- * # <weight>
- * - `O(IK)` where `I` length of `keys` and `K` length of one key
- * - `I` storage deletions.
- * - Base Weight: .378 * i µs
- * - Writes: Number of items
- * # </weight>
**/
killStorage: AugmentedSubmittable<(keys: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;
/**
@@ -455,19 +436,6 @@
**/
remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
- * Set the new changes trie configuration.
- *
- * # <weight>
- * - `O(1)`
- * - 1 storage write or delete (codec `O(1)`).
- * - 1 call to `deposit_log`: Uses `append` API, so O(1)
- * - Base Weight: 7.218 µs
- * - DB Weight:
- * - Writes: Changes Trie, System Digest
- * # </weight>
- **/
- setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option<SpCoreChangesTrieChangesTrieConfiguration> | null | object | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Option<SpCoreChangesTrieChangesTrieConfiguration>]>;
- /**
* Set the new runtime code.
*
* # <weight>
@@ -496,25 +464,10 @@
setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
/**
* Set the number of pages in the WebAssembly environment's heap.
- *
- * # <weight>
- * - `O(1)`
- * - 1 storage write.
- * - Base Weight: 1.405 µs
- * - 1 write to HEAP_PAGES
- * - 1 digest item
- * # </weight>
**/
setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64]>;
/**
* Set some items of storage.
- *
- * # <weight>
- * - `O(I)` where `I` length of `items`
- * - `I` storage writes (`O(1)`).
- * - Base Weight: 0.568 * i µs
- * - Writes: Number of items
- * # </weight>
**/
setStorage: AugmentedSubmittable<(items: Vec<ITuple<[Bytes, Bytes]>> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[Bytes, Bytes]>>]>;
/**
@@ -1026,6 +979,22 @@
};
xcmpQueue: {
/**
+ * Services a single overweight XCM.
+ *
+ * - `origin`: Must pass `ExecuteOverweightOrigin`.
+ * - `index`: The index of the overweight XCM to service
+ * - `weight_limit`: The amount of weight that XCM execution may take.
+ *
+ * Errors:
+ * - `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.
+ * - `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.
+ * - `WeightOverLimit`: XCM execution may use greater `weight_limit`.
+ *
+ * Events:
+ * - `OverweightServiced`: On success.
+ **/
+ serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u64, u64]>;
+ /**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
tests/src/xcmTransfer.test.tsdiffbeforeafterboth--- /dev/null
+++ b/tests/src/xcmTransfer.test.ts
@@ -0,0 +1,178 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+
+import {WsProvider} from '@polkadot/api';
+import {ApiOptions} from '@polkadot/api/types';
+import {IKeyringPair} from '@polkadot/types/types';
+import privateKey from './substrate/privateKey';
+import usingApi, {submitTransactionAsync} from './substrate/substrate-api';
+import {getGenericResult} from './util/helpers';
+import waitNewBlocks from './substrate/wait-new-blocks';
+import getBalance from './substrate/get-balance';
+import {alicesPublicKey} from './accounts';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+
+const UNIQUE_CHAIN = 1000;
+const KARURA_CHAIN = 2000;
+const KARURA_PORT = '9946';
+
+describe('Integration test: Exchanging QTZ with Karura', () => {
+ let alice: IKeyringPair;
+
+ before(async () => {
+ await usingApi(async () => {
+ alice = privateKey('//Alice');
+ });
+
+ const karuraApiOptions: ApiOptions = {
+ provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT),
+ };
+
+ await usingApi(async (api) => {
+ const destination = {
+ V0: {
+ X2: [
+ 'Parent',
+ {
+ Parachain: UNIQUE_CHAIN,
+ },
+ ],
+ },
+ };
+
+ const metadata =
+ {
+ name: 'QTZ',
+ symbol: 'QTZ',
+ decimals: 18,
+ minimalBalance: 1,
+ };
+
+ const tx = api.tx.assetRegistry.registerForeignAsset(destination, metadata);
+ const sudoTx = api.tx.sudo.sudo(tx as any);
+ const events = await submitTransactionAsync(alice, sudoTx);
+ const result = getGenericResult(events);
+ expect(result.success).to.be.true;
+ }, karuraApiOptions);
+ });
+
+ it('Should connect and send QTZ to Karura', async () => {
+ let balanceOnKaruraBefore: bigint;
+
+ await usingApi(async (api) => {
+ const {free} = (await api.query.tokens.accounts(alice.addressRaw, {ForeignAsset: 0})).toJSON() as any;
+ balanceOnKaruraBefore = free;
+ }, {provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT)});
+
+ await usingApi(async (api) => {
+ const destination = {
+ V0: {
+ X2: [
+ 'Parent',
+ {
+ Parachain: KARURA_CHAIN,
+ },
+ ],
+ },
+ };
+
+ const beneficiary = {
+ V0: {
+ X1: {
+ AccountId32: {
+ network: 'Any',
+ id: alice.addressRaw,
+ },
+ },
+ },
+ };
+
+ const assets = {
+ V1: [
+ {
+ id: {
+ Concrete: {
+ parents: 0,
+ interior: 'Here',
+ },
+ },
+ fun: {
+ Fungible: 5000000000,
+ },
+ },
+ ],
+ };
+
+ const feeAssetItem = 0;
+
+ const weightLimit = {
+ Limited: 5000000000,
+ };
+
+ const tx = api.tx.polkadotXcm.limitedReserveTransferAssets(destination, beneficiary, assets, feeAssetItem, weightLimit);
+ const events = await submitTransactionAsync(alice, tx);
+ const result = getGenericResult(events);
+ expect(result.success).to.be.true;
+ });
+
+ await usingApi(async (api) => {
+ // todo do something about instant sealing, where there might not be any new blocks
+ await waitNewBlocks(api, 3);
+ const {free} = (await api.query.tokens.accounts(alice.addressRaw, {ForeignAsset: 0})).toJSON() as any;
+ expect(free > balanceOnKaruraBefore).to.be.true;
+ }, {provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT)});
+ });
+
+ it('Should connect to Karura and send QTZ back', async () => {
+ let balanceBefore: bigint;
+
+ await usingApi(async (api) => {
+ [balanceBefore] = await getBalance(api, [alicesPublicKey]);
+ });
+
+ await usingApi(async (api) => {
+ const destination = {
+ V0: {
+ X3: [
+ 'Parent',
+ {
+ Parachain: UNIQUE_CHAIN,
+ },
+ {
+ AccountId32: {
+ network: 'Any',
+ id: alice.addressRaw,
+ },
+ },
+ ],
+ },
+ };
+
+ const id = {
+ ForeignAsset: 0,
+ };
+
+ const amount = 5000000000;
+ const destWeight = 50000000;
+
+ const tx = api.tx.xTokens.transfer(id, amount, destination, destWeight);
+ const events = await submitTransactionAsync(alice, tx);
+ const result = getGenericResult(events);
+ expect(result.success).to.be.true;
+ }, {provider: new WsProvider('ws://127.0.0.1:' + KARURA_PORT)});
+
+ await usingApi(async (api) => {
+ // todo do something about instant sealing, where there might not be any new blocks
+ await waitNewBlocks(api, 3);
+ const [balanceAfter] = await getBalance(api, [alicesPublicKey]);
+ expect(balanceAfter > balanceBefore).to.be.true;
+ });
+ });
+});
\ No newline at end of file