difftreelog
Chain extensions - changes in substrate
in: master
10 files changed
Cargo.lockdiffbeforeafterboth121213[[package]]13[[package]]14name = "addr2line"14name = "addr2line"15version = "0.14.0"15version = "0.14.1"16source = "registry+https://github.com/rust-lang/crates.io-index"16source = "registry+https://github.com/rust-lang/crates.io-index"17checksum = "7c0929d69e78dd9bf5408269919fcbcaeb2e35e5d43e5815517cdc6a8e11a423"17checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7"18dependencies = [18dependencies = [19 "gimli 0.23.0",19 "gimli 0.23.0",20]20]65checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6"65checksum = "63dd91889c49327ad7ef3b500fd1109dbd3c509a03db0d4a9ce413b79f575cb6"66dependencies = [66dependencies = [67 "block-cipher",67 "block-cipher",68 "byteorder 1.3.4",68 "byteorder",69 "opaque-debug 0.3.0",69 "opaque-debug 0.3.0",70]70]717179 "opaque-debug 0.3.0",79 "opaque-debug 0.3.0",80]80]8182[[package]]83name = "ahash"84version = "0.2.19"85source = "registry+https://github.com/rust-lang/crates.io-index"86checksum = "29661b60bec623f0586702976ff4d0c9942dcb6723161c2df0eea78455cfedfb"87dependencies = [88 "const-random",89]9091[[package]]92name = "ahash"93version = "0.3.8"94source = "registry+https://github.com/rust-lang/crates.io-index"95checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"968197[[package]]82[[package]]98name = "ahash"83name = "ahash"109 "memchr",94 "memchr",110]95]111112[[package]]113name = "alga"114version = "0.9.3"115source = "registry+https://github.com/rust-lang/crates.io-index"116checksum = "4f823d037a7ec6ea2197046bafd4ae150e6bc36f9ca347404f46a46823fa84f2"117dependencies = [118 "approx",119 "num-complex",120 "num-traits",121]12296123[[package]]97[[package]]124name = "ansi_term"98name = "ansi_term"140114141[[package]]115[[package]]142name = "anyhow"116name = "anyhow"143version = "1.0.35"117version = "1.0.38"144source = "registry+https://github.com/rust-lang/crates.io-index"118source = "registry+https://github.com/rust-lang/crates.io-index"145checksum = "2c0df63cb2955042487fad3aefd2c6e3ae7389ac5dc1beb28921de0b69f779d4"119checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1"146120147[[package]]121[[package]]148name = "approx"122name = "approx"153 "num-traits",127 "num-traits",154]128]155156[[package]]157name = "arc-swap"158version = "0.4.8"159source = "registry+https://github.com/rust-lang/crates.io-index"160checksum = "dabe5a181f83789739c194cbe5a897dde195078fac08568d09221fd6137a7ba8"161129162[[package]]130[[package]]163name = "arrayref"131name = "arrayref"220 "concurrent-queue",188 "concurrent-queue",221 "fastrand",189 "fastrand",222 "futures-lite",190 "futures-lite",223 "once_cell 1.5.2",191 "once_cell",224 "vec-arena",192 "vec-arena",225]193]226194227[[package]]195[[package]]228name = "async-global-executor"196name = "async-global-executor"229version = "1.4.3"197version = "2.0.2"230source = "registry+https://github.com/rust-lang/crates.io-index"198source = "registry+https://github.com/rust-lang/crates.io-index"231checksum = "73079b49cd26b8fd5a15f68fc7707fc78698dc2a3d61430f2a7a9430230dfa04"199checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6"232dependencies = [200dependencies = [201 "async-channel",233 "async-executor",202 "async-executor",234 "async-io",203 "async-io",204 "async-mutex",205 "blocking",235 "futures-lite",206 "futures-lite",236 "num_cpus",207 "num_cpus",237 "once_cell 1.5.2",208 "once_cell",238]209]239210240[[package]]211[[package]]249 "libc",220 "libc",250 "log",221 "log",251 "nb-connect",222 "nb-connect",252 "once_cell 1.5.2",223 "once_cell",253 "parking",224 "parking",254 "polling",225 "polling",255 "vec-arena",226 "vec-arena",256 "waker-fn",227 "waker-fn",257 "winapi 0.3.9",228 "winapi 0.3.9",258]229]230231[[package]]232name = "async-lock"233version = "2.3.0"234source = "registry+https://github.com/rust-lang/crates.io-index"235checksum = "1996609732bde4a9988bc42125f55f2af5f3c36370e27c778d5191a4a1b63bfb"236dependencies = [237 "event-listener",238]259239260[[package]]240[[package]]261name = "async-mutex"241name = "async-mutex"277 "cfg-if 0.1.10",257 "cfg-if 0.1.10",278 "event-listener",258 "event-listener",279 "futures-lite",259 "futures-lite",280 "once_cell 1.5.2",260 "once_cell",281 "signal-hook",261 "signal-hook",282 "winapi 0.3.9",262 "winapi 0.3.9",283]263]284264285[[package]]265[[package]]286name = "async-std"266name = "async-std"287version = "1.8.0"267version = "1.9.0"288source = "registry+https://github.com/rust-lang/crates.io-index"268source = "registry+https://github.com/rust-lang/crates.io-index"289checksum = "8f9f84f1280a2b436a2c77c2582602732b6c2f4321d5494d6e799e6c367859a8"269checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341"290dependencies = [270dependencies = [291 "async-channel",271 "async-channel",292 "async-global-executor",272 "async-global-executor",293 "async-io",273 "async-io",294 "async-mutex",274 "async-lock",295 "async-process",275 "async-process",296 "blocking",297 "crossbeam-utils 0.8.1",276 "crossbeam-utils 0.8.1",298 "futures-channel",277 "futures-channel",299 "futures-core",278 "futures-core",304 "log",283 "log",305 "memchr",284 "memchr",306 "num_cpus",285 "num_cpus",307 "once_cell 1.5.2",286 "once_cell",308 "pin-project-lite 0.2.0",287 "pin-project-lite 0.2.4",309 "pin-utils",288 "pin-utils",310 "slab",289 "slab",311 "wasm-bindgen-futures",290 "wasm-bindgen-futures",317source = "registry+https://github.com/rust-lang/crates.io-index"296source = "registry+https://github.com/rust-lang/crates.io-index"318checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"297checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"319320[[package]]321name = "async-tls"322version = "0.8.0"323source = "registry+https://github.com/rust-lang/crates.io-index"324checksum = "df097e3f506bec0e1a24f06bb3c962c228f36671de841ff579cb99f371772634"325dependencies = [326 "futures 0.3.8",327 "rustls",328 "webpki",329 "webpki-roots 0.19.0",330]331298332[[package]]299[[package]]333name = "async-trait"300name = "async-trait"340 "syn",307 "syn",341]308]309310[[package]]311name = "asynchronous-codec"312version = "0.5.0"313source = "registry+https://github.com/rust-lang/crates.io-index"314checksum = "fb4401f0a3622dad2e0763fa79e0eb328bc70fb7dccfdd645341f00d671247d6"315dependencies = [316 "bytes 1.0.1",317 "futures-sink",318 "futures-util",319 "memchr",320 "pin-project-lite 0.2.4",321]342322343[[package]]323[[package]]344name = "atomic"324name = "atomic"345version = "0.4.6"325version = "0.5.0"346source = "registry+https://github.com/rust-lang/crates.io-index"326source = "registry+https://github.com/rust-lang/crates.io-index"347checksum = "64f46ca51dca4837f1520754d1c8c36636356b81553d928dc9c177025369a06e"327checksum = "c3410529e8288c463bedb5930f82833bc0c90e5d2fe639a56582a4d09220b281"328dependencies = [329 "autocfg",330]348331349[[package]]332[[package]]350name = "atomic-waker"333name = "atomic-waker"363 "winapi 0.3.9",346 "winapi 0.3.9",364]347]365366[[package]]367name = "autocfg"368version = "0.1.7"369source = "registry+https://github.com/rust-lang/crates.io-index"370checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"371348372[[package]]349[[package]]373name = "autocfg"350name = "autocfg"377354378[[package]]355[[package]]379name = "backtrace"356name = "backtrace"380version = "0.3.55"357version = "0.3.56"381source = "registry+https://github.com/rust-lang/crates.io-index"358source = "registry+https://github.com/rust-lang/crates.io-index"382checksum = "ef5140344c85b01f9bbb4d4b7288a8aa4b3287ccef913a14bcc78a1063623598"359checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc"383dependencies = [360dependencies = [384 "addr2line",361 "addr2line",385 "cfg-if 1.0.0",362 "cfg-if 1.0.0",386 "libc",363 "libc",387 "miniz_oxide",364 "miniz_oxide",388 "object 0.22.0",365 "object 0.23.0",389 "rustc-demangle",366 "rustc-demangle",390]367]391368395source = "registry+https://github.com/rust-lang/crates.io-index"372source = "registry+https://github.com/rust-lang/crates.io-index"396checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83"373checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83"397398[[package]]399name = "base64"400version = "0.11.0"401source = "registry+https://github.com/rust-lang/crates.io-index"402checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"403374404[[package]]375[[package]]405name = "base64"376name = "base64"419source = "registry+https://github.com/rust-lang/crates.io-index"390source = "registry+https://github.com/rust-lang/crates.io-index"420checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d"391checksum = "f30d3a39baa26f9651f17b375061f3233dde33424a8b72b0dbe93a68a0bc896d"421dependencies = [392dependencies = [422 "byteorder 1.3.4",393 "byteorder",423 "serde",394 "serde",424]395]425396444 "regex",415 "regex",445 "rustc-hash",416 "rustc-hash",446 "shlex",417 "shlex",447 "which",418 "which 3.1.1",448]419]449450[[package]]451name = "bip39"452version = "0.6.0-beta.1"453source = "registry+https://github.com/rust-lang/crates.io-index"454checksum = "7059804e226b3ac116519a252d7f5fb985a5ccc0e93255e036a5f7e7283323f4"455dependencies = [456 "failure",457 "hashbrown 0.1.8",458 "hmac",459 "once_cell 0.1.8",460 "pbkdf2",461 "rand 0.6.5",462 "sha2 0.8.2",463]464420465[[package]]421[[package]]466name = "bitflags"422name = "bitflags"467version = "1.2.1"423version = "1.2.1"468source = "registry+https://github.com/rust-lang/crates.io-index"424source = "registry+https://github.com/rust-lang/crates.io-index"469checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"425checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"470471[[package]]472name = "bitmask"473version = "0.5.0"474source = "registry+https://github.com/rust-lang/crates.io-index"475checksum = "5da9b3d9f6f585199287a473f4f8dfab6566cf827d15c00c219f53c645687ead"476426477[[package]]427[[package]]478name = "bitvec"428name = "bitvec"516 "constant_time_eq",466 "constant_time_eq",517]467]518519[[package]]520name = "blake2s_simd"521version = "0.5.11"522source = "registry+https://github.com/rust-lang/crates.io-index"523checksum = "9e461a7034e85b211a4acb57ee2e6730b32912b06c08cc242243c39fc21ae6a2"524dependencies = [525 "arrayref",526 "arrayvec 0.5.2",527 "constant_time_eq",528]529468530[[package]]469[[package]]531name = "block-buffer"470name = "block-buffer"535dependencies = [474dependencies = [536 "block-padding 0.1.5",475 "block-padding 0.1.5",537 "byte-tools",476 "byte-tools",538 "byteorder 1.3.4",477 "byteorder",539 "generic-array 0.12.3",478 "generic-array 0.12.3",540]479]541480584 "atomic-waker",523 "atomic-waker",585 "fastrand",524 "fastrand",586 "futures-lite",525 "futures-lite",587 "once_cell 1.5.2",526 "once_cell",588]527]589590[[package]]591name = "bs58"592version = "0.3.1"593source = "registry+https://github.com/rust-lang/crates.io-index"594checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb"595528596[[package]]529[[package]]597name = "bs58"530name = "bs58"626source = "registry+https://github.com/rust-lang/crates.io-index"559source = "registry+https://github.com/rust-lang/crates.io-index"627checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"560checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"628629[[package]]630name = "byteorder"631version = "0.5.3"632source = "registry+https://github.com/rust-lang/crates.io-index"633checksum = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855"634561635[[package]]562[[package]]636name = "byteorder"563name = "byteorder"637version = "1.3.4"564version = "1.4.2"638source = "registry+https://github.com/rust-lang/crates.io-index"565source = "registry+https://github.com/rust-lang/crates.io-index"639checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"566checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b"640567641[[package]]568[[package]]642name = "bytes"569name = "bytes"643version = "0.4.12"570version = "0.4.12"644source = "registry+https://github.com/rust-lang/crates.io-index"571source = "registry+https://github.com/rust-lang/crates.io-index"645checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"572checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"646dependencies = [573dependencies = [647 "byteorder 1.3.4",574 "byteorder",648 "either",575 "either",649 "iovec",576 "iovec",650]577]656checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"583checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"657584658[[package]]585[[package]]659name = "c_linked_list"586name = "bytes"660version = "1.1.1"587version = "1.0.1"661source = "registry+https://github.com/rust-lang/crates.io-index"588source = "registry+https://github.com/rust-lang/crates.io-index"662checksum = "4964518bd3b4a8190e832886cdc0da9794f12e8e6c1613a9e90ff331c4c8724b"589checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"663590664[[package]]591[[package]]665name = "cache-padded"592name = "cache-padded"733 "winapi 0.3.9",660 "winapi 0.3.9",734]661]662663[[package]]664name = "cipher"665version = "0.2.5"666source = "registry+https://github.com/rust-lang/crates.io-index"667checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"668dependencies = [669 "generic-array 0.14.4",670]735671736[[package]]672[[package]]737name = "clang-sys"673name = "clang-sys"777 "cache-padded",713 "cache-padded",778]714]779780[[package]]781name = "const-random"782version = "0.1.13"783source = "registry+https://github.com/rust-lang/crates.io-index"784checksum = "f590d95d011aa80b063ffe3253422ed5aa462af4e9867d43ce8337562bac77c4"785dependencies = [786 "const-random-macro",787 "proc-macro-hack",788]789790[[package]]791name = "const-random-macro"792version = "0.1.13"793source = "registry+https://github.com/rust-lang/crates.io-index"794checksum = "615f6e27d000a2bffbc7f2f6a8669179378fa27ee4d0a509e985dfc0a7defb40"795dependencies = [796 "getrandom 0.2.0",797 "lazy_static",798 "proc-macro-hack",799 "tiny-keccak",800]801715802[[package]]716[[package]]803name = "const_fn"717name = "const_fn"804version = "0.4.4"718version = "0.4.5"805source = "registry+https://github.com/rust-lang/crates.io-index"719source = "registry+https://github.com/rust-lang/crates.io-index"806checksum = "cd51eab21ab4fd6a3bf889e2d0958c0a6e3a61ad04260325e919e652a2a62826"720checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"807721808[[package]]722[[package]]809name = "constant_time_eq"723name = "constant_time_eq"854source = "registry+https://github.com/rust-lang/crates.io-index"768source = "registry+https://github.com/rust-lang/crates.io-index"855checksum = "9d9badfe36176cb653506091693bc2bb1970c9bddfcd6ec7fac404f7eaec6f38"769checksum = "9d9badfe36176cb653506091693bc2bb1970c9bddfcd6ec7fac404f7eaec6f38"856dependencies = [770dependencies = [857 "byteorder 1.3.4",771 "byteorder",858 "cranelift-bforest",772 "cranelift-bforest",859 "cranelift-codegen-meta",773 "cranelift-codegen-meta",860 "cranelift-codegen-shared",774 "cranelift-codegen-shared",863 "log",777 "log",864 "regalloc",778 "regalloc",865 "serde",779 "serde",866 "smallvec 1.5.1",780 "smallvec 1.6.1",867 "target-lexicon",781 "target-lexicon",868 "thiserror",782 "thiserror",869]783]901dependencies = [815dependencies = [902 "cranelift-codegen",816 "cranelift-codegen",903 "log",817 "log",904 "smallvec 1.5.1",818 "smallvec 1.6.1",905 "target-lexicon",819 "target-lexicon",906]820]907821978source = "registry+https://github.com/rust-lang/crates.io-index"892source = "registry+https://github.com/rust-lang/crates.io-index"979checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"893checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"980dependencies = [894dependencies = [981 "autocfg 1.0.1",895 "autocfg",982 "cfg-if 0.1.10",896 "cfg-if 0.1.10",983 "crossbeam-utils 0.7.2",897 "crossbeam-utils 0.7.2",984 "lazy_static",898 "lazy_static",985 "maybe-uninit",899 "maybe-uninit",986 "memoffset 0.5.6",900 "memoffset 0.5.6",987 "scopeguard 1.1.0",901 "scopeguard",988]902]989903990[[package]]904[[package]]998 "crossbeam-utils 0.8.1",912 "crossbeam-utils 0.8.1",999 "lazy_static",913 "lazy_static",1000 "memoffset 0.6.1",914 "memoffset 0.6.1",1001 "scopeguard 1.1.0",915 "scopeguard",1002]916]10039171004[[package]]918[[package]]1018source = "registry+https://github.com/rust-lang/crates.io-index"932source = "registry+https://github.com/rust-lang/crates.io-index"1019checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"933checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"1020dependencies = [934dependencies = [1021 "autocfg 1.0.1",935 "autocfg",1022 "cfg-if 0.1.10",936 "cfg-if 0.1.10",1023 "lazy_static",937 "lazy_static",1024]938]1029source = "registry+https://github.com/rust-lang/crates.io-index"943source = "registry+https://github.com/rust-lang/crates.io-index"1030checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"944checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"1031dependencies = [945dependencies = [1032 "autocfg 1.0.1",946 "autocfg",1033 "cfg-if 1.0.0",947 "cfg-if 1.0.0",1034 "lazy_static",948 "lazy_static",1035]949]10719851072[[package]]986[[package]]1073name = "cuckoofilter"987name = "cuckoofilter"1074version = "0.3.2"988version = "0.5.0"1075source = "registry+https://github.com/rust-lang/crates.io-index"989source = "registry+https://github.com/rust-lang/crates.io-index"1076checksum = "8dd43f7cfaffe0a386636a10baea2ee05cc50df3b77bea4a456c9572a939bf1f"990checksum = "b810a8449931679f64cd7eef1bbd0fa315801b6d5d9cdc1ace2804d6529eee18"1077dependencies = [991dependencies = [1078 "byteorder 0.5.3",992 "byteorder",993 "fnv",1079 "rand 0.3.23",994 "rand 0.7.3",1080]995]10819961082[[package]]997[[package]]1083name = "curve25519-dalek"998name = "curve25519-dalek"1084version = "2.1.0"999version = "2.1.2"1085source = "registry+https://github.com/rust-lang/crates.io-index"1000source = "registry+https://github.com/rust-lang/crates.io-index"1086checksum = "5d85653f070353a16313d0046f173f70d1aadd5b42600a14de626f0dfb3473a5"1001checksum = "434e1720189a637d44fe464f4df1e6eb900b4835255b14354497c78af37d9bb8"1087dependencies = [1002dependencies = [1088 "byteorder 1.3.4",1003 "byteorder",1089 "digest 0.8.1",1004 "digest 0.8.1",1090 "rand_core 0.5.1",1005 "rand_core 0.5.1",1091 "subtle 2.4.0",1006 "subtle 2.4.0",109410091095[[package]]1010[[package]]1096name = "curve25519-dalek"1011name = "curve25519-dalek"1097version = "3.0.0"1012version = "3.0.2"1098source = "registry+https://github.com/rust-lang/crates.io-index"1013source = "registry+https://github.com/rust-lang/crates.io-index"1099checksum = "c8492de420e9e60bc9a1d66e2dbb91825390b738a388606600663fc529b4b307"1014checksum = "f627126b946c25a4638eec0ea634fc52506dea98db118aae985118ce7c3d723f"1100dependencies = [1015dependencies = [1101 "byteorder 1.3.4",1016 "byteorder",1102 "digest 0.9.0",1017 "digest 0.9.0",1103 "rand_core 0.5.1",1018 "rand_core 0.5.1",1104 "subtle 2.4.0",1019 "subtle 2.4.0",1150 "dirs-sys",1065 "dirs-sys",1151]1066]10671068[[package]]1069name = "directories"1070version = "3.0.1"1071source = "registry+https://github.com/rust-lang/crates.io-index"1072checksum = "f8fed639d60b58d0f53498ab13d26f621fd77569cc6edb031f4cc36a2ad9da0f"1073dependencies = [1074 "dirs-sys",1075]115210761153[[package]]1077[[package]]1154name = "dirs-sys"1078name = "dirs-sys"1167source = "registry+https://github.com/rust-lang/crates.io-index"1091source = "registry+https://github.com/rust-lang/crates.io-index"1168checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea"1092checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea"1169dependencies = [1093dependencies = [1170 "byteorder 1.3.4",1094 "byteorder",1171 "quick-error",1095 "quick-error 1.2.3",1172]1096]117310971174[[package]]1098[[package]]119411181195[[package]]1119[[package]]1196name = "dyn-clone"1120name = "dyn-clone"1197version = "1.0.3"1121version = "1.0.4"1198source = "registry+https://github.com/rust-lang/crates.io-index"1122source = "registry+https://github.com/rust-lang/crates.io-index"1199checksum = "d55796afa1b20c2945ca8eabfc421839f2b766619209f1ede813cf2484f31804"1123checksum = "ee2626afccd7561a06cf1367e2950c4718ea04565e20fb5029b6c7d8ad09abcf"120011241201[[package]]1125[[package]]1202name = "ed25519"1126name = "ed25519"1213source = "registry+https://github.com/rust-lang/crates.io-index"1137source = "registry+https://github.com/rust-lang/crates.io-index"1214checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d"1138checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d"1215dependencies = [1139dependencies = [1216 "curve25519-dalek 3.0.0",1140 "curve25519-dalek 3.0.2",1217 "ed25519",1141 "ed25519",1218 "rand 0.7.3",1142 "rand 0.7.3",1219 "serde",1143 "serde",126811921269[[package]]1193[[package]]1270name = "erased-serde"1194name = "erased-serde"1271version = "0.3.12"1195version = "0.3.13"1272source = "registry+https://github.com/rust-lang/crates.io-index"1196source = "registry+https://github.com/rust-lang/crates.io-index"1273checksum = "6ca8b296792113e1500fd935ae487be6e00ce318952a6880555554824d6ebf38"1197checksum = "0465971a8cc1fa2455c8465aaa377131e1f1cf4983280f474a13e68793aa770c"1274dependencies = [1198dependencies = [1275 "serde",1199 "serde",1276]1200]1308source = "registry+https://github.com/rust-lang/crates.io-index"1232source = "registry+https://github.com/rust-lang/crates.io-index"1309checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"1233checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"1310dependencies = [1234dependencies = [1311 "futures 0.3.8",1235 "futures 0.3.12",1312]1236]131312371314[[package]]1238[[package]]1380checksum = "8feb87a63249689640ac9c011742c33139204e3c134293d3054022276869133b"1304checksum = "8feb87a63249689640ac9c011742c33139204e3c134293d3054022276869133b"1381dependencies = [1305dependencies = [1382 "either",1306 "either",1383 "futures 0.3.8",1307 "futures 0.3.12",1384 "futures-timer 2.0.2",1308 "futures-timer 2.0.2",1385 "log",1309 "log",1386 "num-traits",1310 "num-traits",139013141391[[package]]1315[[package]]1392name = "fixed-hash"1316name = "fixed-hash"1393version = "0.6.1"1317version = "0.7.0"1394source = "registry+https://github.com/rust-lang/crates.io-index"1318source = "registry+https://github.com/rust-lang/crates.io-index"1395checksum = "11498d382790b7a8f2fd211780bec78619bba81cdad3a283997c0c41f836759c"1319checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c"1396dependencies = [1320dependencies = [1397 "byteorder 1.3.4",1321 "byteorder",1398 "rand 0.7.3",1322 "rand 0.8.2",1399 "rustc-hex",1323 "rustc-hex",1400 "static_assertions",1324 "static_assertions",1401]1325]144313671444[[package]]1368[[package]]1445name = "fork-tree"1369name = "fork-tree"1446version = "2.0.0"1370version = "2.0.1"1447source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1371source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1448dependencies = [1372dependencies = [1449 "parity-scale-codec",1373 "parity-scale-codec",1450]1374]146113851462[[package]]1386[[package]]1463name = "frame-benchmarking"1387name = "frame-benchmarking"1464version = "2.0.0"1388version = "2.0.1"1465source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1389source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1466dependencies = [1390dependencies = [1467 "frame-support",1391 "frame-support",1468 "frame-system",1392 "frame-system",147914031480[[package]]1404[[package]]1481name = "frame-benchmarking-cli"1405name = "frame-benchmarking-cli"1482version = "2.0.0"1406version = "2.0.1"1483source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1407source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1484dependencies = [1408dependencies = [1409 "Inflector",1410 "chrono",1485 "frame-benchmarking",1411 "frame-benchmarking",1412 "handlebars",1486 "parity-scale-codec",1413 "parity-scale-codec",1487 "sc-cli",1414 "sc-cli",1488 "sc-client-db",1415 "sc-client-db",1489 "sc-executor",1416 "sc-executor",1490 "sc-service",1417 "sc-service",1418 "serde",1491 "sp-core",1419 "sp-core",1492 "sp-externalities",1420 "sp-externalities",1421 "sp-keystore",1493 "sp-runtime",1422 "sp-runtime",1494 "sp-state-machine",1423 "sp-state-machine",1495 "structopt",1424 "structopt",1496]1425]149714261498[[package]]1427[[package]]1499name = "frame-executive"1428name = "frame-executive"1500version = "2.0.0"1429version = "2.0.1"1501source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1430source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1502dependencies = [1431dependencies = [1503 "frame-support",1432 "frame-support",1504 "frame-system",1433 "frame-system",151314421514[[package]]1443[[package]]1515name = "frame-metadata"1444name = "frame-metadata"1516version = "12.0.0"1445version = "12.0.1"1517source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1446source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1518dependencies = [1447dependencies = [1519 "parity-scale-codec",1448 "parity-scale-codec",1520 "serde",1449 "serde",152414531525[[package]]1454[[package]]1526name = "frame-support"1455name = "frame-support"1527version = "2.0.0"1456version = "2.0.1"1528source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1457source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1529dependencies = [1458dependencies = [1530 "bitmask",1459 "bitflags",1531 "frame-metadata",1460 "frame-metadata",1532 "frame-support-procedural",1461 "frame-support-procedural",1533 "impl-trait-for-tuples",1462 "impl-trait-for-tuples 0.2.0",1534 "log",1463 "log",1535 "once_cell 1.5.2",1464 "once_cell",1536 "parity-scale-codec",1465 "parity-scale-codec",1537 "paste",1466 "paste",1538 "serde",1467 "serde",1539 "smallvec 1.5.1",1468 "smallvec 1.6.1",1540 "sp-arithmetic",1469 "sp-arithmetic",1541 "sp-core",1470 "sp-core",1542 "sp-inherents",1471 "sp-inherents",154914781550[[package]]1479[[package]]1551name = "frame-support-procedural"1480name = "frame-support-procedural"1552version = "2.0.0"1481version = "2.0.1"1553source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1482source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1554dependencies = [1483dependencies = [1484 "Inflector",1555 "frame-support-procedural-tools",1485 "frame-support-procedural-tools",1556 "proc-macro2",1486 "proc-macro2",1557 "quote",1487 "quote",156014901561[[package]]1491[[package]]1562name = "frame-support-procedural-tools"1492name = "frame-support-procedural-tools"1563version = "2.0.0"1493version = "2.0.1"1564source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1494source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1565dependencies = [1495dependencies = [1566 "frame-support-procedural-tools-derive",1496 "frame-support-procedural-tools-derive",1567 "proc-macro-crate",1497 "proc-macro-crate",157215021573[[package]]1503[[package]]1574name = "frame-support-procedural-tools-derive"1504name = "frame-support-procedural-tools-derive"1575version = "2.0.0"1505version = "2.0.1"1576source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1506source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1577dependencies = [1507dependencies = [1578 "proc-macro2",1508 "proc-macro2",1579 "quote",1509 "quote",158215121583[[package]]1513[[package]]1584name = "frame-system"1514name = "frame-system"1585version = "2.0.0"1515version = "2.0.1"1586source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1516source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1587dependencies = [1517dependencies = [1588 "frame-support",1518 "frame-support",1589 "impl-trait-for-tuples",1519 "impl-trait-for-tuples 0.2.0",1590 "parity-scale-codec",1520 "parity-scale-codec",1591 "serde",1521 "serde",1592 "sp-core",1522 "sp-core",159815281599[[package]]1529[[package]]1600name = "frame-system-benchmarking"1530name = "frame-system-benchmarking"1601version = "2.0.0"1531version = "2.0.1"1602source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1532source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1603dependencies = [1533dependencies = [1604 "frame-benchmarking",1534 "frame-benchmarking",1605 "frame-support",1535 "frame-support",161215421613[[package]]1543[[package]]1614name = "frame-system-rpc-runtime-api"1544name = "frame-system-rpc-runtime-api"1615version = "2.0.0"1545version = "2.0.1"1616source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"1546source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"1617dependencies = [1547dependencies = [1618 "parity-scale-codec",1548 "parity-scale-codec",1619 "sp-api",1549 "sp-api",166115911662[[package]]1592[[package]]1663name = "futures"1593name = "futures"1664version = "0.3.8"1594version = "0.3.12"1665source = "registry+https://github.com/rust-lang/crates.io-index"1595source = "registry+https://github.com/rust-lang/crates.io-index"1666checksum = "9b3b0c040a1fe6529d30b3c5944b280c7f0dcb2930d2c3062bca967b602583d0"1596checksum = "da9052a1a50244d8d5aa9bf55cbc2fb6f357c86cc52e46c62ed390a7180cf150"1667dependencies = [1597dependencies = [1668 "futures-channel",1598 "futures-channel",1669 "futures-core",1599 "futures-core",167616061677[[package]]1607[[package]]1678name = "futures-channel"1608name = "futures-channel"1679version = "0.3.8"1609version = "0.3.12"1680source = "registry+https://github.com/rust-lang/crates.io-index"1610source = "registry+https://github.com/rust-lang/crates.io-index"1681checksum = "4b7109687aa4e177ef6fe84553af6280ef2778bdb7783ba44c9dc3399110fe64"1611checksum = "f2d31b7ec7efab6eefc7c57233bb10b847986139d88cc2f5a02a1ae6871a1846"1682dependencies = [1612dependencies = [1683 "futures-core",1613 "futures-core",1684 "futures-sink",1614 "futures-sink",1685]1615]16861687[[package]]1688name = "futures-channel-preview"1689version = "0.3.0-alpha.19"1690source = "registry+https://github.com/rust-lang/crates.io-index"1691checksum = "d5e5f4df964fa9c1c2f8bddeb5c3611631cacd93baf810fc8bb2fb4b495c263a"1692dependencies = [1693 "futures-core-preview",1694]169516161696[[package]]1617[[package]]1697name = "futures-core"1618name = "futures-core"1698version = "0.3.8"1619version = "0.3.12"1699source = "registry+https://github.com/rust-lang/crates.io-index"1620source = "registry+https://github.com/rust-lang/crates.io-index"1700checksum = "847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748"1621checksum = "79e5145dde8da7d1b3892dad07a9c98fc04bc39892b1ecc9692cf53e2b780a65"17011702[[package]]1703name = "futures-core-preview"1704version = "0.3.0-alpha.19"1705source = "registry+https://github.com/rust-lang/crates.io-index"1706checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"170716221708[[package]]1623[[package]]1709name = "futures-cpupool"1624name = "futures-cpupool"1722checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9"1637checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9"1723dependencies = [1638dependencies = [1724 "futures 0.1.30",1639 "futures 0.1.30",1725 "futures 0.3.8",1640 "futures 0.3.12",1726 "lazy_static",1641 "lazy_static",1727 "log",1642 "log",1728 "parking_lot 0.9.0",1643 "parking_lot 0.9.0",173316481734[[package]]1649[[package]]1735name = "futures-executor"1650name = "futures-executor"1736version = "0.3.8"1651version = "0.3.12"1737source = "registry+https://github.com/rust-lang/crates.io-index"1652source = "registry+https://github.com/rust-lang/crates.io-index"1738checksum = "4caa2b2b68b880003057c1dd49f1ed937e38f22fcf6c212188a121f08cf40a65"1653checksum = "e9e59fdc009a4b3096bf94f740a0f2424c082521f20a9b08c5c07c48d90fd9b9"1739dependencies = [1654dependencies = [1740 "futures-core",1655 "futures-core",1741 "futures-task",1656 "futures-task",174516601746[[package]]1661[[package]]1747name = "futures-io"1662name = "futures-io"1748version = "0.3.8"1663version = "0.3.12"1749source = "registry+https://github.com/rust-lang/crates.io-index"1664source = "registry+https://github.com/rust-lang/crates.io-index"1750checksum = "611834ce18aaa1bd13c4b374f5d653e1027cf99b6b502584ff8c9a64413b30bb"1665checksum = "28be053525281ad8259d47e4de5de657b25e7bac113458555bb4b70bc6870500"175116661752[[package]]1667[[package]]1753name = "futures-lite"1668name = "futures-lite"1754version = "1.11.2"1669version = "1.11.3"1755source = "registry+https://github.com/rust-lang/crates.io-index"1670source = "registry+https://github.com/rust-lang/crates.io-index"1756checksum = "5e6c079abfac3ab269e2927ec048dabc89d009ebfdda6b8ee86624f30c689658"1671checksum = "b4481d0cd0de1d204a4fa55e7d45f07b1d958abcb06714b3446438e2eff695fb"1757dependencies = [1672dependencies = [1758 "fastrand",1673 "fastrand",1759 "futures-core",1674 "futures-core",1760 "futures-io",1675 "futures-io",1761 "memchr",1676 "memchr",1762 "parking",1677 "parking",1763 "pin-project-lite 0.1.11",1678 "pin-project-lite 0.2.4",1764 "waker-fn",1679 "waker-fn",1765]1680]176616811767[[package]]1682[[package]]1768name = "futures-macro"1683name = "futures-macro"1769version = "0.3.8"1684version = "0.3.12"1770source = "registry+https://github.com/rust-lang/crates.io-index"1685source = "registry+https://github.com/rust-lang/crates.io-index"1771checksum = "77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556"1686checksum = "c287d25add322d9f9abdcdc5927ca398917996600182178774032e9f8258fedd"1772dependencies = [1687dependencies = [1773 "proc-macro-hack",1688 "proc-macro-hack",1774 "proc-macro2",1689 "proc-macro2",1775 "quote",1690 "quote",1776 "syn",1691 "syn",1777]1692]16931694[[package]]1695name = "futures-rustls"1696version = "0.21.1"1697source = "registry+https://github.com/rust-lang/crates.io-index"1698checksum = "3a1387e07917c711fb4ee4f48ea0adb04a3c9739e53ef85bf43ae1edc2937a8b"1699dependencies = [1700 "futures-io",1701 "rustls 0.19.0",1702 "webpki",1703]177817041779[[package]]1705[[package]]1780name = "futures-sink"1706name = "futures-sink"1781version = "0.3.8"1707version = "0.3.12"1782source = "registry+https://github.com/rust-lang/crates.io-index"1708source = "registry+https://github.com/rust-lang/crates.io-index"1783checksum = "f878195a49cee50e006b02b93cf7e0a95a38ac7b776b4c4d9cc1207cd20fcb3d"1709checksum = "caf5c69029bda2e743fddd0582d1083951d65cc9539aebf8812f36c3491342d6"178417101785[[package]]1711[[package]]1786name = "futures-task"1712name = "futures-task"1787version = "0.3.8"1713version = "0.3.12"1788source = "registry+https://github.com/rust-lang/crates.io-index"1714source = "registry+https://github.com/rust-lang/crates.io-index"1789checksum = "7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d"1715checksum = "13de07eb8ea81ae445aca7b69f5f7bf15d7bf4912d8ca37d6645c77ae8a58d86"1790dependencies = [1716dependencies = [1791 "once_cell 1.5.2",1717 "once_cell",1792]1718]179317191794[[package]]1720[[package]]180517311806[[package]]1732[[package]]1807name = "futures-util"1733name = "futures-util"1808version = "0.3.8"1734version = "0.3.12"1809source = "registry+https://github.com/rust-lang/crates.io-index"1735source = "registry+https://github.com/rust-lang/crates.io-index"1810checksum = "d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2"1736checksum = "632a8cd0f2a4b3fdea1657f08bde063848c3bd00f9bbf6e256b8be78802e624b"1811dependencies = [1737dependencies = [1812 "futures 0.1.30",1738 "futures 0.1.30",1813 "futures-channel",1739 "futures-channel",1817 "futures-sink",1743 "futures-sink",1818 "futures-task",1744 "futures-task",1819 "memchr",1745 "memchr",1820 "pin-project 1.0.2",1746 "pin-project-lite 0.2.4",1821 "pin-utils",1747 "pin-utils",1822 "proc-macro-hack",1748 "proc-macro-hack",1823 "proc-macro-nested",1749 "proc-macro-nested",1824 "slab",1750 "slab",1825]1751]18261827[[package]]1828name = "futures-util-preview"1829version = "0.3.0-alpha.19"1830source = "registry+https://github.com/rust-lang/crates.io-index"1831checksum = "5ce968633c17e5f97936bd2797b6e38fb56cf16a7422319f7ec2e30d3c470e8d"1832dependencies = [1833 "futures-channel-preview",1834 "futures-core-preview",1835 "pin-utils",1836 "slab",1837]18381839[[package]]1840name = "futures_codec"1841version = "0.4.1"1842source = "registry+https://github.com/rust-lang/crates.io-index"1843checksum = "ce54d63f8b0c75023ed920d46fd71d0cbbb830b0ee012726b5b4f506fb6dea5b"1844dependencies = [1845 "bytes 0.5.6",1846 "futures 0.3.8",1847 "memchr",1848 "pin-project 0.4.27",1849]185017521851[[package]]1753[[package]]1852name = "gcc"1754name = "gcc"1853version = "0.3.55"1755version = "0.3.55"1854source = "registry+https://github.com/rust-lang/crates.io-index"1756source = "registry+https://github.com/rust-lang/crates.io-index"1855checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"1757checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"18561857[[package]]1858name = "generator"1859version = "0.6.23"1860source = "registry+https://github.com/rust-lang/crates.io-index"1861checksum = "8cdc09201b2e8ca1b19290cf7e65de2246b8e91fb6874279722189c4de7b94dc"1862dependencies = [1863 "cc",1864 "libc",1865 "log",1866 "rustc_version",1867 "winapi 0.3.9",1868]186917581870[[package]]1759[[package]]1871name = "generic-array"1760name = "generic-array"1876 "typenum",1765 "typenum",1877]1766]17671768[[package]]1769name = "generic-array"1770version = "0.13.2"1771source = "registry+https://github.com/rust-lang/crates.io-index"1772checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd"1773dependencies = [1774 "typenum",1775]187817761879[[package]]1777[[package]]1880name = "generic-array"1778name = "generic-array"1886 "version_check",1784 "version_check",1887]1785]18881889[[package]]1890name = "get_if_addrs"1891version = "0.5.3"1892source = "registry+https://github.com/rust-lang/crates.io-index"1893checksum = "abddb55a898d32925f3148bd281174a68eeb68bbfd9a5938a57b18f506ee4ef7"1894dependencies = [1895 "c_linked_list",1896 "get_if_addrs-sys",1897 "libc",1898 "winapi 0.2.8",1899]19001901[[package]]1902name = "get_if_addrs-sys"1903version = "0.1.1"1904source = "registry+https://github.com/rust-lang/crates.io-index"1905checksum = "0d04f9fb746cf36b191c00f3ede8bde9c8e64f9f4b05ae2694a9ccf5e3f5ab48"1906dependencies = [1907 "gcc",1908 "libc",1909]191017861911[[package]]1787[[package]]1912name = "getrandom"1788name = "getrandom"1913version = "0.1.15"1789version = "0.1.16"1914source = "registry+https://github.com/rust-lang/crates.io-index"1790source = "registry+https://github.com/rust-lang/crates.io-index"1915checksum = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"1791checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"1916dependencies = [1792dependencies = [1917 "cfg-if 0.1.10",1793 "cfg-if 1.0.0",1918 "libc",1794 "libc",1919 "wasi 0.9.0+wasi-snapshot-preview1",1795 "wasi 0.9.0+wasi-snapshot-preview1",1920]1796]192117971922[[package]]1798[[package]]1923name = "getrandom"1799name = "getrandom"1924version = "0.2.0"1800version = "0.2.2"1925source = "registry+https://github.com/rust-lang/crates.io-index"1801source = "registry+https://github.com/rust-lang/crates.io-index"1926checksum = "ee8025cf36f917e6a52cce185b7c7177689b838b7ec138364e50cc2277a56cf4"1802checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"1927dependencies = [1803dependencies = [1928 "cfg-if 0.1.10",1804 "cfg-if 1.0.0",1929 "libc",1805 "libc",1930 "wasi 0.9.0+wasi-snapshot-preview1",1806 "wasi 0.10.0+wasi-snapshot-preview1",1931]1807]193218081933[[package]]1809[[package]]1934name = "ghash"1810name = "ghash"1935version = "0.3.0"1811version = "0.3.1"1936source = "registry+https://github.com/rust-lang/crates.io-index"1812source = "registry+https://github.com/rust-lang/crates.io-index"1937checksum = "d6e27f0689a6e15944bdce7e45425efb87eaa8ab0c6e87f11d0987a9133e2531"1813checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"1938dependencies = [1814dependencies = [1815 "opaque-debug 0.3.0",1939 "polyval",1816 "polyval",1940]1817]194118181994source = "registry+https://github.com/rust-lang/crates.io-index"1871source = "registry+https://github.com/rust-lang/crates.io-index"1995checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"1872checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462"1996dependencies = [1873dependencies = [1997 "byteorder 1.3.4",1874 "byteorder",1998 "bytes 0.4.12",1875 "bytes 0.4.12",1999 "fnv",1876 "fnv",2000 "futures 0.1.30",1877 "futures 0.1.30",2017 "futures-core",1894 "futures-core",2018 "futures-sink",1895 "futures-sink",2019 "futures-util",1896 "futures-util",2020 "http 0.2.2",1897 "http 0.2.3",2021 "indexmap",1898 "indexmap",2022 "slab",1899 "slab",2023 "tokio 0.2.24",1900 "tokio 0.2.24",2026 "tracing-futures",1903 "tracing-futures",2027]1904]19051906[[package]]1907name = "handlebars"1908version = "3.5.2"1909source = "registry+https://github.com/rust-lang/crates.io-index"1910checksum = "964d0e99a61fe9b1b347389b77ebf8b7e1587b70293676aaca7d27e59b9073b2"1911dependencies = [1912 "log",1913 "pest",1914 "pest_derive",1915 "quick-error 2.0.0",1916 "serde",1917 "serde_json",1918]202819192029[[package]]1920[[package]]2030name = "hash-db"1921name = "hash-db"2041 "crunchy",1932 "crunchy",2042]1933]20432044[[package]]2045name = "hashbrown"2046version = "0.1.8"2047source = "registry+https://github.com/rust-lang/crates.io-index"2048checksum = "3bae29b6653b3412c2e71e9d486db9f9df5d701941d86683005efb9f2d28e3da"2049dependencies = [2050 "byteorder 1.3.4",2051 "scopeguard 0.3.3",2052]20532054[[package]]2055name = "hashbrown"2056version = "0.6.3"2057source = "registry+https://github.com/rust-lang/crates.io-index"2058checksum = "8e6073d0ca812575946eb5f35ff68dbe519907b25c42530389ff946dc84c6ead"2059dependencies = [2060 "ahash 0.2.19",2061 "autocfg 0.1.7",2062]20632064[[package]]2065name = "hashbrown"2066version = "0.8.2"2067source = "registry+https://github.com/rust-lang/crates.io-index"2068checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"2069dependencies = [2070 "ahash 0.3.8",2071 "autocfg 1.0.1",2072]207319342074[[package]]1935[[package]]2075name = "hashbrown"1936name = "hashbrown"2076version = "0.9.1"1937version = "0.9.1"2077source = "registry+https://github.com/rust-lang/crates.io-index"1938source = "registry+https://github.com/rust-lang/crates.io-index"2078checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"1939checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"2079dependencies = [1940dependencies = [2080 "ahash 0.4.7",1941 "ahash",2081]1942]208219432083[[package]]1944[[package]]2084name = "heck"1945name = "heck"2085version = "0.3.1"1946version = "0.3.2"2086source = "registry+https://github.com/rust-lang/crates.io-index"1947source = "registry+https://github.com/rust-lang/crates.io-index"2087checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"1948checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac"2088dependencies = [1949dependencies = [2089 "unicode-segmentation",1950 "unicode-segmentation",2090]1951]209119522092[[package]]1953[[package]]2093name = "hermit-abi"1954name = "hermit-abi"2094version = "0.1.17"1955version = "0.1.18"2095source = "registry+https://github.com/rust-lang/crates.io-index"1956source = "registry+https://github.com/rust-lang/crates.io-index"2096checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"1957checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"2097dependencies = [1958dependencies = [2098 "libc",1959 "libc",2099]1960]2126 "digest 0.8.1",1987 "digest 0.8.1",2127]1988]19891990[[package]]1991name = "hmac"1992version = "0.8.1"1993source = "registry+https://github.com/rust-lang/crates.io-index"1994checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840"1995dependencies = [1996 "crypto-mac 0.8.0",1997 "digest 0.9.0",1998]212819992129[[package]]2000[[package]]2130name = "hmac-drbg"2001name = "hmac-drbg"2134dependencies = [2005dependencies = [2135 "digest 0.8.1",2006 "digest 0.8.1",2136 "generic-array 0.12.3",2007 "generic-array 0.12.3",2137 "hmac",2008 "hmac 0.7.1",2138]2009]213920102140[[package]]2011[[package]]215020212151[[package]]2022[[package]]2152name = "http"2023name = "http"2153version = "0.2.2"2024version = "0.2.3"2154source = "registry+https://github.com/rust-lang/crates.io-index"2025source = "registry+https://github.com/rust-lang/crates.io-index"2155checksum = "84129d298a6d57d246960ff8eb831ca4af3f96d29e2e28848dae275408658e26"2026checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747"2156dependencies = [2027dependencies = [2157 "bytes 0.5.6",2028 "bytes 1.0.1",2158 "fnv",2029 "fnv",2159 "itoa",2030 "itoa",2160]2031]2178checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"2049checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"2179dependencies = [2050dependencies = [2180 "bytes 0.5.6",2051 "bytes 0.5.6",2181 "http 0.2.2",2052 "http 0.2.3",2182]2053]218320542184[[package]]2055[[package]]2199source = "registry+https://github.com/rust-lang/crates.io-index"2070source = "registry+https://github.com/rust-lang/crates.io-index"2200checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"2071checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"2201dependencies = [2072dependencies = [2202 "quick-error",2073 "quick-error 1.2.3",2203]2074]220420752205[[package]]2076[[package]]2223 "time",2094 "time",2224 "tokio 0.1.22",2095 "tokio 0.1.22",2225 "tokio-buf",2096 "tokio-buf",2226 "tokio-executor 0.1.10",2097 "tokio-executor",2227 "tokio-io",2098 "tokio-io",2228 "tokio-reactor",2099 "tokio-reactor",2229 "tokio-tcp",2100 "tokio-tcp",2243 "futures-core",2114 "futures-core",2244 "futures-util",2115 "futures-util",2245 "h2 0.2.7",2116 "h2 0.2.7",2246 "http 0.2.2",2117 "http 0.2.3",2247 "http-body 0.3.1",2118 "http-body 0.3.1",2248 "httparse",2119 "httparse",2249 "httpdate",2120 "httpdate",2250 "itoa",2121 "itoa",2251 "pin-project 1.0.2",2122 "pin-project 1.0.4",2252 "socket2",2123 "socket2",2253 "tokio 0.2.24",2124 "tokio 0.2.24",2254 "tower-service",2125 "tower-service",2267 "futures-util",2138 "futures-util",2268 "hyper 0.13.9",2139 "hyper 0.13.9",2269 "log",2140 "log",2270 "rustls",2141 "rustls 0.18.1",2271 "rustls-native-certs",2142 "rustls-native-certs",2272 "tokio 0.2.24",2143 "tokio 0.2.24",2273 "tokio-rustls",2144 "tokio-rustls",2296 "unicode-normalization",2167 "unicode-normalization",2297]2168]21692170[[package]]2171name = "if-addrs"2172version = "0.6.5"2173source = "registry+https://github.com/rust-lang/crates.io-index"2174checksum = "28538916eb3f3976311f5dfbe67b5362d0add1293d0a9cad17debf86f8e3aa48"2175dependencies = [2176 "if-addrs-sys",2177 "libc",2178 "winapi 0.3.9",2179]21802181[[package]]2182name = "if-addrs-sys"2183version = "0.3.2"2184source = "registry+https://github.com/rust-lang/crates.io-index"2185checksum = "de74b9dd780476e837e5eb5ab7c88b49ed304126e412030a0adba99c8efe79ea"2186dependencies = [2187 "cc",2188 "libc",2189]21902191[[package]]2192name = "if-watch"2193version = "0.1.7"2194source = "registry+https://github.com/rust-lang/crates.io-index"2195checksum = "16d7c5e361e6b05c882b4847dd98992534cebc6fcde7f4bc98225bcf10fd6d0d"2196dependencies = [2197 "async-io",2198 "futures 0.3.12",2199 "futures-lite",2200 "if-addrs",2201 "ipnet",2202 "libc",2203 "log",2204 "winapi 0.3.9",2205]229822062299[[package]]2207[[package]]2300name = "impl-codec"2208name = "impl-codec"2325 "syn",2233 "syn",2326]2234]22352236[[package]]2237name = "impl-trait-for-tuples"2238version = "0.2.0"2239source = "registry+https://github.com/rust-lang/crates.io-index"2240checksum = "6f65a8ecf74feeacdab8d38cb129e550ca871cccaa7d1921d8636ecd75534903"2241dependencies = [2242 "proc-macro2",2243 "quote",2244 "syn",2245]232722462328[[package]]2247[[package]]2329name = "indexmap"2248name = "indexmap"2330version = "1.6.1"2249version = "1.6.1"2331source = "registry+https://github.com/rust-lang/crates.io-index"2250source = "registry+https://github.com/rust-lang/crates.io-index"2332checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b"2251checksum = "4fb1fa934250de4de8aef298d81c729a7d33d8c239daa3a7575e6b92bfc7313b"2333dependencies = [2252dependencies = [2334 "autocfg 1.0.1",2253 "autocfg",2335 "hashbrown 0.9.1",2254 "hashbrown",2336 "serde",2255 "serde",2337]2256]233822572360source = "registry+https://github.com/rust-lang/crates.io-index"2279source = "registry+https://github.com/rust-lang/crates.io-index"2361checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"2280checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"2362dependencies = [2281dependencies = [2363 "futures 0.3.8",2282 "futures 0.3.12",2364 "futures-timer 2.0.2",2283 "futures-timer 2.0.2",2365]2284]236622852385source = "registry+https://github.com/rust-lang/crates.io-index"2304source = "registry+https://github.com/rust-lang/crates.io-index"2386checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"2305checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"23872388[[package]]2389name = "itertools"2390version = "0.8.2"2391source = "registry+https://github.com/rust-lang/crates.io-index"2392checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"2393dependencies = [2394 "either",2395]239623062397[[package]]2307[[package]]2398name = "itertools"2308name = "itertools"240523152406[[package]]2316[[package]]2407name = "itoa"2317name = "itoa"2408version = "0.4.6"2318version = "0.4.7"2409source = "registry+https://github.com/rust-lang/crates.io-index"2319source = "registry+https://github.com/rust-lang/crates.io-index"2410checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"2320checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"241123212412[[package]]2322[[package]]2413name = "jobserver"2323name = "jobserver"257624862577[[package]]2487[[package]]2578name = "kvdb"2488name = "kvdb"2579version = "0.7.0"2489version = "0.8.0"2580source = "registry+https://github.com/rust-lang/crates.io-index"2490source = "registry+https://github.com/rust-lang/crates.io-index"2581checksum = "0315ef2f688e33844400b31f11c263f2b3dc21d8b9355c6891c5f185fae43f9a"2491checksum = "92312348daade49976a6dc59263ad39ed54f840aacb5664874f7c9aa16e5f848"2582dependencies = [2492dependencies = [2583 "parity-util-mem",2493 "parity-util-mem",2584 "smallvec 1.5.1",2494 "smallvec 1.6.1",2585]2495]258624962587[[package]]2497[[package]]2588name = "kvdb-memorydb"2498name = "kvdb-memorydb"2589version = "0.7.0"2499version = "0.8.0"2590source = "registry+https://github.com/rust-lang/crates.io-index"2500source = "registry+https://github.com/rust-lang/crates.io-index"2591checksum = "73de822b260a3bdfb889dbbb65bb2d473eee2253973d6fa4a5d149a2a4a7c66e"2501checksum = "986052a8d16c692eaebe775391f9a3ac26714f3907132658500b601dec94c8c2"2592dependencies = [2502dependencies = [2593 "kvdb",2503 "kvdb",2594 "parity-util-mem",2504 "parity-util-mem",2595 "parking_lot 0.10.2",2505 "parking_lot 0.11.1",2596]2506]259725072598[[package]]2508[[package]]2599name = "kvdb-rocksdb"2509name = "kvdb-rocksdb"2600version = "0.9.1"2510version = "0.10.0"2601source = "registry+https://github.com/rust-lang/crates.io-index"2511source = "registry+https://github.com/rust-lang/crates.io-index"2602checksum = "44947dd392f09475af614d740fe0320b66d01cb5b977f664bbbb5e45a70ea4c1"2512checksum = "8d92c36be64baba5ea549116ff0d7ffd445456a7be8aaee21ec05882b980cd11"2603dependencies = [2513dependencies = [2604 "fs-swap",2514 "fs-swap",2605 "kvdb",2515 "kvdb",2606 "log",2516 "log",2607 "num_cpus",2517 "num_cpus",2608 "owning_ref",2518 "owning_ref",2609 "parity-util-mem",2519 "parity-util-mem",2610 "parking_lot 0.10.2",2520 "parking_lot 0.11.1",2611 "regex",2521 "regex",2612 "rocksdb",2522 "rocksdb",2613 "smallvec 1.5.1",2523 "smallvec 1.6.1",2614]2524]261525252616[[package]]2526[[package]]263325432634[[package]]2544[[package]]2635name = "libc"2545name = "libc"2636version = "0.2.81"2546version = "0.2.82"2637source = "registry+https://github.com/rust-lang/crates.io-index"2547source = "registry+https://github.com/rust-lang/crates.io-index"2638checksum = "1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb"2548checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929"263925492640[[package]]2550[[package]]2641name = "libloading"2551name = "libloading"265525652656[[package]]2566[[package]]2657name = "libp2p"2567name = "libp2p"2658version = "0.28.1"2568version = "0.34.0"2659source = "registry+https://github.com/rust-lang/crates.io-index"2569source = "registry+https://github.com/rust-lang/crates.io-index"2660checksum = "571f5a4604c1a40d75651da141dfde29ad15329f537a779528803297d2220274"2570checksum = "d5133112ce42be9482f6a87be92a605dd6bbc9e93c297aee77d172ff06908f3a"2661dependencies = [2571dependencies = [2662 "atomic",2572 "atomic",2663 "bytes 0.5.6",2573 "bytes 1.0.1",2664 "futures 0.3.8",2574 "futures 0.3.12",2665 "lazy_static",2575 "lazy_static",2666 "libp2p-core",2576 "libp2p-core",2667 "libp2p-core-derive",2577 "libp2p-core-derive",2684 "libp2p-wasm-ext",2594 "libp2p-wasm-ext",2685 "libp2p-websocket",2595 "libp2p-websocket",2686 "libp2p-yamux",2596 "libp2p-yamux",2687 "multihash",2688 "parity-multiaddr",2597 "parity-multiaddr",2689 "parking_lot 0.10.2",2598 "parking_lot 0.11.1",2690 "pin-project 0.4.27",2599 "pin-project 1.0.4",2691 "smallvec 1.5.1",2600 "smallvec 1.6.1",2692 "wasm-timer",2601 "wasm-timer",2693]2602]269426032695[[package]]2604[[package]]2696name = "libp2p-core"2605name = "libp2p-core"2697version = "0.22.1"2606version = "0.27.0"2698source = "registry+https://github.com/rust-lang/crates.io-index"2607source = "registry+https://github.com/rust-lang/crates.io-index"2699checksum = "52f13ba8c7df0768af2eb391696d562c7de88cc3a35122531aaa6a7d77754d25"2608checksum = "dad04d3cef6c1df366a6ab58c9cf8b06497699e335d83ac2174783946ff847d6"2700dependencies = [2609dependencies = [2701 "asn1_der",2610 "asn1_der",2702 "bs58 0.3.1",2611 "bs58",2703 "ed25519-dalek",2612 "ed25519-dalek",2704 "either",2613 "either",2705 "fnv",2614 "fnv",2706 "futures 0.3.8",2615 "futures 0.3.12",2707 "futures-timer 3.0.2",2616 "futures-timer 3.0.2",2708 "lazy_static",2617 "lazy_static",2709 "libsecp256k1",2618 "libsecp256k1",2710 "log",2619 "log",2711 "multihash",2620 "multihash",2712 "multistream-select",2621 "multistream-select",2713 "parity-multiaddr",2622 "parity-multiaddr",2714 "parking_lot 0.10.2",2623 "parking_lot 0.11.1",2715 "pin-project 0.4.27",2624 "pin-project 1.0.4",2716 "prost",2625 "prost",2717 "prost-build",2626 "prost-build",2718 "rand 0.7.3",2627 "rand 0.7.3",2719 "ring",2628 "ring",2720 "rw-stream-sink",2629 "rw-stream-sink",2721 "sha2 0.8.2",2630 "sha2 0.9.2",2722 "smallvec 1.5.1",2631 "smallvec 1.6.1",2723 "thiserror",2632 "thiserror",2724 "unsigned-varint 0.4.0",2633 "unsigned-varint 0.6.0",2725 "void",2634 "void",2726 "zeroize",2635 "zeroize",2727]2636]272826372729[[package]]2638[[package]]2730name = "libp2p-core-derive"2639name = "libp2p-core-derive"2731version = "0.20.2"2640version = "0.21.0"2732source = "registry+https://github.com/rust-lang/crates.io-index"2641source = "registry+https://github.com/rust-lang/crates.io-index"2733checksum = "f753d9324cd3ec14bf04b8a8cd0d269c87f294153d6bf2a84497a63a5ad22213"2642checksum = "f4bc40943156e42138d22ed3c57ff0e1a147237742715937622a99b10fbe0156"2734dependencies = [2643dependencies = [2735 "quote",2644 "quote",2736 "syn",2645 "syn",2737]2646]273826472739[[package]]2648[[package]]2740name = "libp2p-deflate"2649name = "libp2p-deflate"2741version = "0.22.0"2650version = "0.27.0"2742source = "registry+https://github.com/rust-lang/crates.io-index"2651source = "registry+https://github.com/rust-lang/crates.io-index"2743checksum = "74029ae187f35f4b8ddf26b9779a68b340045d708528a103917cdca49a296db5"2652checksum = "935893c0e5b6ca6ef60d5225aab9182f97c8c5671df2fa9dee8f4ed72a90e6eb"2744dependencies = [2653dependencies = [2745 "flate2",2654 "flate2",2746 "futures 0.3.8",2655 "futures 0.3.12",2747 "libp2p-core",2656 "libp2p-core",2748]2657]274926582750[[package]]2659[[package]]2751name = "libp2p-dns"2660name = "libp2p-dns"2752version = "0.22.0"2661version = "0.27.0"2753source = "registry+https://github.com/rust-lang/crates.io-index"2662source = "registry+https://github.com/rust-lang/crates.io-index"2754checksum = "7cf319822e08dd65c8e060d2354e9f952895bbc433f5706c75ed010c152aee5e"2663checksum = "5153b6db68fd4baa3b304e377db744dd8fea8ff4e4504509ee636abcde88d3e3"2755dependencies = [2664dependencies = [2756 "futures 0.3.8",2665 "futures 0.3.12",2757 "libp2p-core",2666 "libp2p-core",2758 "log",2667 "log",2759]2668]276026692761[[package]]2670[[package]]2762name = "libp2p-floodsub"2671name = "libp2p-floodsub"2763version = "0.22.0"2672version = "0.27.0"2764source = "registry+https://github.com/rust-lang/crates.io-index"2673source = "registry+https://github.com/rust-lang/crates.io-index"2765checksum = "d8a9acb43a3e4a4e413e0c4abe0fa49308df7c6335c88534757b647199cb8a51"2674checksum = "b3c63dfa06581b24b1d12bf9815b43689a784424be217d6545c800c7c75a207f"2766dependencies = [2675dependencies = [2767 "cuckoofilter",2676 "cuckoofilter",2768 "fnv",2677 "fnv",2769 "futures 0.3.8",2678 "futures 0.3.12",2770 "libp2p-core",2679 "libp2p-core",2771 "libp2p-swarm",2680 "libp2p-swarm",2681 "log",2772 "prost",2682 "prost",2773 "prost-build",2683 "prost-build",2774 "rand 0.7.3",2684 "rand 0.7.3",2775 "smallvec 1.5.1",2685 "smallvec 1.6.1",2776]2686]277726872778[[package]]2688[[package]]2779name = "libp2p-gossipsub"2689name = "libp2p-gossipsub"2780version = "0.22.0"2690version = "0.27.0"2781source = "registry+https://github.com/rust-lang/crates.io-index"2691source = "registry+https://github.com/rust-lang/crates.io-index"2782checksum = "ab20fcb60edebe3173bbb708c6ac3444afdf1e3152dc2866b10c4f5497f17467"2692checksum = "12451ba9493e87c91baf2a6dffce9ddf1fbc807a0861532d7cf477954f8ebbee"2783dependencies = [2693dependencies = [2694 "asynchronous-codec",2784 "base64 0.11.0",2695 "base64 0.13.0",2785 "byteorder 1.3.4",2696 "byteorder",2786 "bytes 0.5.6",2697 "bytes 1.0.1",2787 "fnv",2698 "fnv",2788 "futures 0.3.8",2699 "futures 0.3.12",2789 "futures_codec",2790 "hex_fmt",2700 "hex_fmt",2791 "libp2p-core",2701 "libp2p-core",2792 "libp2p-swarm",2702 "libp2p-swarm",2793 "log",2703 "log",2794 "lru_time_cache",2795 "prost",2704 "prost",2796 "prost-build",2705 "prost-build",2797 "rand 0.7.3",2706 "rand 0.7.3",2707 "regex",2798 "sha2 0.8.2",2708 "sha2 0.9.2",2799 "smallvec 1.5.1",2709 "smallvec 1.6.1",2800 "unsigned-varint 0.4.0",2710 "unsigned-varint 0.6.0",2801 "wasm-timer",2711 "wasm-timer",2802]2712]280327132804[[package]]2714[[package]]2805name = "libp2p-identify"2715name = "libp2p-identify"2806version = "0.22.0"2716version = "0.27.0"2807source = "registry+https://github.com/rust-lang/crates.io-index"2717source = "registry+https://github.com/rust-lang/crates.io-index"2808checksum = "56396ee63aa9164eacf40c2c5d2bda8c4133c2f57e1b0425d51d3a4e362583b1"2718checksum = "b40fb36a059b7a8cce1514bd8b546fa612e006c9937caa7f5950cb20021fe91e"2809dependencies = [2719dependencies = [2810 "futures 0.3.8",2720 "futures 0.3.12",2811 "libp2p-core",2721 "libp2p-core",2812 "libp2p-swarm",2722 "libp2p-swarm",2813 "log",2723 "log",2814 "prost",2724 "prost",2815 "prost-build",2725 "prost-build",2816 "smallvec 1.5.1",2726 "smallvec 1.6.1",2817 "wasm-timer",2727 "wasm-timer",2818]2728]281927292820[[package]]2730[[package]]2821name = "libp2p-kad"2731name = "libp2p-kad"2822version = "0.23.0"2732version = "0.28.0"2823source = "registry+https://github.com/rust-lang/crates.io-index"2733source = "registry+https://github.com/rust-lang/crates.io-index"2824checksum = "cc7fa9047f8b8f544278a35c2d9d45d3b2c1785f2d86d4e1629d6edf97be3955"2734checksum = "456f5de8e283d7800ca848b9b9a4e2a578b790bd8ae582b885e831353cf0e5df"2825dependencies = [2735dependencies = [2826 "arrayvec 0.5.2",2736 "arrayvec 0.5.2",2737 "asynchronous-codec",2827 "bytes 0.5.6",2738 "bytes 1.0.1",2828 "either",2739 "either",2829 "fnv",2740 "fnv",2830 "futures 0.3.8",2741 "futures 0.3.12",2831 "futures_codec",2832 "libp2p-core",2742 "libp2p-core",2833 "libp2p-swarm",2743 "libp2p-swarm",2834 "log",2744 "log",2835 "multihash",2836 "prost",2745 "prost",2837 "prost-build",2746 "prost-build",2838 "rand 0.7.3",2747 "rand 0.7.3",2839 "sha2 0.8.2",2748 "sha2 0.9.2",2840 "smallvec 1.5.1",2749 "smallvec 1.6.1",2841 "uint",2750 "uint",2842 "unsigned-varint 0.4.0",2751 "unsigned-varint 0.6.0",2843 "void",2752 "void",2844 "wasm-timer",2753 "wasm-timer",2845]2754]284627552847[[package]]2756[[package]]2848name = "libp2p-mdns"2757name = "libp2p-mdns"2849version = "0.22.0"2758version = "0.28.0"2850source = "registry+https://github.com/rust-lang/crates.io-index"2759source = "registry+https://github.com/rust-lang/crates.io-index"2851checksum = "3173b5a6b2f690c29ae07798d85b9441a131ac76ddae9015ef22905b623d0c69"2760checksum = "b974db63233fc0e199f4ede7794294aae285c96f4b6010f853eac4099ef08590"2852dependencies = [2761dependencies = [2853 "async-std",2762 "async-io",2854 "data-encoding",2763 "data-encoding",2855 "dns-parser",2764 "dns-parser",2856 "either",2765 "futures 0.3.12",2857 "futures 0.3.8",2766 "if-watch",2858 "lazy_static",2767 "lazy_static",2859 "libp2p-core",2768 "libp2p-core",2860 "libp2p-swarm",2769 "libp2p-swarm",2861 "log",2770 "log",2862 "net2",2863 "rand 0.7.3",2771 "rand 0.7.3",2864 "smallvec 1.5.1",2772 "smallvec 1.6.1",2773 "socket2",2865 "void",2774 "void",2866 "wasm-timer",2867]2775]286827762869[[package]]2777[[package]]2870name = "libp2p-mplex"2778name = "libp2p-mplex"2871version = "0.22.0"2779version = "0.27.0"2872source = "registry+https://github.com/rust-lang/crates.io-index"2780source = "registry+https://github.com/rust-lang/crates.io-index"2873checksum = "8a73a799cc8410b36e40b8f4c4b6babbcb9efd3727111bf517876e4acfa612d3"2781checksum = "2705dc94b01ab9e3779b42a09bbf3712e637ed213e875c30face247291a85af0"2874dependencies = [2782dependencies = [2875 "bytes 0.5.6",2783 "asynchronous-codec",2876 "fnv",2877 "futures 0.3.8",2784 "bytes 1.0.1",2878 "futures_codec",2785 "futures 0.3.12",2879 "libp2p-core",2786 "libp2p-core",2880 "log",2787 "log",2788 "nohash-hasher",2881 "parking_lot 0.10.2",2789 "parking_lot 0.11.1",2790 "rand 0.7.3",2791 "smallvec 1.6.1",2882 "unsigned-varint 0.4.0",2792 "unsigned-varint 0.6.0",2883]2793]288427942885[[package]]2795[[package]]2886name = "libp2p-noise"2796name = "libp2p-noise"2887version = "0.24.0"2797version = "0.29.0"2888source = "registry+https://github.com/rust-lang/crates.io-index"2798source = "registry+https://github.com/rust-lang/crates.io-index"2889checksum = "6ef6c490042f549fb1025f2892dfe6083d97a77558f450c1feebe748ca9eb15a"2799checksum = "4aca322b52a0c5136142a7c3971446fb1e9964923a526c9cc6ef3b7c94e57778"2890dependencies = [2800dependencies = [2891 "bytes 0.5.6",2801 "bytes 1.0.1",2892 "curve25519-dalek 2.1.0",2802 "curve25519-dalek 3.0.2",2893 "futures 0.3.8",2803 "futures 0.3.12",2894 "lazy_static",2804 "lazy_static",2895 "libp2p-core",2805 "libp2p-core",2896 "log",2806 "log",2897 "prost",2807 "prost",2898 "prost-build",2808 "prost-build",2899 "rand 0.7.3",2809 "rand 0.7.3",2900 "sha2 0.8.2",2810 "sha2 0.9.2",2901 "snow",2811 "snow",2902 "static_assertions",2812 "static_assertions",2903 "x25519-dalek 0.6.0",2813 "x25519-dalek",2904 "zeroize",2814 "zeroize",2905]2815]290628162907[[package]]2817[[package]]2908name = "libp2p-ping"2818name = "libp2p-ping"2909version = "0.22.0"2819version = "0.27.0"2910source = "registry+https://github.com/rust-lang/crates.io-index"2820source = "registry+https://github.com/rust-lang/crates.io-index"2911checksum = "ad063c21dfcea4518ac9e8bd4119d33a5b26c41e674f602f41f05617a368a5c8"2821checksum = "6f3813276d0708c8db0f500d8beda1bda9ad955723b9cb272c41f4727256f73c"2912dependencies = [2822dependencies = [2913 "futures 0.3.8",2823 "futures 0.3.12",2914 "libp2p-core",2824 "libp2p-core",2915 "libp2p-swarm",2825 "libp2p-swarm",2916 "log",2826 "log",292128312922[[package]]2832[[package]]2923name = "libp2p-plaintext"2833name = "libp2p-plaintext"2924version = "0.22.0"2834version = "0.27.0"2925source = "registry+https://github.com/rust-lang/crates.io-index"2835source = "registry+https://github.com/rust-lang/crates.io-index"2926checksum = "903a12e99c72dbebefea258de887982adeacc7025baa1ceb10b7fa9928f54791"2836checksum = "48e8c1ec305c9949351925cdc7196b9570f4330477f5e47fbf5bb340b57e26ed"2927dependencies = [2837dependencies = [2928 "bytes 0.5.6",2838 "asynchronous-codec",2929 "futures 0.3.8",2839 "bytes 1.0.1",2930 "futures_codec",2840 "futures 0.3.12",2931 "libp2p-core",2841 "libp2p-core",2932 "log",2842 "log",2933 "prost",2843 "prost",2934 "prost-build",2844 "prost-build",2935 "rw-stream-sink",2936 "unsigned-varint 0.4.0",2845 "unsigned-varint 0.6.0",2937 "void",2846 "void",2938]2847]293928482940[[package]]2849[[package]]2941name = "libp2p-pnet"2850name = "libp2p-pnet"2942version = "0.19.2"2851version = "0.20.0"2943source = "registry+https://github.com/rust-lang/crates.io-index"2852source = "registry+https://github.com/rust-lang/crates.io-index"2944checksum = "96b3c2d5d26a9500e959a0e19743897239a6c4be78dadf99b70414301a70c006"2853checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599"2945dependencies = [2854dependencies = [2946 "futures 0.3.8",2855 "futures 0.3.12",2947 "log",2856 "log",2948 "pin-project 0.4.27",2857 "pin-project 1.0.4",2949 "rand 0.7.3",2858 "rand 0.7.3",2950 "salsa20",2859 "salsa20",2951 "sha3",2860 "sha3",2952]2861]295328622954[[package]]2863[[package]]2955name = "libp2p-request-response"2864name = "libp2p-request-response"2956version = "0.3.0"2865version = "0.9.0"2957source = "registry+https://github.com/rust-lang/crates.io-index"2866source = "registry+https://github.com/rust-lang/crates.io-index"2958checksum = "9c0c9e8a4cd69d97e9646c54313d007512f411aba8c5226cfcda16df6a6e84a3"2867checksum = "d37637a4b33b5390322ccc068a33897d0aa541daf4fec99f6a7efbf37295346e"2959dependencies = [2868dependencies = [2960 "async-trait",2869 "async-trait",2961 "bytes 0.5.6",2870 "bytes 1.0.1",2962 "futures 0.3.8",2871 "futures 0.3.12",2963 "libp2p-core",2872 "libp2p-core",2964 "libp2p-swarm",2873 "libp2p-swarm",2965 "log",2874 "log",2966 "lru 0.6.2",2875 "lru",2967 "minicbor",2876 "minicbor",2968 "rand 0.7.3",2877 "rand 0.7.3",2969 "smallvec 1.5.1",2878 "smallvec 1.6.1",2970 "unsigned-varint 0.5.1",2879 "unsigned-varint 0.6.0",2971 "wasm-timer",2880 "wasm-timer",2972]2881]297328822974[[package]]2883[[package]]2975name = "libp2p-swarm"2884name = "libp2p-swarm"2976version = "0.22.0"2885version = "0.27.0"2977source = "registry+https://github.com/rust-lang/crates.io-index"2886source = "registry+https://github.com/rust-lang/crates.io-index"2978checksum = "7193e444210132237b81b755ec7fe53f1c4bd2f53cf719729b94c0c72eb6eaa1"2887checksum = "22ea8c69839a0e593c8c6a24282cb234d48ac37be4153183f4914e00f5303e75"2979dependencies = [2888dependencies = [2980 "either",2889 "either",2981 "futures 0.3.8",2890 "futures 0.3.12",2982 "libp2p-core",2891 "libp2p-core",2983 "log",2892 "log",2984 "rand 0.7.3",2893 "rand 0.7.3",2985 "smallvec 1.5.1",2894 "smallvec 1.6.1",2986 "void",2895 "void",2987 "wasm-timer",2896 "wasm-timer",2988]2897]298928982990[[package]]2899[[package]]2991name = "libp2p-tcp"2900name = "libp2p-tcp"2992version = "0.22.0"2901version = "0.27.0"2993source = "registry+https://github.com/rust-lang/crates.io-index"2902source = "registry+https://github.com/rust-lang/crates.io-index"2994checksum = "44f42ec130d7a37a7e47bf4398026b7ad9185c08ed26972e2720f8b94112796f"2903checksum = "3dbd3d7076a478ac5a6aca55e74bdc250ac539b95de09b9d09915e0b8d01a6b2"2995dependencies = [2904dependencies = [2996 "async-std",2905 "async-io",2997 "futures 0.3.8",2906 "futures 0.3.12",2998 "futures-timer 3.0.2",2907 "futures-timer 3.0.2",2999 "get_if_addrs",2908 "if-watch",3000 "ipnet",2909 "ipnet",2910 "libc",3001 "libp2p-core",2911 "libp2p-core",3002 "log",2912 "log",3003 "socket2",2913 "socket2",3004]2914]300529153006[[package]]2916[[package]]3007name = "libp2p-uds"2917name = "libp2p-uds"3008version = "0.22.0"2918version = "0.27.0"3009source = "registry+https://github.com/rust-lang/crates.io-index"2919source = "registry+https://github.com/rust-lang/crates.io-index"3010checksum = "dea7acb0a034f70d7db94c300eba3f65c0f6298820105624088a9609c9974d77"2920checksum = "80ac51ce419f60be966e02103c17f67ff5dc4422ba83ba54d251d6c62a4ed487"3011dependencies = [2921dependencies = [3012 "async-std",2922 "async-std",3013 "futures 0.3.8",2923 "futures 0.3.12",3014 "libp2p-core",2924 "libp2p-core",3015 "log",2925 "log",3016]2926]301729273018[[package]]2928[[package]]3019name = "libp2p-wasm-ext"2929name = "libp2p-wasm-ext"3020version = "0.22.0"2930version = "0.27.0"3021source = "registry+https://github.com/rust-lang/crates.io-index"2931source = "registry+https://github.com/rust-lang/crates.io-index"3022checksum = "34c1faac6f92c21fbe155417957863ea822fba9e9fd5eb24c0912336a100e63f"2932checksum = "6149c46cb76935c80bc8be6ec6e3ebd5f5e1679765a255fb34331d54610f15dd"3023dependencies = [2933dependencies = [3024 "futures 0.3.8",2934 "futures 0.3.12",3025 "js-sys",2935 "js-sys",3026 "libp2p-core",2936 "libp2p-core",3027 "parity-send-wrapper",2937 "parity-send-wrapper",303129413032[[package]]2942[[package]]3033name = "libp2p-websocket"2943name = "libp2p-websocket"3034version = "0.23.0"2944version = "0.28.0"3035source = "registry+https://github.com/rust-lang/crates.io-index"2945source = "registry+https://github.com/rust-lang/crates.io-index"3036checksum = "d650534ebd99f48f6fa292ed5db10d30df2444943afde4407ceeddab8e513fca"2946checksum = "d3b1c6a3431045da8b925ed83384e4c5163e14b990572307fca9c507435d4d22"3037dependencies = [2947dependencies = [3038 "async-tls",3039 "either",2948 "either",3040 "futures 0.3.8",2949 "futures 0.3.12",2950 "futures-rustls",3041 "libp2p-core",2951 "libp2p-core",3042 "log",2952 "log",3043 "quicksink",2953 "quicksink",3044 "rustls",3045 "rw-stream-sink",2954 "rw-stream-sink",3046 "soketto",2955 "soketto",3047 "url 2.2.0",2956 "url 2.2.0",3048 "webpki",3049 "webpki-roots 0.18.0",2957 "webpki-roots",3050]2958]305129593052[[package]]2960[[package]]3053name = "libp2p-yamux"2961name = "libp2p-yamux"3054version = "0.25.0"2962version = "0.30.0"3055source = "registry+https://github.com/rust-lang/crates.io-index"2963source = "registry+https://github.com/rust-lang/crates.io-index"3056checksum = "781d9b9f043dcdabc40640807125368596b849fd4d96cdca2dcf052fdf6f33fd"2964checksum = "490b8b27fc40fe35212df1b6a3d14bffaa4117cbff956fdc2892168a371102ad"3057dependencies = [2965dependencies = [3058 "futures 0.3.8",2966 "futures 0.3.12",3059 "libp2p-core",2967 "libp2p-core",3060 "parking_lot 0.11.1",2968 "parking_lot 0.11.1",3061 "thiserror",2969 "thiserror",310330113104[[package]]3012[[package]]3105name = "linked-hash-map"3013name = "linked-hash-map"3106version = "0.5.3"3014version = "0.5.4"3107source = "registry+https://github.com/rust-lang/crates.io-index"3015source = "registry+https://github.com/rust-lang/crates.io-index"3108checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a"3016checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"310930173110[[package]]3018[[package]]3111name = "linked_hash_set"3019name = "linked_hash_set"311830263119[[package]]3027[[package]]3120name = "linregress"3028name = "linregress"3121version = "0.1.7"3029version = "0.4.0"3122source = "registry+https://github.com/rust-lang/crates.io-index"3030source = "registry+https://github.com/rust-lang/crates.io-index"3123checksum = "9290cf6f928576eeb9c096c6fad9d8d452a0a1a70a2bbffa6e36064eedc0aac9"3031checksum = "0d0ad4b5cc8385a881c561fac3501353d63d2a2b7a357b5064d71815c9a92724"3124dependencies = [3032dependencies = [3125 "failure",3126 "nalgebra",3033 "nalgebra",3127 "statrs",3034 "statrs",3128]3035]31293130[[package]]3131name = "lock_api"3132version = "0.1.5"3133source = "registry+https://github.com/rust-lang/crates.io-index"3134checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"3135dependencies = [3136 "scopeguard 0.3.3",3137]313830363139[[package]]3037[[package]]3140name = "lock_api"3038name = "lock_api"3141version = "0.3.4"3039version = "0.3.4"3142source = "registry+https://github.com/rust-lang/crates.io-index"3040source = "registry+https://github.com/rust-lang/crates.io-index"3143checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"3041checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"3144dependencies = [3042dependencies = [3145 "scopeguard 1.1.0",3043 "scopeguard",3146]3044]314730453148[[package]]3046[[package]]3151source = "registry+https://github.com/rust-lang/crates.io-index"3049source = "registry+https://github.com/rust-lang/crates.io-index"3152checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"3050checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312"3153dependencies = [3051dependencies = [3154 "scopeguard 1.1.0",3052 "scopeguard",3155]3053]315630543157[[package]]3055[[package]]3158name = "log"3056name = "log"3159version = "0.4.11"3057version = "0.4.13"3160source = "registry+https://github.com/rust-lang/crates.io-index"3058source = "registry+https://github.com/rust-lang/crates.io-index"3161checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"3059checksum = "fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2"3162dependencies = [3060dependencies = [3163 "cfg-if 0.1.10",3061 "cfg-if 0.1.10",3164]3062]31653166[[package]]3167name = "loom"3168version = "0.3.6"3169source = "registry+https://github.com/rust-lang/crates.io-index"3170checksum = "a0e8460f2f2121162705187214720353c517b97bdfb3494c0b1e33d83ebe4bed"3171dependencies = [3172 "cfg-if 0.1.10",3173 "generator",3174 "scoped-tls",3175 "serde",3176 "serde_json",3177]317830633179[[package]]3064[[package]]3180name = "lru"3065name = "lru"3181version = "0.4.3"3066version = "0.6.3"3182source = "registry+https://github.com/rust-lang/crates.io-index"3067source = "registry+https://github.com/rust-lang/crates.io-index"3183checksum = "0609345ddee5badacf857d4f547e0e5a2e987db77085c24cd887f73573a04237"3068checksum = "3aae342b73d57ad0b8b364bd12584819f2c1fe9114285dfcf8b0722607671635"3184dependencies = [3069dependencies = [3185 "hashbrown 0.6.3",3070 "hashbrown",3186]3071]31873188[[package]]3189name = "lru"3190version = "0.6.2"3191source = "registry+https://github.com/rust-lang/crates.io-index"3192checksum = "3abe07af102235a56ac9a6dd904aab1e05483e2e8afdfffec3598be55b1b7606"3193dependencies = [3194 "hashbrown 0.9.1",3195]31963197[[package]]3198name = "lru_time_cache"3199version = "0.10.0"3200source = "registry+https://github.com/rust-lang/crates.io-index"3201checksum = "adb241df5c4caeb888755363fc95f8a896618dc0d435e9e775f7930cb099beab"320230723203[[package]]3073[[package]]3204name = "mach"3074name = "mach"3209 "libc",3079 "libc",3210]3080]30813082[[package]]3083name = "maplit"3084version = "1.0.2"3085source = "registry+https://github.com/rust-lang/crates.io-index"3086checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"321130873212[[package]]3088[[package]]3213name = "matchers"3089name = "matchers"3261source = "registry+https://github.com/rust-lang/crates.io-index"3137source = "registry+https://github.com/rust-lang/crates.io-index"3262checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"3138checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"3263dependencies = [3139dependencies = [3264 "autocfg 1.0.1",3140 "autocfg",3265]3141]326631423267[[package]]3143[[package]]3270source = "registry+https://github.com/rust-lang/crates.io-index"3146source = "registry+https://github.com/rust-lang/crates.io-index"3271checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87"3147checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87"3272dependencies = [3148dependencies = [3273 "autocfg 1.0.1",3149 "autocfg",3274]3150]327531513276[[package]]3152[[package]]3277name = "memory-db"3153name = "memory-db"3278version = "0.24.1"3154version = "0.25.0"3279source = "registry+https://github.com/rust-lang/crates.io-index"3155source = "registry+https://github.com/rust-lang/crates.io-index"3280checksum = "36f36ddb0b2cdc25d38babba472108798e3477f02be5165f038c5e393e50c57a"3156checksum = "6cbd2a22f201c03cc1706a727842490abfea17b7b53260358239828208daba3c"3281dependencies = [3157dependencies = [3282 "hash-db",3158 "hash-db",3283 "hashbrown 0.8.2",3159 "hashbrown",3284 "parity-util-mem",3160 "parity-util-mem",3285]3161]32863162329231683293[[package]]3169[[package]]3294name = "merlin"3170name = "merlin"3295version = "2.0.0"3171version = "2.0.1"3296source = "registry+https://github.com/rust-lang/crates.io-index"3172source = "registry+https://github.com/rust-lang/crates.io-index"3297checksum = "c6feca46f4fa3443a01769d768727f10c10a20fdb65e52dc16a81f0c8269bb78"3173checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42"3298dependencies = [3174dependencies = [3299 "byteorder 1.3.4",3175 "byteorder",3300 "keccak",3176 "keccak",3301 "rand_core 0.5.1",3177 "rand_core 0.5.1",3302 "zeroize",3178 "zeroize",3303]3179]330431803305[[package]]3181[[package]]3306name = "minicbor"3182name = "minicbor"3307version = "0.5.1"3183version = "0.7.1"3308source = "registry+https://github.com/rust-lang/crates.io-index"3184source = "registry+https://github.com/rust-lang/crates.io-index"3309checksum = "2fc03ad6f8f548db7194a5ff5a6f96342ecae4e3ef67d2bf18bacc0e245cd041"3185checksum = "3265a9f5210bb726f81ef9c456ae0aff5321cd95748c0e71889b0e19d8f0332b"3310dependencies = [3186dependencies = [3311 "minicbor-derive",3187 "minicbor-derive",3312]3188]331331893314[[package]]3190[[package]]3315name = "minicbor-derive"3191name = "minicbor-derive"3316version = "0.4.1"3192version = "0.6.1"3317source = "registry+https://github.com/rust-lang/crates.io-index"3193source = "registry+https://github.com/rust-lang/crates.io-index"3318checksum = "c214bf3d90099b52f3e4b328ae0fe34837fd0fab683ad1e10fceb4629106df48"3194checksum = "130b9455e28a3f308f6579671816a6f2621e2e0cbf55dc2f886345bef699481e"3319dependencies = [3195dependencies = [3320 "proc-macro2",3196 "proc-macro2",3321 "quote",3197 "quote",3329checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"3205checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"3330dependencies = [3206dependencies = [3331 "adler",3207 "adler",3332 "autocfg 1.0.1",3208 "autocfg",3333]3209]333432103335[[package]]3211[[package]]341632923417[[package]]3293[[package]]3418name = "multihash"3294name = "multihash"3419version = "0.11.4"3295version = "0.13.2"3420source = "registry+https://github.com/rust-lang/crates.io-index"3296source = "registry+https://github.com/rust-lang/crates.io-index"3421checksum = "567122ab6492f49b59def14ecc36e13e64dca4188196dd0cd41f9f3f979f3df6"3297checksum = "4dac63698b887d2d929306ea48b63760431ff8a24fac40ddb22f9c7f49fb7cab"3422dependencies = [3298dependencies = [3423 "blake2b_simd",3424 "blake2s_simd",3425 "digest 0.9.0",3299 "digest 0.9.0",3426 "sha-1 0.9.2",3300 "generic-array 0.14.4",3301 "multihash-derive",3427 "sha2 0.9.2",3302 "sha2 0.9.2",3428 "sha3",3429 "unsigned-varint 0.5.1",3303 "unsigned-varint 0.5.1",3430]3304]33053306[[package]]3307name = "multihash-derive"3308version = "0.7.1"3309source = "registry+https://github.com/rust-lang/crates.io-index"3310checksum = "85ee3c48cb9d9b275ad967a0e96715badc13c6029adb92f34fa17b9ff28fd81f"3311dependencies = [3312 "proc-macro-crate",3313 "proc-macro-error",3314 "proc-macro2",3315 "quote",3316 "syn",3317 "synstructure",3318]343133193432[[package]]3320[[package]]3433name = "multimap"3321name = "multimap"343733253438[[package]]3326[[package]]3439name = "multistream-select"3327name = "multistream-select"3440version = "0.8.5"3328version = "0.10.0"3441source = "registry+https://github.com/rust-lang/crates.io-index"3329source = "registry+https://github.com/rust-lang/crates.io-index"3442checksum = "93faf2e41f9ee62fb01680ed48f3cc26652352327aa2e59869070358f6b7dd75"3330checksum = "10ddc0eb0117736f19d556355464fc87efc8ad98b29e3fd84f02531eb6e90840"3443dependencies = [3331dependencies = [3444 "bytes 0.5.6",3332 "bytes 1.0.1",3445 "futures 0.3.8",3333 "futures 0.3.12",3446 "log",3334 "log",3447 "pin-project 1.0.2",3335 "pin-project 1.0.4",3448 "smallvec 1.5.1",3336 "smallvec 1.6.1",3449 "unsigned-varint 0.5.1",3337 "unsigned-varint 0.6.0",3450]3338]345133393452[[package]]3340[[package]]3453name = "nalgebra"3341name = "nalgebra"3454version = "0.18.1"3342version = "0.21.1"3455source = "registry+https://github.com/rust-lang/crates.io-index"3343source = "registry+https://github.com/rust-lang/crates.io-index"3456checksum = "aaa9fddbc34c8c35dd2108515587b8ce0cab396f17977b8c738568e4edb521a2"3344checksum = "d6b6147c3d50b4f3cdabfe2ecc94a0191fd3d6ad58aefd9664cf396285883486"3457dependencies = [3345dependencies = [3458 "alga",3459 "approx",3346 "approx",3460 "generic-array 0.12.3",3347 "generic-array 0.13.2",3461 "matrixmultiply",3348 "matrixmultiply",3462 "num-complex",3349 "num-complex",3463 "num-rational",3350 "num-rational",3464 "num-traits",3351 "num-traits",3465 "rand 0.6.5",3352 "rand 0.7.3",3353 "rand_distr",3354 "simba",3466 "typenum",3355 "typenum",3467]3356]34683357349833873499[[package]]3388[[package]]3500name = "nft"3389name = "nft"3501version = "2.0.0"3390version = "2.0.1"3502dependencies = [3391dependencies = [3503 "flexi_logger",3392 "flexi_logger",3504 "frame-benchmarking",3393 "frame-benchmarking",3505 "frame-benchmarking-cli",3394 "frame-benchmarking-cli",3506 "futures 0.3.8",3395 "futures 0.3.12",3507 "jsonrpc-core",3396 "jsonrpc-core",3508 "log",3397 "log",3509 "nft-runtime",3398 "nft-runtime",3517 "sc-consensus-aura",3406 "sc-consensus-aura",3518 "sc-executor",3407 "sc-executor",3519 "sc-finality-grandpa",3408 "sc-finality-grandpa",3409 "sc-keystore",3520 "sc-network",3410 "sc-network",3521 "sc-rpc",3411 "sc-rpc",3522 "sc-rpc-api",3412 "sc-rpc-api",3523 "sc-service",3413 "sc-service",3414 "sc-telemetry",3524 "sc-transaction-pool",3415 "sc-transaction-pool",3525 "serde",3416 "serde",3526 "serde_json",3417 "serde_json",354134323542[[package]]3433[[package]]3543name = "nft-runtime"3434name = "nft-runtime"3544version = "2.0.0"3435version = "2.0.1"3545dependencies = [3436dependencies = [3546 "frame-benchmarking",3437 "frame-benchmarking",3547 "frame-executive",3438 "frame-executive",3580 "substrate-wasm-builder-runner",3471 "substrate-wasm-builder-runner",3581]3472]35823583[[package]]3584name = "nix"3585version = "0.17.0"3586source = "registry+https://github.com/rust-lang/crates.io-index"3587checksum = "50e4785f2c3b7589a0d0c1dd60285e1188adac4006e8abd6dd578e1567027363"3588dependencies = [3589 "bitflags",3590 "cc",3591 "cfg-if 0.1.10",3592 "libc",3593 "void",3594]359534733596[[package]]3474[[package]]3597name = "nodrop"3475name = "nodrop"3621source = "registry+https://github.com/rust-lang/crates.io-index"3499source = "registry+https://github.com/rust-lang/crates.io-index"3622checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"3500checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304"3623dependencies = [3501dependencies = [3624 "autocfg 1.0.1",3502 "autocfg",3625 "num-integer",3503 "num-integer",3626 "num-traits",3504 "num-traits",3627]3505]3632source = "registry+https://github.com/rust-lang/crates.io-index"3510source = "registry+https://github.com/rust-lang/crates.io-index"3633checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"3511checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95"3634dependencies = [3512dependencies = [3635 "autocfg 1.0.1",3513 "autocfg",3636 "num-traits",3514 "num-traits",3637]3515]363835163642source = "registry+https://github.com/rust-lang/crates.io-index"3520source = "registry+https://github.com/rust-lang/crates.io-index"3643checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"3521checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"3644dependencies = [3522dependencies = [3645 "autocfg 1.0.1",3523 "autocfg",3646 "num-traits",3524 "num-traits",3647]3525]364835263652source = "registry+https://github.com/rust-lang/crates.io-index"3530source = "registry+https://github.com/rust-lang/crates.io-index"3653checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"3531checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"3654dependencies = [3532dependencies = [3655 "autocfg 1.0.1",3533 "autocfg",3656 "num-bigint",3534 "num-bigint",3657 "num-integer",3535 "num-integer",3658 "num-traits",3536 "num-traits",3664source = "registry+https://github.com/rust-lang/crates.io-index"3542source = "registry+https://github.com/rust-lang/crates.io-index"3665checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"3543checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"3666dependencies = [3544dependencies = [3667 "autocfg 1.0.1",3545 "autocfg",3668 "libm",3546 "libm",3669]3547]36703548369735753698[[package]]3576[[package]]3699name = "object"3577name = "object"3700version = "0.22.0"3578version = "0.23.0"3701source = "registry+https://github.com/rust-lang/crates.io-index"3579source = "registry+https://github.com/rust-lang/crates.io-index"3702checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397"3580checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4"37033704[[package]]3705name = "once_cell"3706version = "0.1.8"3707source = "registry+https://github.com/rust-lang/crates.io-index"3708checksum = "532c29a261168a45ce28948f9537ddd7a5dd272cc513b3017b1e82a88f962c37"3709dependencies = [3710 "parking_lot 0.7.1",3711]371235813713[[package]]3582[[package]]3714name = "once_cell"3583name = "once_cell"374836173749[[package]]3618[[package]]3750name = "pallet-aura"3619name = "pallet-aura"3751version = "2.0.0"3620version = "2.0.1"3752source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3621source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3753dependencies = [3622dependencies = [3754 "frame-support",3623 "frame-support",3755 "frame-system",3624 "frame-system",376736363768[[package]]3637[[package]]3769name = "pallet-authorship"3638name = "pallet-authorship"3770version = "2.0.0"3639version = "2.0.1"3771source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3640source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3772dependencies = [3641dependencies = [3773 "frame-support",3642 "frame-support",3774 "frame-system",3643 "frame-system",3775 "impl-trait-for-tuples",3644 "impl-trait-for-tuples 0.2.0",3776 "parity-scale-codec",3645 "parity-scale-codec",3777 "sp-authorship",3646 "sp-authorship",3778 "sp-inherents",3647 "sp-inherents",378236513783[[package]]3652[[package]]3784name = "pallet-balances"3653name = "pallet-balances"3785version = "2.0.0"3654version = "2.0.1"3786source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3655source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3787dependencies = [3656dependencies = [3788 "frame-benchmarking",3657 "frame-benchmarking",3789 "frame-support",3658 "frame-support",379636653797[[package]]3666[[package]]3798name = "pallet-contracts"3667name = "pallet-contracts"3799version = "2.0.0"3668version = "2.0.1"3800source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3669source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3801dependencies = [3670dependencies = [3802 "bitflags",3803 "frame-support",3671 "frame-support",3804 "frame-system",3672 "frame-system",3805 "pallet-contracts-primitives",3673 "pallet-contracts-primitives",3674 "pallet-contracts-proc-macro",3806 "parity-scale-codec",3675 "parity-scale-codec",3807 "parity-wasm",3676 "parity-wasm",3808 "pwasm-utils",3677 "pwasm-utils 0.16.0",3809 "serde",3678 "serde",3810 "sp-core",3679 "sp-core",3811 "sp-io",3680 "sp-io",381736863818[[package]]3687[[package]]3819name = "pallet-contracts-primitives"3688name = "pallet-contracts-primitives"3820version = "2.0.0"3689version = "2.0.1"3821source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3690source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3822dependencies = [3691dependencies = [3692 "bitflags",3823 "parity-scale-codec",3693 "parity-scale-codec",3824 "sp-runtime",3694 "sp-runtime",3825 "sp-std",3695 "sp-std",3826]3696]36973698[[package]]3699name = "pallet-contracts-proc-macro"3700version = "0.1.0"3701source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3702dependencies = [3703 "proc-macro2",3704 "quote",3705 "syn",3706]382737073828[[package]]3708[[package]]3829name = "pallet-contracts-rpc"3709name = "pallet-contracts-rpc"3830version = "0.8.0"3710version = "0.8.1"3831source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3711source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3832dependencies = [3712dependencies = [3833 "jsonrpc-core",3713 "jsonrpc-core",3834 "jsonrpc-core-client",3714 "jsonrpc-core-client",384637263847[[package]]3727[[package]]3848name = "pallet-contracts-rpc-runtime-api"3728name = "pallet-contracts-rpc-runtime-api"3849version = "0.8.0"3729version = "0.8.1"3850source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3730source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3851dependencies = [3731dependencies = [3852 "pallet-contracts-primitives",3732 "pallet-contracts-primitives",3853 "parity-scale-codec",3733 "parity-scale-codec",3856 "sp-std",3736 "sp-std",3857]3737]38583859[[package]]3860name = "pallet-finality-tracker"3861version = "2.0.0"3862source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3863dependencies = [3864 "frame-support",3865 "frame-system",3866 "impl-trait-for-tuples",3867 "parity-scale-codec",3868 "serde",3869 "sp-finality-tracker",3870 "sp-inherents",3871 "sp-runtime",3872 "sp-std",3873]387437383875[[package]]3739[[package]]3876name = "pallet-grandpa"3740name = "pallet-grandpa"3877version = "2.0.0"3741version = "2.0.1"3878source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3742source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3879dependencies = [3743dependencies = [3880 "frame-benchmarking",3744 "frame-benchmarking",3881 "frame-support",3745 "frame-support",3882 "frame-system",3746 "frame-system",3883 "pallet-authorship",3747 "pallet-authorship",3884 "pallet-finality-tracker",3885 "pallet-session",3748 "pallet-session",3886 "parity-scale-codec",3749 "parity-scale-codec",3887 "serde",3750 "serde",389637593897[[package]]3760[[package]]3898name = "pallet-nft"3761name = "pallet-nft"3899version = "2.0.0"3762version = "2.0.1"3900dependencies = [3763dependencies = [3901 "frame-benchmarking",3764 "frame-benchmarking",3902 "frame-support",3765 "frame-support",391737803918[[package]]3781[[package]]3919name = "pallet-randomness-collective-flip"3782name = "pallet-randomness-collective-flip"3920version = "2.0.0"3783version = "2.0.1"3921source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3784source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3922dependencies = [3785dependencies = [3923 "frame-support",3786 "frame-support",3924 "frame-system",3787 "frame-system",393037933931[[package]]3794[[package]]3932name = "pallet-session"3795name = "pallet-session"3933version = "2.0.0"3796version = "2.0.1"3934source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3797source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3935dependencies = [3798dependencies = [3936 "frame-support",3799 "frame-support",3937 "frame-system",3800 "frame-system",3938 "impl-trait-for-tuples",3801 "impl-trait-for-tuples 0.1.3",3939 "pallet-timestamp",3802 "pallet-timestamp",3940 "parity-scale-codec",3803 "parity-scale-codec",3941 "serde",3804 "serde",395038133951[[package]]3814[[package]]3952name = "pallet-sudo"3815name = "pallet-sudo"3953version = "2.0.0"3816version = "2.0.1"3954source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3817source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3955dependencies = [3818dependencies = [3956 "frame-support",3819 "frame-support",3957 "frame-system",3820 "frame-system",396438273965[[package]]3828[[package]]3966name = "pallet-timestamp"3829name = "pallet-timestamp"3967version = "2.0.0"3830version = "2.0.1"3968source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3831source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3969dependencies = [3832dependencies = [3970 "frame-benchmarking",3833 "frame-benchmarking",3971 "frame-support",3834 "frame-support",3972 "frame-system",3835 "frame-system",3973 "impl-trait-for-tuples",3836 "impl-trait-for-tuples 0.2.0",3974 "parity-scale-codec",3837 "parity-scale-codec",3975 "serde",3838 "serde",3976 "sp-inherents",3839 "sp-inherents",398238453983[[package]]3846[[package]]3984name = "pallet-transaction-payment"3847name = "pallet-transaction-payment"3985version = "2.0.0"3848version = "2.0.1"3986source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3849source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"3987dependencies = [3850dependencies = [3988 "frame-support",3851 "frame-support",3989 "frame-system",3852 "frame-system",3990 "pallet-transaction-payment-rpc-runtime-api",3991 "parity-scale-codec",3853 "parity-scale-codec",3992 "serde",3854 "serde",3993 "smallvec 1.5.1",3855 "smallvec 1.6.1",3994 "sp-core",3856 "sp-core",3995 "sp-io",3857 "sp-io",3996 "sp-runtime",3858 "sp-runtime",399938614000[[package]]3862[[package]]4001name = "pallet-transaction-payment-rpc"3863name = "pallet-transaction-payment-rpc"4002version = "2.0.0"3864version = "2.0.1"4003source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3865source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"4004dependencies = [3866dependencies = [4005 "jsonrpc-core",3867 "jsonrpc-core",4006 "jsonrpc-core-client",3868 "jsonrpc-core-client",4007 "jsonrpc-derive",3869 "jsonrpc-derive",4008 "pallet-transaction-payment-rpc-runtime-api",3870 "pallet-transaction-payment-rpc-runtime-api",4009 "parity-scale-codec",3871 "parity-scale-codec",4010 "serde",4011 "sp-api",3872 "sp-api",4012 "sp-blockchain",3873 "sp-blockchain",4013 "sp-core",3874 "sp-core",401738784018[[package]]3879[[package]]4019name = "pallet-transaction-payment-rpc-runtime-api"3880name = "pallet-transaction-payment-rpc-runtime-api"4020version = "2.0.0"3881version = "2.0.1"4021source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3882source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"4022dependencies = [3883dependencies = [4023 "frame-support",3884 "pallet-transaction-payment",4024 "parity-scale-codec",3885 "parity-scale-codec",4025 "serde",4026 "sp-api",3886 "sp-api",4027 "sp-runtime",3887 "sp-runtime",4028 "sp-std",4029]3888]403038894031[[package]]3890[[package]]4032name = "pallet-treasury"3891name = "pallet-treasury"4033version = "2.0.0"3892version = "2.0.1"4034source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3893source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"4035dependencies = [3894dependencies = [4036 "frame-support",3895 "frame-support",4037 "frame-system",3896 "frame-system",3897 "impl-trait-for-tuples 0.2.0",4038 "pallet-balances",3898 "pallet-balances",4039 "parity-scale-codec",3899 "parity-scale-codec",4040 "serde",3900 "serde",404439044045[[package]]3905[[package]]4046name = "pallet-vesting"3906name = "pallet-vesting"4047version = "2.0.0"3907version = "2.0.1"4048source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"3908source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"4049dependencies = [3909dependencies = [4050 "enumflags2",3910 "enumflags2",4051 "frame-support",3911 "frame-support",407239324073[[package]]3933[[package]]4074name = "parity-multiaddr"3934name = "parity-multiaddr"4075version = "0.9.6"3935version = "0.11.0"4076source = "registry+https://github.com/rust-lang/crates.io-index"3936source = "registry+https://github.com/rust-lang/crates.io-index"4077checksum = "43244a26dc1ddd3097216bb12eaa6cf8a07b060c72718d9ebd60fd297d6401df"3937checksum = "8bfda2e46fc5e14122649e2645645a81ee5844e0fb2e727ef560cc71a8b2d801"4078dependencies = [3938dependencies = [4079 "arrayref",3939 "arrayref",4080 "bs58 0.4.0",3940 "bs58",4081 "byteorder 1.3.4",3941 "byteorder",4082 "data-encoding",3942 "data-encoding",4083 "multihash",3943 "multihash",4084 "percent-encoding 2.1.0",3944 "percent-encoding 2.1.0",4085 "serde",3945 "serde",4086 "static_assertions",3946 "static_assertions",4087 "unsigned-varint 0.5.1",3947 "unsigned-varint 0.6.0",4088 "url 2.2.0",3948 "url 2.2.0",4089]3949]409039504091[[package]]3951[[package]]4092name = "parity-scale-codec"3952name = "parity-scale-codec"4093version = "1.3.5"3953version = "1.3.6"4094source = "registry+https://github.com/rust-lang/crates.io-index"3954source = "registry+https://github.com/rust-lang/crates.io-index"4095checksum = "7c740e5fbcb6847058b40ac7e5574766c6388f585e184d769910fe0d3a2ca861"3955checksum = "79602888a81ace83e3d1d4b2873286c1f5f906c84db667594e8db8da3506c383"4096dependencies = [3956dependencies = [4097 "arrayvec 0.5.2",3957 "arrayvec 0.5.2",4098 "bitvec",3958 "bitvec",414040004141[[package]]4001[[package]]4142name = "parity-util-mem"4002name = "parity-util-mem"4143version = "0.7.0"4003version = "0.8.0"4144source = "registry+https://github.com/rust-lang/crates.io-index"4004source = "registry+https://github.com/rust-lang/crates.io-index"4145checksum = "297ff91fa36aec49ce183484b102f6b75b46776822bd81525bfc4cc9b0dd0f5c"4005checksum = "8f17f15cb05897127bf36a240085a1f0bbef7bce3024849eccf7f93f6171bc27"4146dependencies = [4006dependencies = [4147 "cfg-if 0.1.10",4007 "cfg-if 1.0.0",4148 "hashbrown 0.8.2",4008 "hashbrown",4149 "impl-trait-for-tuples",4009 "impl-trait-for-tuples 0.2.0",4150 "parity-util-mem-derive",4010 "parity-util-mem-derive",4151 "parking_lot 0.10.2",4011 "parking_lot 0.11.1",4152 "primitive-types",4012 "primitive-types",4153 "smallvec 1.5.1",4013 "smallvec 1.6.1",4154 "winapi 0.3.9",4014 "winapi 0.3.9",4155]4015]415640164177source = "registry+https://github.com/rust-lang/crates.io-index"4037source = "registry+https://github.com/rust-lang/crates.io-index"4178checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61"4038checksum = "9e02a625dd75084c2a7024f07c575b61b782f729d18702dabb3cdbf31911dc61"4179dependencies = [4039dependencies = [4180 "byteorder 1.3.4",4040 "byteorder",4181 "bytes 0.4.12",4041 "bytes 0.4.12",4182 "httparse",4042 "httparse",4183 "log",4043 "log",4195source = "registry+https://github.com/rust-lang/crates.io-index"4055source = "registry+https://github.com/rust-lang/crates.io-index"4196checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"4056checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"41974198[[package]]4199name = "parking_lot"4200version = "0.7.1"4201source = "registry+https://github.com/rust-lang/crates.io-index"4202checksum = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"4203dependencies = [4204 "lock_api 0.1.5",4205 "parking_lot_core 0.4.0",4206]420740574208[[package]]4058[[package]]4209name = "parking_lot"4059name = "parking_lot"4234dependencies = [4084dependencies = [4235 "instant",4085 "instant",4236 "lock_api 0.4.2",4086 "lock_api 0.4.2",4237 "parking_lot_core 0.8.1",4087 "parking_lot_core 0.8.2",4238]4088]42394240[[package]]4241name = "parking_lot_core"4242version = "0.4.0"4243source = "registry+https://github.com/rust-lang/crates.io-index"4244checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"4245dependencies = [4246 "libc",4247 "rand 0.6.5",4248 "rustc_version",4249 "smallvec 0.6.13",4250 "winapi 0.3.9",4251]425240894253[[package]]4090[[package]]4254name = "parking_lot_core"4091name = "parking_lot_core"4259 "cfg-if 0.1.10",4096 "cfg-if 0.1.10",4260 "cloudabi",4097 "cloudabi",4261 "libc",4098 "libc",4262 "redox_syscall",4099 "redox_syscall 0.1.57",4263 "rustc_version",4100 "rustc_version",4264 "smallvec 0.6.13",4101 "smallvec 0.6.14",4265 "winapi 0.3.9",4102 "winapi 0.3.9",4266]4103]426741044274 "cfg-if 0.1.10",4111 "cfg-if 0.1.10",4275 "cloudabi",4112 "cloudabi",4276 "libc",4113 "libc",4277 "redox_syscall",4114 "redox_syscall 0.1.57",4278 "smallvec 1.5.1",4115 "smallvec 1.6.1",4279 "winapi 0.3.9",4116 "winapi 0.3.9",4280]4117]428141184282[[package]]4119[[package]]4283name = "parking_lot_core"4120name = "parking_lot_core"4284version = "0.8.1"4121version = "0.8.2"4285source = "registry+https://github.com/rust-lang/crates.io-index"4122source = "registry+https://github.com/rust-lang/crates.io-index"4286checksum = "d7c6d9b8427445284a09c55be860a15855ab580a417ccad9da88f5a06787ced0"4123checksum = "9ccb628cad4f84851442432c60ad8e1f607e29752d0bf072cbd0baf28aa34272"4287dependencies = [4124dependencies = [4288 "cfg-if 1.0.0",4125 "cfg-if 1.0.0",4289 "instant",4126 "instant",4290 "libc",4127 "libc",4291 "redox_syscall",4128 "redox_syscall 0.1.57",4292 "smallvec 1.5.1",4129 "smallvec 1.6.1",4293 "winapi 0.3.9",4130 "winapi 0.3.9",4294]4131]429541324318source = "registry+https://github.com/rust-lang/crates.io-index"4155source = "registry+https://github.com/rust-lang/crates.io-index"4319checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"4156checksum = "006c038a43a45995a9670da19e67600114740e8511d4333bf97a56e66a7542d9"4320dependencies = [4157dependencies = [4321 "byteorder 1.3.4",4158 "byteorder",4322 "crypto-mac 0.7.0",4159 "crypto-mac 0.7.0",4323 "rayon",4324]4160]41614162[[package]]4163name = "pbkdf2"4164version = "0.4.0"4165source = "registry+https://github.com/rust-lang/crates.io-index"4166checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd"4167dependencies = [4168 "crypto-mac 0.8.0",4169]41704171[[package]]4172name = "pdqselect"4173version = "0.1.0"4174source = "registry+https://github.com/rust-lang/crates.io-index"4175checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27"432541764326[[package]]4177[[package]]4327name = "peeking_take_while"4178name = "peeking_take_while"4341source = "registry+https://github.com/rust-lang/crates.io-index"4192source = "registry+https://github.com/rust-lang/crates.io-index"4342checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"4193checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"41944195[[package]]4196name = "pest"4197version = "2.1.3"4198source = "registry+https://github.com/rust-lang/crates.io-index"4199checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"4200dependencies = [4201 "ucd-trie",4202]42034204[[package]]4205name = "pest_derive"4206version = "2.1.0"4207source = "registry+https://github.com/rust-lang/crates.io-index"4208checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"4209dependencies = [4210 "pest",4211 "pest_generator",4212]42134214[[package]]4215name = "pest_generator"4216version = "2.1.3"4217source = "registry+https://github.com/rust-lang/crates.io-index"4218checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55"4219dependencies = [4220 "pest",4221 "pest_meta",4222 "proc-macro2",4223 "quote",4224 "syn",4225]42264227[[package]]4228name = "pest_meta"4229version = "2.1.3"4230source = "registry+https://github.com/rust-lang/crates.io-index"4231checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d"4232dependencies = [4233 "maplit",4234 "pest",4235 "sha-1 0.8.2",4236]434342374344[[package]]4238[[package]]4345name = "petgraph"4239name = "petgraph"436242564363[[package]]4257[[package]]4364name = "pin-project"4258name = "pin-project"4365version = "1.0.2"4259version = "1.0.4"4366source = "registry+https://github.com/rust-lang/crates.io-index"4260source = "registry+https://github.com/rust-lang/crates.io-index"4367checksum = "9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7"4261checksum = "95b70b68509f17aa2857863b6fa00bf21fc93674c7a8893de2f469f6aa7ca2f2"4368dependencies = [4262dependencies = [4369 "pin-project-internal 1.0.2",4263 "pin-project-internal 1.0.4",4370]4264]437142654372[[package]]4266[[package]]438242764383[[package]]4277[[package]]4384name = "pin-project-internal"4278name = "pin-project-internal"4385version = "1.0.2"4279version = "1.0.4"4386source = "registry+https://github.com/rust-lang/crates.io-index"4280source = "registry+https://github.com/rust-lang/crates.io-index"4387checksum = "f8e8d2bf0b23038a4424865103a4df472855692821aab4e4f5c3312d461d9e5f"4281checksum = "caa25a6393f22ce819b0f50e0be89287292fda8d425be38ee0ca14c4931d9e71"4388dependencies = [4282dependencies = [4389 "proc-macro2",4283 "proc-macro2",4390 "quote",4284 "quote",439942934400[[package]]4294[[package]]4401name = "pin-project-lite"4295name = "pin-project-lite"4402version = "0.2.0"4296version = "0.2.4"4403source = "registry+https://github.com/rust-lang/crates.io-index"4297source = "registry+https://github.com/rust-lang/crates.io-index"4404checksum = "6b063f57ec186e6140e2b8b6921e5f1bd89c7356dda5b33acc5401203ca6131c"4298checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827"440542994406[[package]]4300[[package]]4407name = "pin-utils"4301name = "pin-utils"444643404447[[package]]4341[[package]]4448name = "polyval"4342name = "polyval"4449version = "0.4.3"4343version = "0.4.5"4450source = "registry+https://github.com/rust-lang/crates.io-index"4344source = "registry+https://github.com/rust-lang/crates.io-index"4451checksum = "b4fd92d8e0c06d08525d2e2643cc2b5c80c69ae8eb12c18272d501cd7079ccc0"4345checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd"4452dependencies = [4346dependencies = [4453 "cpuid-bool 0.2.0",4347 "cpuid-bool 0.2.0",4348 "opaque-debug 0.3.0",4454 "universal-hash",4349 "universal-hash",4455]4350]44564351446243574463[[package]]4358[[package]]4464name = "primitive-types"4359name = "primitive-types"4465version = "0.7.3"4360version = "0.8.0"4466source = "registry+https://github.com/rust-lang/crates.io-index"4361source = "registry+https://github.com/rust-lang/crates.io-index"4467checksum = "7dd39dcacf71411ba488570da7bbc89b717225e46478b30ba99b92db6b149809"4362checksum = "b3824ae2c5e27160113b9e029a10ec9e3f0237bad8029f69c7724393c9fdefd8"4468dependencies = [4363dependencies = [4469 "fixed-hash",4364 "fixed-hash",4470 "impl-codec",4365 "impl-codec",451344084514[[package]]4409[[package]]4515name = "proc-macro-nested"4410name = "proc-macro-nested"4516version = "0.1.6"4411version = "0.1.7"4517source = "registry+https://github.com/rust-lang/crates.io-index"4412source = "registry+https://github.com/rust-lang/crates.io-index"4518checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"4413checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"451944144520[[package]]4415[[package]]4521name = "proc-macro2"4416name = "proc-macro2"454244374543[[package]]4438[[package]]4544name = "prost"4439name = "prost"4545version = "0.6.1"4440version = "0.7.0"4546source = "registry+https://github.com/rust-lang/crates.io-index"4441source = "registry+https://github.com/rust-lang/crates.io-index"4547checksum = "ce49aefe0a6144a45de32927c77bd2859a5f7677b55f220ae5b744e87389c212"4442checksum = "9e6984d2f1a23009bd270b8bb56d0926810a3d483f59c987d77969e9d8e840b2"4548dependencies = [4443dependencies = [4549 "bytes 0.5.6",4444 "bytes 1.0.1",4550 "prost-derive",4445 "prost-derive",4551]4446]455244474553[[package]]4448[[package]]4554name = "prost-build"4449name = "prost-build"4555version = "0.6.1"4450version = "0.7.0"4556source = "registry+https://github.com/rust-lang/crates.io-index"4451source = "registry+https://github.com/rust-lang/crates.io-index"4557checksum = "02b10678c913ecbd69350e8535c3aef91a8676c0773fc1d7b95cdd196d7f2f26"4452checksum = "32d3ebd75ac2679c2af3a92246639f9fcc8a442ee420719cc4fe195b98dd5fa3"4558dependencies = [4453dependencies = [4559 "bytes 0.5.6",4454 "bytes 1.0.1",4560 "heck",4455 "heck",4561 "itertools 0.8.2",4456 "itertools",4562 "log",4457 "log",4563 "multimap",4458 "multimap",4564 "petgraph",4459 "petgraph",4565 "prost",4460 "prost",4566 "prost-types",4461 "prost-types",4567 "tempfile",4462 "tempfile",4568 "which",4463 "which 4.0.2",4569]4464]457044654571[[package]]4466[[package]]4572name = "prost-derive"4467name = "prost-derive"4573version = "0.6.1"4468version = "0.7.0"4574source = "registry+https://github.com/rust-lang/crates.io-index"4469source = "registry+https://github.com/rust-lang/crates.io-index"4575checksum = "537aa19b95acde10a12fec4301466386f757403de4cd4e5b4fa78fb5ecb18f72"4470checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4"4576dependencies = [4471dependencies = [4577 "anyhow",4472 "anyhow",4578 "itertools 0.8.2",4473 "itertools",4579 "proc-macro2",4474 "proc-macro2",4580 "quote",4475 "quote",4581 "syn",4476 "syn",4582]4477]458344784584[[package]]4479[[package]]4585name = "prost-types"4480name = "prost-types"4586version = "0.6.1"4481version = "0.7.0"4587source = "registry+https://github.com/rust-lang/crates.io-index"4482source = "registry+https://github.com/rust-lang/crates.io-index"4588checksum = "1834f67c0697c001304b75be76f67add9c89742eda3a085ad8ee0bb38c3417aa"4483checksum = "b518d7cdd93dab1d1122cf07fa9a60771836c668dde9d9e2a139f957f0d9f1bb"4589dependencies = [4484dependencies = [4590 "bytes 0.5.6",4485 "bytes 1.0.1",4591 "prost",4486 "prost",4592]4487]459344884597source = "registry+https://github.com/rust-lang/crates.io-index"4492source = "registry+https://github.com/rust-lang/crates.io-index"4598checksum = "0f53bc2558e8376358ebdc28301546471d67336584f6438ed4b7c7457a055fd7"4493checksum = "0f53bc2558e8376358ebdc28301546471d67336584f6438ed4b7c7457a055fd7"4599dependencies = [4494dependencies = [4600 "byteorder 1.3.4",4495 "byteorder",4601 "log",4496 "log",4602 "parity-wasm",4497 "parity-wasm",4603]4498]44994500[[package]]4501name = "pwasm-utils"4502version = "0.16.0"4503source = "registry+https://github.com/rust-lang/crates.io-index"4504checksum = "1c8ac87af529432d3a4f0e2b3bbf08af49f28f09cc73ed7e551161bdaef5f78d"4505dependencies = [4506 "byteorder",4507 "log",4508 "parity-wasm",4509]460445104605[[package]]4511[[package]]4606name = "quick-error"4512name = "quick-error"4607version = "1.2.3"4513version = "1.2.3"4608source = "registry+https://github.com/rust-lang/crates.io-index"4514source = "registry+https://github.com/rust-lang/crates.io-index"4609checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"4515checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"45164517[[package]]4518name = "quick-error"4519version = "2.0.0"4520source = "registry+https://github.com/rust-lang/crates.io-index"4521checksum = "3ac73b1112776fc109b2e61909bc46c7e1bf0d7f690ffb1676553acce16d5cda"461045224611[[package]]4523[[package]]4612name = "quicksink"4524name = "quicksink"462145334622[[package]]4534[[package]]4623name = "quote"4535name = "quote"4624version = "1.0.7"4536version = "1.0.8"4625source = "registry+https://github.com/rust-lang/crates.io-index"4537source = "registry+https://github.com/rust-lang/crates.io-index"4626checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"4538checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"4627dependencies = [4539dependencies = [4628 "proc-macro2",4540 "proc-macro2",4629]4541]4657 "winapi 0.3.9",4569 "winapi 0.3.9",4658]4570]46594660[[package]]4661name = "rand"4662version = "0.5.6"4663source = "registry+https://github.com/rust-lang/crates.io-index"4664checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"4665dependencies = [4666 "cloudabi",4667 "fuchsia-cprng",4668 "libc",4669 "rand_core 0.3.1",4670 "winapi 0.3.9",4671]46724673[[package]]4674name = "rand"4675version = "0.6.5"4676source = "registry+https://github.com/rust-lang/crates.io-index"4677checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"4678dependencies = [4679 "autocfg 0.1.7",4680 "libc",4681 "rand_chacha 0.1.1",4682 "rand_core 0.4.2",4683 "rand_hc 0.1.0",4684 "rand_isaac",4685 "rand_jitter",4686 "rand_os",4687 "rand_pcg 0.1.2",4688 "rand_xorshift",4689 "winapi 0.3.9",4690]469145714692[[package]]4572[[package]]4693name = "rand"4573name = "rand"4694version = "0.7.3"4574version = "0.7.3"4695source = "registry+https://github.com/rust-lang/crates.io-index"4575source = "registry+https://github.com/rust-lang/crates.io-index"4696checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"4576checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"4697dependencies = [4577dependencies = [4698 "getrandom 0.1.15",4578 "getrandom 0.1.16",4699 "libc",4579 "libc",4700 "rand_chacha 0.2.2",4580 "rand_chacha 0.2.2",4701 "rand_core 0.5.1",4581 "rand_core 0.5.1",4702 "rand_hc 0.2.0",4582 "rand_hc 0.2.0",4703 "rand_pcg 0.2.1",4583 "rand_pcg",4704]4584]470545854706[[package]]4586[[package]]4707name = "rand_chacha"4587name = "rand"4708version = "0.1.1"4588version = "0.8.2"4709source = "registry+https://github.com/rust-lang/crates.io-index"4589source = "registry+https://github.com/rust-lang/crates.io-index"4710checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"4590checksum = "18519b42a40024d661e1714153e9ad0c3de27cd495760ceb09710920f1098b1e"4711dependencies = [4591dependencies = [4592 "libc",4712 "autocfg 0.1.7",4593 "rand_chacha 0.3.0",4713 "rand_core 0.3.1",4594 "rand_core 0.6.1",4595 "rand_hc 0.3.0",4714]4596]471545974716[[package]]4598[[package]]4723 "rand_core 0.5.1",4605 "rand_core 0.5.1",4724]4606]46074608[[package]]4609name = "rand_chacha"4610version = "0.3.0"4611source = "registry+https://github.com/rust-lang/crates.io-index"4612checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"4613dependencies = [4614 "ppv-lite86",4615 "rand_core 0.6.1",4616]472546174726[[package]]4618[[package]]4727name = "rand_core"4619name = "rand_core"4744source = "registry+https://github.com/rust-lang/crates.io-index"4636source = "registry+https://github.com/rust-lang/crates.io-index"4745checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"4637checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"4746dependencies = [4638dependencies = [4747 "getrandom 0.1.15",4639 "getrandom 0.1.16",4748]4640]46414642[[package]]4643name = "rand_core"4644version = "0.6.1"4645source = "registry+https://github.com/rust-lang/crates.io-index"4646checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5"4647dependencies = [4648 "getrandom 0.2.2",4649]474946504750[[package]]4651[[package]]4751name = "rand_hc"4652name = "rand_distr"4752version = "0.1.0"4653version = "0.2.2"4753source = "registry+https://github.com/rust-lang/crates.io-index"4654source = "registry+https://github.com/rust-lang/crates.io-index"4754checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"4655checksum = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2"4755dependencies = [4656dependencies = [4756 "rand_core 0.3.1",4657 "rand 0.7.3",4757]4658]475846594759[[package]]4660[[package]]4765 "rand_core 0.5.1",4666 "rand_core 0.5.1",4766]4667]47674768[[package]]4769name = "rand_isaac"4770version = "0.1.1"4771source = "registry+https://github.com/rust-lang/crates.io-index"4772checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"4773dependencies = [4774 "rand_core 0.3.1",4775]47764777[[package]]4778name = "rand_jitter"4779version = "0.1.4"4780source = "registry+https://github.com/rust-lang/crates.io-index"4781checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"4782dependencies = [4783 "libc",4784 "rand_core 0.4.2",4785 "winapi 0.3.9",4786]478746684788[[package]]4669[[package]]4789name = "rand_os"4670name = "rand_hc"4790version = "0.1.3"4671version = "0.3.0"4791source = "registry+https://github.com/rust-lang/crates.io-index"4672source = "registry+https://github.com/rust-lang/crates.io-index"4792checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"4673checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"4793dependencies = [4674dependencies = [4794 "cloudabi",4795 "fuchsia-cprng",4796 "libc",4797 "rand_core 0.4.2",4675 "rand_core 0.6.1",4798 "rdrand",4799 "winapi 0.3.9",4800]4676]48014802[[package]]4803name = "rand_pcg"4804version = "0.1.2"4805source = "registry+https://github.com/rust-lang/crates.io-index"4806checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"4807dependencies = [4808 "autocfg 0.1.7",4809 "rand_core 0.4.2",4810]481146774812[[package]]4678[[package]]4813name = "rand_pcg"4679name = "rand_pcg"4818 "rand_core 0.5.1",4684 "rand_core 0.5.1",4819]4685]48204821[[package]]4822name = "rand_xorshift"4823version = "0.1.1"4824source = "registry+https://github.com/rust-lang/crates.io-index"4825checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"4826dependencies = [4827 "rand_core 0.3.1",4828]482946864830[[package]]4687[[package]]4831name = "raw-cpuid"4688name = "raw-cpuid"4832version = "7.0.3"4689version = "7.0.4"4833source = "registry+https://github.com/rust-lang/crates.io-index"4690source = "registry+https://github.com/rust-lang/crates.io-index"4834checksum = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf"4691checksum = "beb71f708fe39b2c5e98076204c3cc094ee5a4c12c4cdb119a2b72dc34164f41"4835dependencies = [4692dependencies = [4836 "bitflags",4693 "bitflags",4837 "cc",4694 "cc",4850source = "registry+https://github.com/rust-lang/crates.io-index"4707source = "registry+https://github.com/rust-lang/crates.io-index"4851checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"4708checksum = "8b0d8e0819fadc20c74ea8373106ead0600e3a67ef1fe8da56e39b9ae7275674"4852dependencies = [4709dependencies = [4853 "autocfg 1.0.1",4710 "autocfg",4854 "crossbeam-deque 0.8.0",4711 "crossbeam-deque 0.8.0",4855 "either",4712 "either",4856 "rayon-core",4713 "rayon-core",4884source = "registry+https://github.com/rust-lang/crates.io-index"4741source = "registry+https://github.com/rust-lang/crates.io-index"4885checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"4742checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"47434744[[package]]4745name = "redox_syscall"4746version = "0.2.4"4747source = "registry+https://github.com/rust-lang/crates.io-index"4748checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570"4749dependencies = [4750 "bitflags",4751]488647524887[[package]]4753[[package]]4888name = "redox_users"4754name = "redox_users"4889version = "0.3.5"4755version = "0.3.5"4890source = "registry+https://github.com/rust-lang/crates.io-index"4756source = "registry+https://github.com/rust-lang/crates.io-index"4891checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"4757checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"4892dependencies = [4758dependencies = [4893 "getrandom 0.1.15",4759 "getrandom 0.1.16",4894 "redox_syscall",4760 "redox_syscall 0.1.57",4895 "rust-argon2",4761 "rust-argon2",4896]4762]489747634898[[package]]4764[[package]]4899name = "ref-cast"4765name = "ref-cast"4900version = "1.0.3"4766version = "1.0.6"4901source = "registry+https://github.com/rust-lang/crates.io-index"4767source = "registry+https://github.com/rust-lang/crates.io-index"4902checksum = "e17626b2f4bcf35b84bf379072a66e28cfe5c3c6ae58b38e4914bb8891dabece"4768checksum = "300f2a835d808734ee295d45007adacb9ebb29dd3ae2424acfa17930cae541da"4903dependencies = [4769dependencies = [4904 "ref-cast-impl",4770 "ref-cast-impl",4905]4771]490647724907[[package]]4773[[package]]4908name = "ref-cast-impl"4774name = "ref-cast-impl"4909version = "1.0.3"4775version = "1.0.6"4910source = "registry+https://github.com/rust-lang/crates.io-index"4776source = "registry+https://github.com/rust-lang/crates.io-index"4911checksum = "0c523ccaed8ac4b0288948849a350b37d3035827413c458b6a40ddb614bb4f72"4777checksum = "4c38e3aecd2b21cb3959637b883bb3714bc7e43f0268b9a29d3743ee3e55cdd2"4912dependencies = [4778dependencies = [4913 "proc-macro2",4779 "proc-macro2",4914 "quote",4780 "quote",4923dependencies = [4789dependencies = [4924 "log",4790 "log",4925 "rustc-hash",4791 "rustc-hash",4926 "smallvec 1.5.1",4792 "smallvec 1.6.1",4927]4793]492847944929[[package]]4795[[package]]4930name = "regex"4796name = "regex"4931version = "1.4.2"4797version = "1.4.3"4932source = "registry+https://github.com/rust-lang/crates.io-index"4798source = "registry+https://github.com/rust-lang/crates.io-index"4933checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"4799checksum = "d9251239e129e16308e70d853559389de218ac275b515068abc96829d05b948a"4934dependencies = [4800dependencies = [4935 "aho-corasick",4801 "aho-corasick",4936 "memchr",4802 "memchr",4944source = "registry+https://github.com/rust-lang/crates.io-index"4810source = "registry+https://github.com/rust-lang/crates.io-index"4945checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"4811checksum = "ae1ded71d66a4a97f5e961fd0cb25a5f366a42a41570d16a763a69c092c26ae4"4946dependencies = [4812dependencies = [4947 "byteorder 1.3.4",4813 "byteorder",4948 "regex-syntax",4814 "regex-syntax",4949]4815]495048164951[[package]]4817[[package]]4952name = "regex-syntax"4818name = "regex-syntax"4953version = "0.6.21"4819version = "0.6.22"4954source = "registry+https://github.com/rust-lang/crates.io-index"4820source = "registry+https://github.com/rust-lang/crates.io-index"4955checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"4821checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581"495648224957[[package]]4823[[package]]4958name = "region"4824name = "region"497748434978[[package]]4844[[package]]4979name = "retain_mut"4845name = "retain_mut"4980version = "0.1.1"4846version = "0.1.2"4981source = "registry+https://github.com/rust-lang/crates.io-index"4847source = "registry+https://github.com/rust-lang/crates.io-index"4982checksum = "e005d658ad26eacc2b6c506dfde519f4e277e328d0eb3379ca61647d70a8f531"4848checksum = "53552c6c49e1e13f1a203ef0080ab3bbef0beb570a528993e83df057a9d9bba1"498348494984[[package]]4850[[package]]4985name = "ring"4851name = "ring"4989dependencies = [4855dependencies = [4990 "cc",4856 "cc",4991 "libc",4857 "libc",4992 "once_cell 1.5.2",4858 "once_cell",4993 "spin",4859 "spin",4994 "untrusted",4860 "untrusted",4995 "web-sys",4861 "web-sys",500848745009[[package]]4875[[package]]5010name = "rpassword"4876name = "rpassword"5011version = "4.0.5"4877version = "5.0.1"5012source = "registry+https://github.com/rust-lang/crates.io-index"4878source = "registry+https://github.com/rust-lang/crates.io-index"5013checksum = "99371657d3c8e4d816fb6221db98fa408242b0b53bac08f8676a41f8554fe99f"4879checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb"5014dependencies = [4880dependencies = [5015 "libc",4881 "libc",5016 "winapi 0.3.9",4882 "winapi 0.3.9",5068 "webpki",4934 "webpki",5069]4935]49364937[[package]]4938name = "rustls"4939version = "0.19.0"4940source = "registry+https://github.com/rust-lang/crates.io-index"4941checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b"4942dependencies = [4943 "base64 0.13.0",4944 "log",4945 "ring",4946 "sct",4947 "webpki",4948]507049495071[[package]]4950[[package]]5072name = "rustls-native-certs"4951name = "rustls-native-certs"5075checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8"4954checksum = "629d439a7672da82dd955498445e496ee2096fe2117b9f796558a43fdb9e59b8"5076dependencies = [4955dependencies = [5077 "openssl-probe",4956 "openssl-probe",5078 "rustls",4957 "rustls 0.18.1",5079 "schannel",4958 "schannel",5080 "security-framework",4959 "security-framework",5081]4960]5086source = "registry+https://github.com/rust-lang/crates.io-index"4965source = "registry+https://github.com/rust-lang/crates.io-index"5087checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"4966checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"5088dependencies = [4967dependencies = [5089 "futures 0.3.8",4968 "futures 0.3.12",5090 "pin-project 0.4.27",4969 "pin-project 0.4.27",5091 "static_assertions",4970 "static_assertions",5092]4971]510849875109[[package]]4988[[package]]5110name = "salsa20"4989name = "salsa20"5111version = "0.6.0"4990version = "0.7.2"5112source = "registry+https://github.com/rust-lang/crates.io-index"4991source = "registry+https://github.com/rust-lang/crates.io-index"5113checksum = "c7f47b10fa80f6969bbbd9c8e7cc998f082979d402a9e10579e2303a87955395"4992checksum = "399f290ffc409596022fce5ea5d4138184be4784f2b28c62c59f0d8389059a15"5114dependencies = [4993dependencies = [5115 "stream-cipher",4994 "cipher",5116]4995]511749965118[[package]]4997[[package]]5119name = "sc-basic-authorship"4998name = "sc-basic-authorship"5120version = "0.8.0"4999version = "0.8.1"5121source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5000source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5122dependencies = [5001dependencies = [5123 "futures 0.3.8",5002 "futures 0.3.12",5124 "futures-timer 3.0.2",5003 "futures-timer 3.0.2",5125 "log",5004 "log",5126 "parity-scale-codec",5005 "parity-scale-codec",5136 "sp-runtime",5015 "sp-runtime",5137 "sp-transaction-pool",5016 "sp-transaction-pool",5138 "substrate-prometheus-endpoint",5017 "substrate-prometheus-endpoint",5139 "tokio-executor 0.2.0-alpha.6",5140]5018]514150195142[[package]]5020[[package]]5143name = "sc-block-builder"5021name = "sc-block-builder"5144version = "0.8.0"5022version = "0.8.1"5145source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5023source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5146dependencies = [5024dependencies = [5147 "parity-scale-codec",5025 "parity-scale-codec",5148 "sc-client-api",5026 "sc-client-api",515850365159[[package]]5037[[package]]5160name = "sc-chain-spec"5038name = "sc-chain-spec"5161version = "2.0.0"5039version = "2.0.1"5162source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5040source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5163dependencies = [5041dependencies = [5164 "impl-trait-for-tuples",5042 "impl-trait-for-tuples 0.2.0",5165 "parity-scale-codec",5043 "parity-scale-codec",5166 "sc-chain-spec-derive",5044 "sc-chain-spec-derive",5045 "sc-consensus-babe",5046 "sc-consensus-epochs",5047 "sc-finality-grandpa",5167 "sc-network",5048 "sc-network",5168 "sc-telemetry",5049 "sc-telemetry",5169 "serde",5050 "serde",5170 "serde_json",5051 "serde_json",5171 "sp-chain-spec",5052 "sp-chain-spec",5053 "sp-consensus-babe",5172 "sp-core",5054 "sp-core",5173 "sp-runtime",5055 "sp-runtime",5174]5056]517550575176[[package]]5058[[package]]5177name = "sc-chain-spec-derive"5059name = "sc-chain-spec-derive"5178version = "2.0.0"5060version = "2.0.1"5179source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5061source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5180dependencies = [5062dependencies = [5181 "proc-macro-crate",5063 "proc-macro-crate",5182 "proc-macro2",5064 "proc-macro2",518650685187[[package]]5069[[package]]5188name = "sc-cli"5070name = "sc-cli"5189version = "0.8.0"5071version = "0.8.1"5190source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5072source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5191dependencies = [5073dependencies = [5192 "ansi_term 0.12.1",5193 "atty",5194 "bip39",5195 "chrono",5074 "chrono",5196 "derive_more",5197 "fdlimit",5075 "fdlimit",5198 "flexi_logger",5199 "futures 0.3.8",5076 "futures 0.3.12",5200 "hex",5077 "hex",5201 "lazy_static",5202 "libp2p",5078 "libp2p",5203 "log",5079 "log",5204 "names",5080 "names",5205 "nix",5206 "parity-scale-codec",5081 "parity-scale-codec",5207 "parity-util-mem",5208 "rand 0.7.3",5082 "rand 0.7.3",5209 "regex",5083 "regex",5210 "rpassword",5084 "rpassword",5211 "sc-client-api",5085 "sc-client-api",5212 "sc-informant",5213 "sc-keystore",5086 "sc-keystore",5214 "sc-network",5087 "sc-network",5215 "sc-service",5088 "sc-service",5220 "sp-blockchain",5093 "sp-blockchain",5221 "sp-core",5094 "sp-core",5222 "sp-keyring",5095 "sp-keyring",5096 "sp-keystore",5223 "sp-panic-handler",5097 "sp-panic-handler",5224 "sp-runtime",5098 "sp-runtime",5225 "sp-state-machine",5226 "sp-utils",5099 "sp-utils",5227 "sp-version",5100 "sp-version",5228 "structopt",5101 "structopt",5229 "substrate-prometheus-endpoint",5102 "thiserror",5230 "time",5103 "tiny-bip39",5231 "tokio 0.2.24",5104 "tokio 0.2.24",5232 "tracing",5233 "tracing-log",5234 "tracing-subscriber",5235]5105]523651065237[[package]]5107[[package]]5238name = "sc-client-api"5108name = "sc-client-api"5239version = "2.0.0"5109version = "2.0.1"5240source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5110source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5241dependencies = [5111dependencies = [5242 "derive_more",5112 "derive_more",5243 "fnv",5113 "fnv",5244 "futures 0.3.8",5114 "futures 0.3.12",5245 "hash-db",5115 "hash-db",5246 "hex-literal",5247 "kvdb",5116 "kvdb",5248 "lazy_static",5117 "lazy_static",5249 "log",5118 "log",5250 "parity-scale-codec",5119 "parity-scale-codec",5251 "parking_lot 0.10.2",5120 "parking_lot 0.11.1",5252 "sc-executor",5121 "sc-executor",5253 "sc-telemetry",5254 "sp-api",5122 "sp-api",5255 "sp-blockchain",5123 "sp-blockchain",5256 "sp-consensus",5124 "sp-consensus",5257 "sp-core",5125 "sp-core",5258 "sp-database",5126 "sp-database",5259 "sp-externalities",5127 "sp-externalities",5260 "sp-inherents",5128 "sp-inherents",5261 "sp-keyring",5129 "sp-keystore",5262 "sp-runtime",5130 "sp-runtime",5263 "sp-state-machine",5131 "sp-state-machine",5264 "sp-std",5132 "sp-std",527251405273[[package]]5141[[package]]5274name = "sc-client-db"5142name = "sc-client-db"5275version = "0.8.0"5143version = "0.8.1"5276source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5144source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5277dependencies = [5145dependencies = [5278 "blake2-rfc",5146 "blake2-rfc",5279 "hash-db",5147 "hash-db",5285 "parity-db",5153 "parity-db",5286 "parity-scale-codec",5154 "parity-scale-codec",5287 "parity-util-mem",5155 "parity-util-mem",5288 "parking_lot 0.10.2",5156 "parking_lot 0.11.1",5289 "sc-client-api",5157 "sc-client-api",5290 "sc-executor",5158 "sc-executor",5291 "sc-state-db",5159 "sc-state-db",530251705303[[package]]5171[[package]]5304name = "sc-consensus"5172name = "sc-consensus"5305version = "0.8.0"5173version = "0.8.1"5306source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5174source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5307dependencies = [5175dependencies = [5308 "sc-client-api",5176 "sc-client-api",5309 "sp-blockchain",5177 "sp-blockchain",531351815314[[package]]5182[[package]]5315name = "sc-consensus-aura"5183name = "sc-consensus-aura"5316version = "0.8.0"5184version = "0.8.1"5317source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5185source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5318dependencies = [5186dependencies = [5319 "derive_more",5187 "derive_more",5320 "futures 0.3.8",5188 "futures 0.3.12",5321 "futures-timer 3.0.2",5189 "futures-timer 3.0.2",5322 "log",5190 "log",5323 "parity-scale-codec",5191 "parity-scale-codec",5324 "parking_lot 0.10.2",5192 "parking_lot 0.11.1",5325 "sc-block-builder",5193 "sc-block-builder",5326 "sc-client-api",5194 "sc-client-api",5327 "sc-consensus-slots",5195 "sc-consensus-slots",5328 "sc-keystore",5329 "sc-telemetry",5196 "sc-telemetry",5330 "sp-api",5197 "sp-api",5331 "sp-application-crypto",5198 "sp-application-crypto",5336 "sp-core",5203 "sp-core",5337 "sp-inherents",5204 "sp-inherents",5338 "sp-io",5205 "sp-io",5206 "sp-keystore",5339 "sp-runtime",5207 "sp-runtime",5340 "sp-timestamp",5208 "sp-timestamp",5341 "sp-version",5209 "sp-version",5342 "substrate-prometheus-endpoint",5210 "substrate-prometheus-endpoint",5343]5211]52125213[[package]]5214name = "sc-consensus-babe"5215version = "0.8.1"5216source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5217dependencies = [5218 "derive_more",5219 "fork-tree",5220 "futures 0.3.12",5221 "futures-timer 3.0.2",5222 "log",5223 "merlin",5224 "num-bigint",5225 "num-rational",5226 "num-traits",5227 "parity-scale-codec",5228 "parking_lot 0.11.1",5229 "pdqselect",5230 "rand 0.7.3",5231 "retain_mut",5232 "sc-client-api",5233 "sc-consensus-epochs",5234 "sc-consensus-slots",5235 "sc-consensus-uncles",5236 "sc-keystore",5237 "sc-telemetry",5238 "schnorrkel",5239 "serde",5240 "sp-api",5241 "sp-application-crypto",5242 "sp-block-builder",5243 "sp-blockchain",5244 "sp-consensus",5245 "sp-consensus-babe",5246 "sp-consensus-vrf",5247 "sp-core",5248 "sp-inherents",5249 "sp-io",5250 "sp-keystore",5251 "sp-runtime",5252 "sp-timestamp",5253 "sp-utils",5254 "sp-version",5255 "substrate-prometheus-endpoint",5256]52575258[[package]]5259name = "sc-consensus-epochs"5260version = "0.8.1"5261source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5262dependencies = [5263 "fork-tree",5264 "parity-scale-codec",5265 "parking_lot 0.11.1",5266 "sc-client-api",5267 "sp-blockchain",5268 "sp-runtime",5269]534452705345[[package]]5271[[package]]5346name = "sc-consensus-slots"5272name = "sc-consensus-slots"5347version = "0.8.0"5273version = "0.8.1"5348source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5274source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5349dependencies = [5275dependencies = [5350 "futures 0.3.8",5276 "futures 0.3.12",5351 "futures-timer 3.0.2",5277 "futures-timer 3.0.2",5352 "log",5278 "log",5353 "parity-scale-codec",5279 "parity-scale-codec",5354 "parking_lot 0.10.2",5280 "parking_lot 0.11.1",5355 "sc-client-api",5281 "sc-client-api",5356 "sc-telemetry",5282 "sc-telemetry",5357 "sp-api",5283 "sp-api",5358 "sp-application-crypto",5284 "sp-application-crypto",5285 "sp-arithmetic",5359 "sp-blockchain",5286 "sp-blockchain",5360 "sp-consensus",5287 "sp-consensus",5361 "sp-consensus-slots",5288 "sp-consensus-slots",5362 "sp-core",5289 "sp-core",5363 "sp-inherents",5290 "sp-inherents",5364 "sp-runtime",5291 "sp-runtime",5365 "sp-state-machine",5292 "sp-state-machine",5293 "sp-trie",5294 "thiserror",5366]5295]52965297[[package]]5298name = "sc-consensus-uncles"5299version = "0.8.1"5300source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5301dependencies = [5302 "log",5303 "sc-client-api",5304 "sp-authorship",5305 "sp-consensus",5306 "sp-core",5307 "sp-inherents",5308 "sp-runtime",5309]536753105368[[package]]5311[[package]]5369name = "sc-executor"5312name = "sc-executor"5370version = "0.8.0"5313version = "0.8.1"5371source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5314source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5372dependencies = [5315dependencies = [5373 "derive_more",5316 "derive_more",5374 "lazy_static",5317 "lazy_static",5375 "libsecp256k1",5318 "libsecp256k1",5376 "log",5319 "log",5377 "parity-scale-codec",5320 "parity-scale-codec",5378 "parity-wasm",5321 "parity-wasm",5379 "parking_lot 0.10.2",5322 "parking_lot 0.11.1",5380 "sc-executor-common",5323 "sc-executor-common",5381 "sc-executor-wasmi",5324 "sc-executor-wasmi",5382 "sc-executor-wasmtime",5325 "sc-executor-wasmtime",5387 "sp-panic-handler",5330 "sp-panic-handler",5388 "sp-runtime-interface",5331 "sp-runtime-interface",5389 "sp-serializer",5332 "sp-serializer",5333 "sp-tasks",5390 "sp-trie",5334 "sp-trie",5391 "sp-version",5335 "sp-version",5392 "sp-wasm-interface",5336 "sp-wasm-interface",539553395396[[package]]5340[[package]]5397name = "sc-executor-common"5341name = "sc-executor-common"5398version = "0.8.0"5342version = "0.8.1"5399source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5343source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5400dependencies = [5344dependencies = [5401 "derive_more",5345 "derive_more",5402 "log",5403 "parity-scale-codec",5346 "parity-scale-codec",5404 "parity-wasm",5347 "parity-wasm",5405 "sp-allocator",5348 "sp-allocator",5406 "sp-core",5349 "sp-core",5407 "sp-runtime-interface",5408 "sp-serializer",5350 "sp-serializer",5409 "sp-wasm-interface",5351 "sp-wasm-interface",5352 "thiserror",5410 "wasmi",5353 "wasmi",5411]5354]541253555413[[package]]5356[[package]]5414name = "sc-executor-wasmi"5357name = "sc-executor-wasmi"5415version = "0.8.0"5358version = "0.8.1"5416source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5359source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5417dependencies = [5360dependencies = [5418 "log",5361 "log",5419 "parity-scale-codec",5362 "parity-scale-codec",542753705428[[package]]5371[[package]]5429name = "sc-executor-wasmtime"5372name = "sc-executor-wasmtime"5430version = "0.8.0"5373version = "0.8.1"5431source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5374source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5432dependencies = [5375dependencies = [5433 "log",5376 "log",5434 "parity-scale-codec",5377 "parity-scale-codec",5435 "parity-wasm",5378 "parity-wasm",5436 "pwasm-utils",5379 "pwasm-utils 0.14.0",5437 "sc-executor-common",5380 "sc-executor-common",5438 "scoped-tls",5381 "scoped-tls",5439 "sp-allocator",5382 "sp-allocator",544553885446[[package]]5389[[package]]5447name = "sc-finality-grandpa"5390name = "sc-finality-grandpa"5448version = "0.8.0"5391version = "0.8.1"5449source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5392source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5450dependencies = [5393dependencies = [5451 "derive_more",5394 "derive_more",5452 "finality-grandpa",5395 "finality-grandpa",5453 "fork-tree",5396 "fork-tree",5454 "futures 0.3.8",5397 "futures 0.3.12",5455 "futures-timer 3.0.2",5398 "futures-timer 3.0.2",5456 "log",5399 "log",5457 "parity-scale-codec",5400 "parity-scale-codec",5458 "parking_lot 0.10.2",5401 "parking_lot 0.11.1",5459 "pin-project 0.4.27",5402 "pin-project 0.4.27",5460 "rand 0.7.3",5403 "rand 0.7.3",5461 "sc-block-builder",5404 "sc-block-builder",5473 "sp-consensus",5416 "sp-consensus",5474 "sp-core",5417 "sp-core",5475 "sp-finality-grandpa",5418 "sp-finality-grandpa",5476 "sp-finality-tracker",5477 "sp-inherents",5419 "sp-inherents",5420 "sp-keystore",5478 "sp-runtime",5421 "sp-runtime",5479 "sp-utils",5422 "sp-utils",5480 "substrate-prometheus-endpoint",5423 "substrate-prometheus-endpoint",5481]5424]548254255483[[package]]5426[[package]]5484name = "sc-informant"5427name = "sc-informant"5485version = "0.8.0"5428version = "0.8.1"5486source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5429source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5487dependencies = [5430dependencies = [5488 "ansi_term 0.12.1",5431 "ansi_term 0.12.1",5489 "futures 0.3.8",5432 "futures 0.3.12",5490 "log",5433 "log",5491 "parity-util-mem",5434 "parity-util-mem",5492 "sc-client-api",5435 "sc-client-api",550054435501[[package]]5444[[package]]5502name = "sc-keystore"5445name = "sc-keystore"5503version = "2.0.0"5446version = "2.0.1"5504source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5447source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5505dependencies = [5448dependencies = [5449 "async-trait",5506 "derive_more",5450 "derive_more",5451 "futures 0.3.12",5452 "futures-util",5507 "hex",5453 "hex",5508 "merlin",5454 "merlin",5509 "parking_lot 0.10.2",5455 "parking_lot 0.11.1",5510 "rand 0.7.3",5456 "rand 0.7.3",5511 "serde_json",5457 "serde_json",5512 "sp-application-crypto",5458 "sp-application-crypto",5513 "sp-core",5459 "sp-core",5460 "sp-keystore",5514 "subtle 2.4.0",5461 "subtle 2.4.0",5515]5462]551654635517[[package]]5464[[package]]5518name = "sc-light"5465name = "sc-light"5519version = "2.0.0"5466version = "2.0.1"5520source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5467source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5521dependencies = [5468dependencies = [5522 "hash-db",5469 "hash-db",5523 "lazy_static",5470 "lazy_static",5524 "parity-scale-codec",5471 "parity-scale-codec",5525 "parking_lot 0.10.2",5472 "parking_lot 0.11.1",5526 "sc-client-api",5473 "sc-client-api",5527 "sc-executor",5474 "sc-executor",5528 "sp-api",5475 "sp-api",553554825536[[package]]5483[[package]]5537name = "sc-network"5484name = "sc-network"5538version = "0.8.0"5485version = "0.8.1"5539source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5486source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5540dependencies = [5487dependencies = [5541 "async-std",5488 "async-std",5542 "async-trait",5489 "async-trait",5490 "asynchronous-codec",5543 "bitflags",5491 "bitflags",5544 "bs58 0.3.1",5492 "bs58",5545 "bytes 0.5.6",5493 "bytes 1.0.1",5546 "derive_more",5494 "derive_more",5547 "either",5495 "either",5548 "erased-serde",5496 "erased-serde",5549 "fnv",5497 "fnv",5550 "fork-tree",5498 "fork-tree",5551 "futures 0.3.8",5499 "futures 0.3.12",5552 "futures-timer 3.0.2",5500 "futures-timer 3.0.2",5553 "futures_codec",5554 "hex",5501 "hex",5555 "ip_network",5502 "ip_network",5556 "libp2p",5503 "libp2p",5557 "linked-hash-map",5504 "linked-hash-map",5558 "linked_hash_set",5505 "linked_hash_set",5559 "log",5506 "log",5560 "lru 0.4.3",5507 "lru",5561 "nohash-hasher",5508 "nohash-hasher",5562 "parity-scale-codec",5509 "parity-scale-codec",5563 "parking_lot 0.10.2",5510 "parking_lot 0.11.1",5564 "pin-project 0.4.27",5511 "pin-project 0.4.27",5565 "prost",5512 "prost",5566 "prost-build",5513 "prost-build",5570 "sc-peerset",5517 "sc-peerset",5571 "serde",5518 "serde",5572 "serde_json",5519 "serde_json",5573 "slog",5574 "slog_derive",5575 "smallvec 0.6.13",5520 "smallvec 1.6.1",5576 "sp-arithmetic",5521 "sp-arithmetic",5577 "sp-blockchain",5522 "sp-blockchain",5578 "sp-consensus",5523 "sp-consensus",5581 "sp-utils",5526 "sp-utils",5582 "substrate-prometheus-endpoint",5527 "substrate-prometheus-endpoint",5583 "thiserror",5528 "thiserror",5584 "unsigned-varint 0.4.0",5529 "unsigned-varint 0.6.0",5585 "void",5530 "void",5586 "wasm-timer",5531 "wasm-timer",5587 "zeroize",5532 "zeroize",5588]5533]558955345590[[package]]5535[[package]]5591name = "sc-network-gossip"5536name = "sc-network-gossip"5592version = "0.8.0"5537version = "0.8.1"5593source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5538source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5594dependencies = [5539dependencies = [5595 "futures 0.3.8",5540 "futures 0.3.12",5596 "futures-timer 3.0.2",5541 "futures-timer 3.0.2",5597 "libp2p",5542 "libp2p",5598 "log",5543 "log",5599 "lru 0.4.3",5544 "lru",5600 "sc-network",5545 "sc-network",5601 "sp-runtime",5546 "sp-runtime",5547 "substrate-prometheus-endpoint",5602 "wasm-timer",5548 "wasm-timer",5603]5549]560455505605[[package]]5551[[package]]5606name = "sc-offchain"5552name = "sc-offchain"5607version = "2.0.0"5553version = "2.0.1"5608source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5554source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5609dependencies = [5555dependencies = [5610 "bytes 0.5.6",5556 "bytes 0.5.6",5611 "fnv",5557 "fnv",5612 "futures 0.3.8",5558 "futures 0.3.12",5613 "futures-timer 3.0.2",5559 "futures-timer 3.0.2",5614 "hyper 0.13.9",5560 "hyper 0.13.9",5615 "hyper-rustls",5561 "hyper-rustls",5616 "log",5562 "log",5617 "num_cpus",5563 "num_cpus",5618 "parity-scale-codec",5564 "parity-scale-codec",5619 "parking_lot 0.10.2",5565 "parking_lot 0.11.1",5620 "rand 0.7.3",5566 "rand 0.7.3",5621 "sc-client-api",5567 "sc-client-api",5622 "sc-keystore",5568 "sc-keystore",563155775632[[package]]5578[[package]]5633name = "sc-peerset"5579name = "sc-peerset"5634version = "2.0.0"5580version = "2.0.1"5635source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5581source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5636dependencies = [5582dependencies = [5637 "futures 0.3.8",5583 "futures 0.3.12",5638 "libp2p",5584 "libp2p",5639 "log",5585 "log",5640 "serde_json",5586 "serde_json",564455905645[[package]]5591[[package]]5646name = "sc-proposer-metrics"5592name = "sc-proposer-metrics"5647version = "0.8.0"5593version = "0.8.1"5648source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5594source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5649dependencies = [5595dependencies = [5650 "log",5596 "log",5651 "substrate-prometheus-endpoint",5597 "substrate-prometheus-endpoint",5652]5598]565355995654[[package]]5600[[package]]5655name = "sc-rpc"5601name = "sc-rpc"5656version = "2.0.0"5602version = "2.0.1"5657source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5603source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5658dependencies = [5604dependencies = [5659 "futures 0.3.8",5605 "futures 0.3.12",5660 "hash-db",5606 "hash-db",5661 "jsonrpc-core",5607 "jsonrpc-core",5662 "jsonrpc-pubsub",5608 "jsonrpc-pubsub",5663 "log",5609 "log",5664 "parity-scale-codec",5610 "parity-scale-codec",5665 "parking_lot 0.10.2",5611 "parking_lot 0.11.1",5666 "sc-block-builder",5612 "sc-block-builder",5667 "sc-client-api",5613 "sc-client-api",5668 "sc-executor",5614 "sc-executor",5669 "sc-keystore",5615 "sc-keystore",5670 "sc-rpc-api",5616 "sc-rpc-api",5617 "sc-tracing",5671 "serde_json",5618 "serde_json",5672 "sp-api",5619 "sp-api",5673 "sp-blockchain",5620 "sp-blockchain",5674 "sp-chain-spec",5621 "sp-chain-spec",5675 "sp-core",5622 "sp-core",5623 "sp-keystore",5676 "sp-offchain",5624 "sp-offchain",5677 "sp-rpc",5625 "sp-rpc",5678 "sp-runtime",5626 "sp-runtime",568556335686[[package]]5634[[package]]5687name = "sc-rpc-api"5635name = "sc-rpc-api"5688version = "0.8.0"5636version = "0.8.1"5689source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5637source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5690dependencies = [5638dependencies = [5691 "derive_more",5639 "derive_more",5692 "futures 0.3.8",5640 "futures 0.3.12",5693 "jsonrpc-core",5641 "jsonrpc-core",5694 "jsonrpc-core-client",5642 "jsonrpc-core-client",5695 "jsonrpc-derive",5643 "jsonrpc-derive",5696 "jsonrpc-pubsub",5644 "jsonrpc-pubsub",5697 "log",5645 "log",5698 "parity-scale-codec",5646 "parity-scale-codec",5699 "parking_lot 0.10.2",5647 "parking_lot 0.11.1",5700 "serde",5648 "serde",5701 "serde_json",5649 "serde_json",5702 "sp-chain-spec",5650 "sp-chain-spec",570956575710[[package]]5658[[package]]5711name = "sc-rpc-server"5659name = "sc-rpc-server"5712version = "2.0.0"5660version = "2.0.1"5713source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5661source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5714dependencies = [5662dependencies = [5715 "futures 0.1.30",5663 "futures 0.1.30",5716 "jsonrpc-core",5664 "jsonrpc-core",572756755728[[package]]5676[[package]]5729name = "sc-service"5677name = "sc-service"5730version = "0.8.0"5678version = "0.8.1"5731source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5679source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5732dependencies = [5680dependencies = [5733 "derive_more",5734 "directories",5681 "directories 3.0.1",5735 "exit-future",5682 "exit-future",5736 "futures 0.1.30",5683 "futures 0.1.30",5737 "futures 0.3.8",5684 "futures 0.3.12",5738 "futures-timer 3.0.2",5685 "futures-timer 3.0.2",5739 "hash-db",5686 "hash-db",5740 "jsonrpc-core",5687 "jsonrpc-core",5743 "log",5690 "log",5744 "parity-scale-codec",5691 "parity-scale-codec",5745 "parity-util-mem",5692 "parity-util-mem",5746 "parking_lot 0.10.2",5693 "parking_lot 0.11.1",5747 "pin-project 0.4.27",5694 "pin-project 0.4.27",5748 "rand 0.7.3",5695 "rand 0.7.3",5749 "sc-block-builder",5696 "sc-block-builder",5763 "sc-transaction-pool",5710 "sc-transaction-pool",5764 "serde",5711 "serde",5765 "serde_json",5712 "serde_json",5766 "slog",5767 "sp-api",5713 "sp-api",5768 "sp-application-crypto",5714 "sp-application-crypto",5769 "sp-block-builder",5715 "sp-block-builder",5773 "sp-externalities",5719 "sp-externalities",5774 "sp-inherents",5720 "sp-inherents",5775 "sp-io",5721 "sp-io",5722 "sp-keystore",5776 "sp-runtime",5723 "sp-runtime",5777 "sp-session",5724 "sp-session",5778 "sp-state-machine",5725 "sp-state-machine",5783 "sp-version",5730 "sp-version",5784 "substrate-prometheus-endpoint",5731 "substrate-prometheus-endpoint",5785 "tempfile",5732 "tempfile",5733 "thiserror",5786 "tracing",5734 "tracing",5735 "tracing-futures",5787 "wasm-timer",5736 "wasm-timer",5788]5737]578957385790[[package]]5739[[package]]5791name = "sc-state-db"5740name = "sc-state-db"5792version = "0.8.0"5741version = "0.8.1"5793source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5742source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5794dependencies = [5743dependencies = [5795 "log",5744 "log",5796 "parity-scale-codec",5745 "parity-scale-codec",5797 "parity-util-mem",5746 "parity-util-mem",5798 "parity-util-mem-derive",5747 "parity-util-mem-derive",5799 "parking_lot 0.10.2",5748 "parking_lot 0.11.1",5800 "sc-client-api",5749 "sc-client-api",5801 "sp-core",5750 "sp-core",5751 "thiserror",5802]5752]580357535804[[package]]5754[[package]]5805name = "sc-telemetry"5755name = "sc-telemetry"5806version = "2.0.0"5756version = "2.0.1"5807source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5757source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5808dependencies = [5758dependencies = [5809 "futures 0.3.8",5759 "chrono",5810 "futures-timer 3.0.2",5760 "futures 0.3.12",5811 "libp2p",5761 "libp2p",5812 "log",5762 "log",5813 "parking_lot 0.10.2",5763 "parking_lot 0.11.1",5814 "pin-project 0.4.27",5764 "pin-project 0.4.27",5815 "rand 0.7.3",5765 "rand 0.7.3",5816 "serde",5766 "serde",5817 "slog",5818 "slog-json",5767 "serde_json",5819 "slog-scope",5768 "sp-utils",5820 "take_mut",5769 "take_mut",5770 "tracing",5771 "tracing-subscriber",5821 "void",5772 "void",5822 "wasm-timer",5773 "wasm-timer",5823]5774]582457755825[[package]]5776[[package]]5826name = "sc-tracing"5777name = "sc-tracing"5827version = "2.0.0"5778version = "2.0.1"5828source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5779source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5829dependencies = [5780dependencies = [5781 "ansi_term 0.12.1",5782 "atty",5830 "erased-serde",5783 "erased-serde",5784 "lazy_static",5831 "log",5785 "log",5786 "once_cell",5832 "parking_lot 0.10.2",5787 "parking_lot 0.11.1",5788 "regex",5833 "rustc-hash",5789 "rustc-hash",5834 "sc-telemetry",5790 "sc-telemetry",5791 "sc-tracing-proc-macro",5835 "serde",5792 "serde",5836 "serde_json",5793 "serde_json",5837 "slog",5838 "sp-tracing",5794 "sp-tracing",5795 "thiserror",5839 "tracing",5796 "tracing",5840 "tracing-core",5797 "tracing-core",5798 "tracing-log",5841 "tracing-subscriber",5799 "tracing-subscriber",5800 "wasm-bindgen",5801 "web-sys",5842]5802]58035804[[package]]5805name = "sc-tracing-proc-macro"5806version = "2.0.0"5807source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5808dependencies = [5809 "proc-macro-crate",5810 "proc-macro2",5811 "quote",5812 "syn",5813]584358145844[[package]]5815[[package]]5845name = "sc-transaction-graph"5816name = "sc-transaction-graph"5846version = "2.0.0"5817version = "2.0.1"5847source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5818source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5848dependencies = [5819dependencies = [5849 "derive_more",5820 "derive_more",5850 "futures 0.3.8",5821 "futures 0.3.12",5851 "linked-hash-map",5822 "linked-hash-map",5852 "log",5823 "log",5853 "parity-util-mem",5824 "parity-util-mem",5854 "parking_lot 0.10.2",5825 "parking_lot 0.11.1",5855 "retain_mut",5826 "retain_mut",5856 "serde",5827 "serde",5857 "sp-blockchain",5828 "sp-blockchain",5858 "sp-core",5829 "sp-core",5859 "sp-runtime",5830 "sp-runtime",5860 "sp-transaction-pool",5831 "sp-transaction-pool",5861 "sp-utils",5832 "sp-utils",5833 "thiserror",5862 "wasm-timer",5834 "wasm-timer",5863]5835]586458365865[[package]]5837[[package]]5866name = "sc-transaction-pool"5838name = "sc-transaction-pool"5867version = "2.0.0"5839version = "2.0.1"5868source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"5840source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"5869dependencies = [5841dependencies = [5870 "derive_more",5871 "futures 0.3.8",5842 "futures 0.3.12",5872 "futures-diagnose",5843 "futures-diagnose",5873 "intervalier",5844 "intervalier",5874 "log",5845 "log",5875 "parity-scale-codec",5846 "parity-scale-codec",5876 "parity-util-mem",5847 "parity-util-mem",5877 "parking_lot 0.10.2",5848 "parking_lot 0.11.1",5878 "sc-client-api",5849 "sc-client-api",5879 "sc-transaction-graph",5850 "sc-transaction-graph",5880 "sp-api",5851 "sp-api",5885 "sp-transaction-pool",5856 "sp-transaction-pool",5886 "sp-utils",5857 "sp-utils",5887 "substrate-prometheus-endpoint",5858 "substrate-prometheus-endpoint",5859 "thiserror",5888 "wasm-timer",5860 "wasm-timer",5889]5861]589058625906dependencies = [5878dependencies = [5907 "arrayref",5879 "arrayref",5908 "arrayvec 0.5.2",5880 "arrayvec 0.5.2",5909 "curve25519-dalek 2.1.0",5881 "curve25519-dalek 2.1.2",5910 "getrandom 0.1.15",5882 "getrandom 0.1.16",5911 "merlin",5883 "merlin",5912 "rand 0.7.3",5884 "rand 0.7.3",5913 "rand_core 0.5.1",5885 "rand_core 0.5.1",5886 "serde",5914 "sha2 0.8.2",5887 "sha2 0.8.2",5915 "subtle 2.4.0",5888 "subtle 2.4.0",5916 "zeroize",5889 "zeroize",5922source = "registry+https://github.com/rust-lang/crates.io-index"5895source = "registry+https://github.com/rust-lang/crates.io-index"5923checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"5896checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"59245925[[package]]5926name = "scopeguard"5927version = "0.3.3"5928source = "registry+https://github.com/rust-lang/crates.io-index"5929checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"593058975931[[package]]5898[[package]]5932name = "scopeguard"5899name = "scopeguard"596659335967[[package]]5934[[package]]5968name = "secrecy"5935name = "secrecy"5969version = "0.6.0"5936version = "0.7.0"5970source = "registry+https://github.com/rust-lang/crates.io-index"5937source = "registry+https://github.com/rust-lang/crates.io-index"5971checksum = "9182278ed645df3477a9c27bfee0621c621aa16f6972635f7f795dae3d81070f"5938checksum = "0673d6a6449f5e7d12a1caf424fd9363e2af3a4953023ed455e3c4beef4597c0"5972dependencies = [5939dependencies = [5973 "zeroize",5940 "zeroize",5974]5941]601359806014[[package]]5981[[package]]6015name = "serde"5982name = "serde"6016version = "1.0.118"5983version = "1.0.120"6017source = "registry+https://github.com/rust-lang/crates.io-index"5984source = "registry+https://github.com/rust-lang/crates.io-index"6018checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800"5985checksum = "166b2349061381baf54a58e4b13c89369feb0ef2eaa57198899e2312aac30aab"6019dependencies = [5986dependencies = [6020 "serde_derive",5987 "serde_derive",6021]5988]602259896023[[package]]5990[[package]]6024name = "serde_derive"5991name = "serde_derive"6025version = "1.0.118"5992version = "1.0.120"6026source = "registry+https://github.com/rust-lang/crates.io-index"5993source = "registry+https://github.com/rust-lang/crates.io-index"6027checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df"5994checksum = "0ca2a8cb5805ce9e3b95435e3765b7b553cecc762d938d409434338386cb5775"6028dependencies = [5995dependencies = [6029 "proc-macro2",5996 "proc-macro2",6030 "quote",5997 "quote",603360006034[[package]]6001[[package]]6035name = "serde_json"6002name = "serde_json"6036version = "1.0.60"6003version = "1.0.61"6037source = "registry+https://github.com/rust-lang/crates.io-index"6004source = "registry+https://github.com/rust-lang/crates.io-index"6038checksum = "1500e84d27fe482ed1dc791a56eddc2f230046a040fa908c08bda1d9fb615779"6005checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"6039dependencies = [6006dependencies = [6040 "itoa",6007 "itoa",6041 "ryu",6008 "ryu",610660736107[[package]]6074[[package]]6108name = "sharded-slab"6075name = "sharded-slab"6109version = "0.1.0"6076version = "0.1.1"6110source = "registry+https://github.com/rust-lang/crates.io-index"6077source = "registry+https://github.com/rust-lang/crates.io-index"6111checksum = "7b4921be914e16899a80adefb821f8ddb7974e3f1250223575a44ed994882127"6078checksum = "79c719719ee05df97490f80a45acfc99e5a30ce98a1e4fb67aee422745ae14e3"6112dependencies = [6079dependencies = [6113 "lazy_static",6080 "lazy_static",6114 "loom",6115]6081]611660826117[[package]]6083[[package]]612260886123[[package]]6089[[package]]6124name = "signal-hook"6090name = "signal-hook"6125version = "0.1.16"6091version = "0.1.17"6126source = "registry+https://github.com/rust-lang/crates.io-index"6092source = "registry+https://github.com/rust-lang/crates.io-index"6127checksum = "604508c1418b99dfe1925ca9224829bb2a8a9a04dda655cc01fcad46f4ab05ed"6093checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729"6128dependencies = [6094dependencies = [6129 "libc",6095 "libc",6130 "signal-hook-registry",6096 "signal-hook-registry",6131]6097]613260986133[[package]]6099[[package]]6134name = "signal-hook-registry"6100name = "signal-hook-registry"6135version = "1.2.2"6101version = "1.3.0"6136source = "registry+https://github.com/rust-lang/crates.io-index"6102source = "registry+https://github.com/rust-lang/crates.io-index"6137checksum = "ce32ea0c6c56d5eacaeb814fbed9960547021d3edd010ded1425f180536b20ab"6103checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"6138dependencies = [6104dependencies = [6139 "libc",6105 "libc",6140]6106]614161076142[[package]]6108[[package]]6143name = "signature"6109name = "signature"6144version = "1.2.2"6110version = "1.3.0"6145source = "registry+https://github.com/rust-lang/crates.io-index"6111source = "registry+https://github.com/rust-lang/crates.io-index"6146checksum = "29f060a7d147e33490ec10da418795238fd7545bba241504d6b31a409f2e6210"6112checksum = "0f0242b8e50dd9accdd56170e94ca1ebd223b098eb9c83539a6e367d0f36ae68"61136114[[package]]6115name = "simba"6116version = "0.1.5"6117source = "registry+https://github.com/rust-lang/crates.io-index"6118checksum = "fb931b1367faadea6b1ab1c306a860ec17aaa5fa39f367d0c744e69d971a1fb2"6119dependencies = [6120 "approx",6121 "num-complex",6122 "num-traits",6123 "paste",6124]614761256148[[package]]6126[[package]]6149name = "slab"6127name = "slab"6150version = "0.4.2"6128version = "0.4.2"6151source = "registry+https://github.com/rust-lang/crates.io-index"6129source = "registry+https://github.com/rust-lang/crates.io-index"6152checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"6130checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"61536154[[package]]6155name = "slog"6156version = "2.7.0"6157source = "registry+https://github.com/rust-lang/crates.io-index"6158checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06"6159dependencies = [6160 "erased-serde",6161]61626163[[package]]6164name = "slog-json"6165version = "2.3.0"6166source = "registry+https://github.com/rust-lang/crates.io-index"6167checksum = "ddc0d2aff1f8f325ef660d9a0eb6e6dcd20b30b3f581a5897f58bf42d061c37a"6168dependencies = [6169 "chrono",6170 "erased-serde",6171 "serde",6172 "serde_json",6173 "slog",6174]61756176[[package]]6177name = "slog-scope"6178version = "4.3.0"6179source = "registry+https://github.com/rust-lang/crates.io-index"6180checksum = "7c44c89dd8b0ae4537d1ae318353eaf7840b4869c536e31c41e963d1ea523ee6"6181dependencies = [6182 "arc-swap",6183 "lazy_static",6184 "slog",6185]61866187[[package]]6188name = "slog_derive"6189version = "0.2.0"6190source = "registry+https://github.com/rust-lang/crates.io-index"6191checksum = "a945ec7f7ce853e89ffa36be1e27dce9a43e82ff9093bf3461c30d5da74ed11b"6192dependencies = [6193 "proc-macro2",6194 "quote",6195 "syn",6196]619761316198[[package]]6132[[package]]6199name = "smallvec"6133name = "smallvec"6200version = "0.6.13"6134version = "0.6.14"6201source = "registry+https://github.com/rust-lang/crates.io-index"6135source = "registry+https://github.com/rust-lang/crates.io-index"6202checksum = "f7b0758c52e15a8b5e3691eae6cc559f08eee9406e548a4477ba4e67770a82b6"6136checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"6203dependencies = [6137dependencies = [6204 "maybe-uninit",6138 "maybe-uninit",6205]6139]620661406207[[package]]6141[[package]]6208name = "smallvec"6142name = "smallvec"6209version = "1.5.1"6143version = "1.6.1"6210source = "registry+https://github.com/rust-lang/crates.io-index"6144source = "registry+https://github.com/rust-lang/crates.io-index"6211checksum = "ae524f056d7d770e174287294f562e95044c68e88dec909a00d2094805db9d75"6145checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"621261466213[[package]]6147[[package]]6214name = "snow"6148name = "snow"6225 "rustc_version",6159 "rustc_version",6226 "sha2 0.9.2",6160 "sha2 0.9.2",6227 "subtle 2.4.0",6161 "subtle 2.4.0",6228 "x25519-dalek 1.1.0",6162 "x25519-dalek",6229]6163]623061646231[[package]]6165[[package]]6232name = "socket2"6166name = "socket2"6233version = "0.3.18"6167version = "0.3.19"6234source = "registry+https://github.com/rust-lang/crates.io-index"6168source = "registry+https://github.com/rust-lang/crates.io-index"6235checksum = "97e0e9fd577458a4f61fb91fcb559ea2afecc54c934119421f9f5d3d5b1a1057"6169checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"6236dependencies = [6170dependencies = [6237 "cfg-if 1.0.0",6171 "cfg-if 1.0.0",6238 "libc",6172 "libc",6248 "base64 0.12.3",6182 "base64 0.12.3",6249 "bytes 0.5.6",6183 "bytes 0.5.6",6250 "flate2",6184 "flate2",6251 "futures 0.3.8",6185 "futures 0.3.12",6252 "httparse",6186 "httparse",6253 "log",6187 "log",6254 "rand 0.7.3",6188 "rand 0.7.3",625761916258[[package]]6192[[package]]6259name = "sp-allocator"6193name = "sp-allocator"6260version = "2.0.0"6194version = "2.0.1"6261source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6195source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6262dependencies = [6196dependencies = [6263 "derive_more",6264 "log",6197 "log",6265 "sp-core",6198 "sp-core",6266 "sp-std",6199 "sp-std",6267 "sp-wasm-interface",6200 "sp-wasm-interface",6201 "thiserror",6268]6202]626962036270[[package]]6204[[package]]6271name = "sp-api"6205name = "sp-api"6272version = "2.0.0"6206version = "2.0.1"6273source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6207source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6274dependencies = [6208dependencies = [6275 "hash-db",6209 "hash-db",6276 "parity-scale-codec",6210 "parity-scale-codec",6280 "sp-state-machine",6214 "sp-state-machine",6281 "sp-std",6215 "sp-std",6282 "sp-version",6216 "sp-version",6217 "thiserror",6283]6218]628462196285[[package]]6220[[package]]6286name = "sp-api-proc-macro"6221name = "sp-api-proc-macro"6287version = "2.0.0"6222version = "2.0.1"6288source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6223source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6289dependencies = [6224dependencies = [6290 "blake2-rfc",6225 "blake2-rfc",6291 "proc-macro-crate",6226 "proc-macro-crate",629662316297[[package]]6232[[package]]6298name = "sp-application-crypto"6233name = "sp-application-crypto"6299version = "2.0.0"6234version = "2.0.1"6300source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6235source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6301dependencies = [6236dependencies = [6302 "parity-scale-codec",6237 "parity-scale-codec",6303 "serde",6238 "serde",630862436309[[package]]6244[[package]]6310name = "sp-arithmetic"6245name = "sp-arithmetic"6311version = "2.0.0"6246version = "2.0.1"6312source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6247source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6313dependencies = [6248dependencies = [6314 "integer-sqrt",6249 "integer-sqrt",6315 "num-traits",6250 "num-traits",632162566322[[package]]6257[[package]]6323name = "sp-authorship"6258name = "sp-authorship"6324version = "2.0.0"6259version = "2.0.1"6325source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6260source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6326dependencies = [6261dependencies = [6327 "parity-scale-codec",6262 "parity-scale-codec",6328 "sp-inherents",6263 "sp-inherents",633262676333[[package]]6268[[package]]6334name = "sp-block-builder"6269name = "sp-block-builder"6335version = "2.0.0"6270version = "2.0.1"6336source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6271source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6337dependencies = [6272dependencies = [6338 "parity-scale-codec",6273 "parity-scale-codec",6339 "sp-api",6274 "sp-api",634462796345[[package]]6280[[package]]6346name = "sp-blockchain"6281name = "sp-blockchain"6347version = "2.0.0"6282version = "2.0.1"6348source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6283source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6349dependencies = [6284dependencies = [6350 "derive_more",6285 "futures 0.3.12",6351 "log",6286 "log",6352 "lru 0.4.3",6287 "lru",6353 "parity-scale-codec",6288 "parity-scale-codec",6354 "parking_lot 0.10.2",6289 "parking_lot 0.11.1",6355 "sp-block-builder",6290 "sp-api",6356 "sp-consensus",6291 "sp-consensus",6357 "sp-database",6292 "sp-database",6358 "sp-runtime",6293 "sp-runtime",6359 "sp-state-machine",6294 "sp-state-machine",6295 "thiserror",6360]6296]636162976362[[package]]6298[[package]]6363name = "sp-chain-spec"6299name = "sp-chain-spec"6364version = "2.0.0"6300version = "2.0.1"6365source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6301source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6366dependencies = [6302dependencies = [6367 "serde",6303 "serde",6368 "serde_json",6304 "serde_json",6369]6305]637063066371[[package]]6307[[package]]6372name = "sp-consensus"6308name = "sp-consensus"6373version = "0.8.0"6309version = "0.8.1"6374source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6310source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6375dependencies = [6311dependencies = [6376 "derive_more",6377 "futures 0.3.8",6312 "futures 0.3.12",6378 "futures-timer 3.0.2",6313 "futures-timer 3.0.2",6379 "libp2p",6314 "libp2p",6380 "log",6315 "log",6381 "parity-scale-codec",6316 "parity-scale-codec",6382 "parking_lot 0.10.2",6317 "parking_lot 0.11.1",6383 "serde",6318 "serde",6384 "sp-api",6319 "sp-api",6385 "sp-core",6320 "sp-core",6391 "sp-utils",6326 "sp-utils",6392 "sp-version",6327 "sp-version",6393 "substrate-prometheus-endpoint",6328 "substrate-prometheus-endpoint",6329 "thiserror",6394 "wasm-timer",6330 "wasm-timer",6395]6331]639663326397[[package]]6333[[package]]6398name = "sp-consensus-aura"6334name = "sp-consensus-aura"6399version = "0.8.0"6335version = "0.8.1"6400source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6336source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6401dependencies = [6337dependencies = [6402 "parity-scale-codec",6338 "parity-scale-codec",6403 "sp-api",6339 "sp-api",6408 "sp-timestamp",6344 "sp-timestamp",6409]6345]63466347[[package]]6348name = "sp-consensus-babe"6349version = "0.8.1"6350source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6351dependencies = [6352 "merlin",6353 "parity-scale-codec",6354 "sp-api",6355 "sp-application-crypto",6356 "sp-consensus",6357 "sp-consensus-slots",6358 "sp-consensus-vrf",6359 "sp-core",6360 "sp-inherents",6361 "sp-keystore",6362 "sp-runtime",6363 "sp-std",6364 "sp-timestamp",6365]641063666411[[package]]6367[[package]]6412name = "sp-consensus-slots"6368name = "sp-consensus-slots"6413version = "0.8.0"6369version = "0.8.1"6414source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6370source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6415dependencies = [6371dependencies = [6416 "parity-scale-codec",6372 "parity-scale-codec",6417 "sp-runtime",6373 "sp-runtime",6418]6374]63756376[[package]]6377name = "sp-consensus-vrf"6378version = "0.8.1"6379source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6380dependencies = [6381 "parity-scale-codec",6382 "schnorrkel",6383 "sp-core",6384 "sp-runtime",6385 "sp-std",6386]641963876420[[package]]6388[[package]]6421name = "sp-core"6389name = "sp-core"6422version = "2.0.0"6390version = "2.0.1"6423source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6391source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6424dependencies = [6392dependencies = [6425 "base58",6393 "base58",6426 "blake2-rfc",6394 "blake2-rfc",6427 "byteorder 1.3.4",6395 "byteorder",6428 "derive_more",6429 "dyn-clonable",6396 "dyn-clonable",6430 "ed25519-dalek",6397 "ed25519-dalek",6431 "futures 0.3.8",6398 "futures 0.3.12",6432 "hash-db",6399 "hash-db",6433 "hash256-std-hasher",6400 "hash256-std-hasher",6434 "hex",6401 "hex",6440 "num-traits",6407 "num-traits",6441 "parity-scale-codec",6408 "parity-scale-codec",6442 "parity-util-mem",6409 "parity-util-mem",6443 "parking_lot 0.10.2",6410 "parking_lot 0.11.1",6444 "primitive-types",6411 "primitive-types",6445 "rand 0.7.3",6412 "rand 0.7.3",6446 "regex",6413 "regex",6447 "schnorrkel",6414 "schnorrkel",6448 "secrecy",6415 "secrecy",6449 "serde",6416 "serde",6450 "sha2 0.8.2",6417 "sha2 0.9.2",6451 "sp-debug-derive",6418 "sp-debug-derive",6452 "sp-externalities",6419 "sp-externalities",6453 "sp-runtime-interface",6420 "sp-runtime-interface",6454 "sp-std",6421 "sp-std",6455 "sp-storage",6422 "sp-storage",6456 "substrate-bip39",6423 "substrate-bip39",6424 "thiserror",6457 "tiny-bip39",6425 "tiny-bip39",6458 "tiny-keccak",6426 "tiny-keccak",6459 "twox-hash",6427 "twox-hash",646364316464[[package]]6432[[package]]6465name = "sp-database"6433name = "sp-database"6466version = "2.0.0"6434version = "2.0.1"6467source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6435source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6468dependencies = [6436dependencies = [6469 "kvdb",6437 "kvdb",6470 "parking_lot 0.10.2",6438 "parking_lot 0.11.1",6471]6439]647264406473[[package]]6441[[package]]6474name = "sp-debug-derive"6442name = "sp-debug-derive"6475version = "2.0.0"6443version = "2.0.1"6476source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6444source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6477dependencies = [6445dependencies = [6478 "proc-macro2",6446 "proc-macro2",6479 "quote",6447 "quote",648264506483[[package]]6451[[package]]6484name = "sp-externalities"6452name = "sp-externalities"6485version = "0.8.0"6453version = "0.8.1"6486source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6454source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6487dependencies = [6455dependencies = [6488 "environmental",6456 "environmental",6489 "parity-scale-codec",6457 "parity-scale-codec",649364616494[[package]]6462[[package]]6495name = "sp-finality-grandpa"6463name = "sp-finality-grandpa"6496version = "2.0.0"6464version = "2.0.1"6497source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6465source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6498dependencies = [6466dependencies = [6499 "finality-grandpa",6467 "finality-grandpa",6500 "log",6468 "log",6503 "sp-api",6471 "sp-api",6504 "sp-application-crypto",6472 "sp-application-crypto",6505 "sp-core",6473 "sp-core",6474 "sp-keystore",6506 "sp-runtime",6475 "sp-runtime",6507 "sp-std",6476 "sp-std",6508]6477]65096510[[package]]6511name = "sp-finality-tracker"6512version = "2.0.0"6513source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6514dependencies = [6515 "parity-scale-codec",6516 "sp-inherents",6517 "sp-std",6518]651964786520[[package]]6479[[package]]6521name = "sp-inherents"6480name = "sp-inherents"6522version = "2.0.0"6481version = "2.0.1"6523source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6482source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6524dependencies = [6483dependencies = [6525 "derive_more",6526 "parity-scale-codec",6484 "parity-scale-codec",6527 "parking_lot 0.10.2",6485 "parking_lot 0.11.1",6528 "sp-core",6486 "sp-core",6529 "sp-std",6487 "sp-std",6488 "thiserror",6530]6489]653164906532[[package]]6491[[package]]6533name = "sp-io"6492name = "sp-io"6534version = "2.0.0"6493version = "2.0.1"6535source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6494source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6536dependencies = [6495dependencies = [6537 "futures 0.3.8",6496 "futures 0.3.12",6538 "hash-db",6497 "hash-db",6539 "libsecp256k1",6498 "libsecp256k1",6540 "log",6499 "log",6541 "parity-scale-codec",6500 "parity-scale-codec",6542 "parking_lot 0.10.2",6501 "parking_lot 0.11.1",6543 "sp-core",6502 "sp-core",6544 "sp-externalities",6503 "sp-externalities",6504 "sp-keystore",6545 "sp-runtime-interface",6505 "sp-runtime-interface",6546 "sp-state-machine",6506 "sp-state-machine",6547 "sp-std",6507 "sp-std",655465146555[[package]]6515[[package]]6556name = "sp-keyring"6516name = "sp-keyring"6557version = "2.0.0"6517version = "2.0.1"6558source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6518source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6559dependencies = [6519dependencies = [6560 "lazy_static",6520 "lazy_static",6561 "sp-core",6521 "sp-core",6562 "sp-runtime",6522 "sp-runtime",6563 "strum",6523 "strum",6564]6524]65256526[[package]]6527name = "sp-keystore"6528version = "0.8.0"6529source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6530dependencies = [6531 "async-trait",6532 "derive_more",6533 "futures 0.3.12",6534 "merlin",6535 "parity-scale-codec",6536 "parking_lot 0.11.1",6537 "schnorrkel",6538 "serde",6539 "sp-core",6540 "sp-externalities",6541]656565426566[[package]]6543[[package]]6567name = "sp-offchain"6544name = "sp-offchain"6568version = "2.0.0"6545version = "2.0.1"6569source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6546source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6570dependencies = [6547dependencies = [6571 "sp-api",6548 "sp-api",6572 "sp-core",6549 "sp-core",657565526576[[package]]6553[[package]]6577name = "sp-panic-handler"6554name = "sp-panic-handler"6578version = "2.0.0"6555version = "2.0.1"6579source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6556source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6580dependencies = [6557dependencies = [6581 "backtrace",6558 "backtrace",6582 "log",6583]6559]658465606585[[package]]6561[[package]]6586name = "sp-rpc"6562name = "sp-rpc"6587version = "2.0.0"6563version = "2.0.1"6588source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6564source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6589dependencies = [6565dependencies = [6590 "serde",6566 "serde",6591 "sp-core",6567 "sp-core",6592]6568]659365696594[[package]]6570[[package]]6595name = "sp-runtime"6571name = "sp-runtime"6596version = "2.0.0"6572version = "2.0.1"6597source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6573source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6598dependencies = [6574dependencies = [6599 "either",6575 "either",6600 "hash256-std-hasher",6576 "hash256-std-hasher",6601 "impl-trait-for-tuples",6577 "impl-trait-for-tuples 0.2.0",6602 "log",6578 "log",6603 "parity-scale-codec",6579 "parity-scale-codec",6604 "parity-util-mem",6580 "parity-util-mem",6608 "sp-application-crypto",6584 "sp-application-crypto",6609 "sp-arithmetic",6585 "sp-arithmetic",6610 "sp-core",6586 "sp-core",6611 "sp-inherents",6612 "sp-io",6587 "sp-io",6613 "sp-std",6588 "sp-std",6614]6589]661565906616[[package]]6591[[package]]6617name = "sp-runtime-interface"6592name = "sp-runtime-interface"6618version = "2.0.0"6593version = "2.0.1"6619source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6594source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6620dependencies = [6595dependencies = [6596 "impl-trait-for-tuples 0.2.0",6621 "parity-scale-codec",6597 "parity-scale-codec",6622 "primitive-types",6598 "primitive-types",6623 "sp-externalities",6599 "sp-externalities",663166076632[[package]]6608[[package]]6633name = "sp-runtime-interface-proc-macro"6609name = "sp-runtime-interface-proc-macro"6634version = "2.0.0"6610version = "2.0.1"6635source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6611source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6636dependencies = [6612dependencies = [6637 "Inflector",6613 "Inflector",6638 "proc-macro-crate",6614 "proc-macro-crate",664366196644[[package]]6620[[package]]6645name = "sp-sandbox"6621name = "sp-sandbox"6646version = "0.8.0"6622version = "0.8.1"6647source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6623source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6648dependencies = [6624dependencies = [6649 "parity-scale-codec",6625 "parity-scale-codec",6650 "sp-core",6626 "sp-core",665666326657[[package]]6633[[package]]6658name = "sp-serializer"6634name = "sp-serializer"6659version = "2.0.0"6635version = "2.0.1"6660source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6636source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6661dependencies = [6637dependencies = [6662 "serde",6638 "serde",6663 "serde_json",6639 "serde_json",6664]6640]666566416666[[package]]6642[[package]]6667name = "sp-session"6643name = "sp-session"6668version = "2.0.0"6644version = "2.0.1"6669source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6645source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6670dependencies = [6646dependencies = [6671 "parity-scale-codec",6647 "parity-scale-codec",6672 "sp-api",6648 "sp-api",667866546679[[package]]6655[[package]]6680name = "sp-staking"6656name = "sp-staking"6681version = "2.0.0"6657version = "2.0.1"6682source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6658source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6683dependencies = [6659dependencies = [6684 "parity-scale-codec",6660 "parity-scale-codec",6685 "sp-runtime",6661 "sp-runtime",668866646689[[package]]6665[[package]]6690name = "sp-state-machine"6666name = "sp-state-machine"6691version = "0.8.0"6667version = "0.8.1"6692source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6668source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6693dependencies = [6669dependencies = [6694 "hash-db",6670 "hash-db",6695 "log",6671 "log",6696 "num-traits",6672 "num-traits",6697 "parity-scale-codec",6673 "parity-scale-codec",6698 "parking_lot 0.10.2",6674 "parking_lot 0.11.1",6699 "rand 0.7.3",6675 "rand 0.7.3",6700 "smallvec 1.5.1",6676 "smallvec 1.6.1",6701 "sp-core",6677 "sp-core",6702 "sp-externalities",6678 "sp-externalities",6703 "sp-panic-handler",6679 "sp-panic-handler",6704 "sp-std",6680 "sp-std",6705 "sp-trie",6681 "sp-trie",6682 "thiserror",6706 "trie-db",6683 "trie-db",6707 "trie-root",6684 "trie-root",6708]6685]670966866710[[package]]6687[[package]]6711name = "sp-std"6688name = "sp-std"6712version = "2.0.0"6689version = "2.0.1"6713source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6690source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"671466916715[[package]]6692[[package]]6716name = "sp-storage"6693name = "sp-storage"6717version = "2.0.0"6694version = "2.0.1"6718source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6695source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6719dependencies = [6696dependencies = [6720 "impl-serde",6697 "impl-serde",6721 "parity-scale-codec",6698 "parity-scale-codec",6725 "sp-std",6702 "sp-std",6726]6703]67046705[[package]]6706name = "sp-tasks"6707version = "2.0.0"6708source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6709dependencies = [6710 "log",6711 "sp-core",6712 "sp-externalities",6713 "sp-io",6714 "sp-runtime-interface",6715 "sp-std",6716]672767176728[[package]]6718[[package]]6729name = "sp-timestamp"6719name = "sp-timestamp"6730version = "2.0.0"6720version = "2.0.1"6731source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6721source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6732dependencies = [6722dependencies = [6733 "impl-trait-for-tuples",6723 "impl-trait-for-tuples 0.2.0",6734 "parity-scale-codec",6724 "parity-scale-codec",6735 "sp-api",6725 "sp-api",6736 "sp-inherents",6726 "sp-inherents",674167316742[[package]]6732[[package]]6743name = "sp-tracing"6733name = "sp-tracing"6744version = "2.0.0"6734version = "2.0.1"6745source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6735source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6746dependencies = [6736dependencies = [6747 "log",6737 "log",6748 "parity-scale-codec",6738 "parity-scale-codec",675467446755[[package]]6745[[package]]6756name = "sp-transaction-pool"6746name = "sp-transaction-pool"6757version = "2.0.0"6747version = "2.0.1"6758source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6748source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6759dependencies = [6749dependencies = [6760 "derive_more",6750 "derive_more",6761 "futures 0.3.8",6751 "futures 0.3.12",6762 "log",6752 "log",6763 "parity-scale-codec",6753 "parity-scale-codec",6764 "serde",6754 "serde",6765 "sp-api",6755 "sp-api",6766 "sp-blockchain",6756 "sp-blockchain",6767 "sp-runtime",6757 "sp-runtime",6758 "thiserror",6768]6759]676967606770[[package]]6761[[package]]6771name = "sp-trie"6762name = "sp-trie"6772version = "2.0.0"6763version = "2.0.1"6773source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6764source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6774dependencies = [6765dependencies = [6775 "hash-db",6766 "hash-db",6776 "memory-db",6767 "memory-db",678367746784[[package]]6775[[package]]6785name = "sp-utils"6776name = "sp-utils"6786version = "2.0.0"6777version = "2.0.1"6787source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6778source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6788dependencies = [6779dependencies = [6789 "futures 0.3.8",6780 "futures 0.3.12",6790 "futures-core",6781 "futures-core",6791 "futures-timer 3.0.2",6782 "futures-timer 3.0.2",6792 "lazy_static",6783 "lazy_static",679567866796[[package]]6787[[package]]6797name = "sp-version"6788name = "sp-version"6798version = "2.0.0"6789version = "2.0.1"6799source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6790source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6800dependencies = [6791dependencies = [6801 "impl-serde",6792 "impl-serde",6802 "parity-scale-codec",6793 "parity-scale-codec",680767986808[[package]]6799[[package]]6809name = "sp-wasm-interface"6800name = "sp-wasm-interface"6810version = "2.0.0"6801version = "2.0.1"6811source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6802source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6812dependencies = [6803dependencies = [6813 "impl-trait-for-tuples",6804 "impl-trait-for-tuples 0.2.0",6814 "parity-scale-codec",6805 "parity-scale-codec",6815 "sp-std",6806 "sp-std",6816 "wasmi",6807 "wasmi",683668276837[[package]]6828[[package]]6838name = "statrs"6829name = "statrs"6839version = "0.10.0"6830version = "0.12.0"6840source = "registry+https://github.com/rust-lang/crates.io-index"6831source = "registry+https://github.com/rust-lang/crates.io-index"6841checksum = "10102ac8d55e35db2b3fafc26f81ba8647da2e15879ab686a67e6d19af2685e8"6832checksum = "cce16f6de653e88beca7bd13780d08e09d4489dbca1f9210e041bc4852481382"6842dependencies = [6833dependencies = [6843 "rand 0.5.6",6834 "rand 0.7.3",6844]6835]684568366846[[package]]6837[[package]]6919source = "registry+https://github.com/rust-lang/crates.io-index"6910source = "registry+https://github.com/rust-lang/crates.io-index"6920checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236"6911checksum = "bed6646a0159b9935b5d045611560eeef842b78d7adc3ba36f5ca325a13a0236"6921dependencies = [6912dependencies = [6922 "hmac",6913 "hmac 0.7.1",6923 "pbkdf2",6914 "pbkdf2 0.3.0",6924 "schnorrkel",6915 "schnorrkel",6925 "sha2 0.8.2",6916 "sha2 0.8.2",6926 "zeroize",6917 "zeroize",6927]6918]692869196929[[package]]6920[[package]]6930name = "substrate-build-script-utils"6921name = "substrate-build-script-utils"6931version = "2.0.0"6922version = "2.0.1"6932source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6923source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6933dependencies = [6924dependencies = [6934 "platforms",6925 "platforms",6935]6926]693669276937[[package]]6928[[package]]6938name = "substrate-frame-rpc-system"6929name = "substrate-frame-rpc-system"6939version = "2.0.0"6930version = "2.0.1"6940source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6931source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6941dependencies = [6932dependencies = [6942 "frame-system-rpc-runtime-api",6933 "frame-system-rpc-runtime-api",6943 "futures 0.3.8",6934 "futures 0.3.12",6944 "jsonrpc-core",6935 "jsonrpc-core",6945 "jsonrpc-core-client",6936 "jsonrpc-core-client",6946 "jsonrpc-derive",6937 "jsonrpc-derive",695969506960[[package]]6951[[package]]6961name = "substrate-prometheus-endpoint"6952name = "substrate-prometheus-endpoint"6962version = "0.8.0"6953version = "0.8.1"6963source = "git+https://github.com/usetech-llc/substrate.git?branch=release_flexi#59646c902484d9c5e8933a80cbed551228b81274"6954source = "git+https://github.com/usetech-llc/substrate.git?branch=unique#a7fd1e5d59b12d0166da54d545e7e5826bc6f518"6964dependencies = [6955dependencies = [6965 "async-std",6956 "async-std",6966 "derive_more",6957 "derive_more",699169826992[[package]]6983[[package]]6993name = "syn"6984name = "syn"6994version = "1.0.54"6985version = "1.0.58"6995source = "registry+https://github.com/rust-lang/crates.io-index"6986source = "registry+https://github.com/rust-lang/crates.io-index"6996checksum = "9a2af957a63d6bd42255c359c93d9bfdb97076bd3b820897ce55ffbfbf107f44"6987checksum = "cc60a3d73ea6594cd712d830cc1f0390fd71542d8c8cd24e70cc54cdfd5e05d5"6997dependencies = [6988dependencies = [6998 "proc-macro2",6989 "proc-macro2",6999 "quote",6990 "quote",702670177027[[package]]7018[[package]]7028name = "tempfile"7019name = "tempfile"7029version = "3.1.0"7020version = "3.2.0"7030source = "registry+https://github.com/rust-lang/crates.io-index"7021source = "registry+https://github.com/rust-lang/crates.io-index"7031checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"7022checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"7032dependencies = [7023dependencies = [7033 "cfg-if 0.1.10",7024 "cfg-if 1.0.0",7034 "libc",7025 "libc",7035 "rand 0.7.3",7026 "rand 0.8.2",7036 "redox_syscall",7027 "redox_syscall 0.2.4",7037 "remove_dir_all",7028 "remove_dir_all",7038 "winapi 0.3.9",7029 "winapi 0.3.9",7039]7030]705870497059[[package]]7050[[package]]7060name = "thiserror"7051name = "thiserror"7061version = "1.0.22"7052version = "1.0.23"7062source = "registry+https://github.com/rust-lang/crates.io-index"7053source = "registry+https://github.com/rust-lang/crates.io-index"7063checksum = "0e9ae34b84616eedaaf1e9dd6026dbe00dcafa92aa0c8077cb69df1fcfe5e53e"7054checksum = "76cc616c6abf8c8928e2fdcc0dbfab37175edd8fb49a4641066ad1364fdab146"7064dependencies = [7055dependencies = [7065 "thiserror-impl",7056 "thiserror-impl",7066]7057]706770587068[[package]]7059[[package]]7069name = "thiserror-impl"7060name = "thiserror-impl"7070version = "1.0.22"7061version = "1.0.23"7071source = "registry+https://github.com/rust-lang/crates.io-index"7062source = "registry+https://github.com/rust-lang/crates.io-index"7072checksum = "9ba20f23e85b10754cd195504aebf6a27e2e6cbe28c17778a0c930724628dd56"7063checksum = "9be73a2caec27583d0046ef3796c3794f868a5bc813db689eed00c7631275cd1"7073dependencies = [7064dependencies = [7074 "proc-macro2",7065 "proc-macro2",7075 "quote",7066 "quote",707870697079[[package]]7070[[package]]7080name = "thread_local"7071name = "thread_local"7081version = "1.0.1"7072version = "1.1.0"7082source = "registry+https://github.com/rust-lang/crates.io-index"7073source = "registry+https://github.com/rust-lang/crates.io-index"7083checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"7074checksum = "bb9bc092d0d51e76b2b19d9d85534ffc9ec2db959a2523cdae0697e2972cd447"7084dependencies = [7075dependencies = [7085 "lazy_static",7076 "lazy_static",7086]7077]710770987108[[package]]7099[[package]]7109name = "tiny-bip39"7100name = "tiny-bip39"7110version = "0.7.3"7101version = "0.8.0"7111source = "registry+https://github.com/rust-lang/crates.io-index"7102source = "registry+https://github.com/rust-lang/crates.io-index"7112checksum = "b0165e045cc2ae1660270ca65e1676dbaab60feb0f91b10f7d0665e9b47e31f2"7103checksum = "d9e44c4759bae7f1032e286a7ef990bd9ed23fe831b7eeba0beb97484c2e59b8"7113dependencies = [7104dependencies = [7114 "failure",7105 "anyhow",7115 "hmac",7106 "hmac 0.8.1",7116 "once_cell 1.5.2",7107 "once_cell",7117 "pbkdf2",7108 "pbkdf2 0.4.0",7118 "rand 0.7.3",7109 "rand 0.7.3",7119 "rustc-hash",7110 "rustc-hash",7120 "sha2 0.8.2",7111 "sha2 0.9.2",7112 "thiserror",7121 "unicode-normalization",7113 "unicode-normalization",7114 "zeroize",7122]7115]712371167124[[package]]7117[[package]]7157 "num_cpus",7150 "num_cpus",7158 "tokio-codec",7151 "tokio-codec",7159 "tokio-current-thread",7152 "tokio-current-thread",7160 "tokio-executor 0.1.10",7153 "tokio-executor",7161 "tokio-fs",7154 "tokio-fs",7162 "tokio-io",7155 "tokio-io",7163 "tokio-reactor",7156 "tokio-reactor",7164 "tokio-sync 0.1.8",7157 "tokio-sync",7165 "tokio-tcp",7158 "tokio-tcp",7166 "tokio-threadpool",7159 "tokio-threadpool",7167 "tokio-timer",7160 "tokio-timer",7220checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"7213checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e"7221dependencies = [7214dependencies = [7222 "futures 0.1.30",7215 "futures 0.1.30",7223 "tokio-executor 0.1.10",7216 "tokio-executor",7224]7217]722572187226[[package]]7219[[package]]7233 "futures 0.1.30",7226 "futures 0.1.30",7234]7227]72357236[[package]]7237name = "tokio-executor"7238version = "0.2.0-alpha.6"7239source = "registry+https://github.com/rust-lang/crates.io-index"7240checksum = "9ee9ceecf69145923834ea73f32ba40c790fd877b74a7817dd0b089f1eb9c7c8"7241dependencies = [7242 "futures-util-preview",7243 "lazy_static",7244 "tokio-sync 0.2.0-alpha.6",7245]724672287247[[package]]7229[[package]]7248name = "tokio-fs"7230name = "tokio-fs"7293 "num_cpus",7275 "num_cpus",7294 "parking_lot 0.9.0",7276 "parking_lot 0.9.0",7295 "slab",7277 "slab",7296 "tokio-executor 0.1.10",7278 "tokio-executor",7297 "tokio-io",7279 "tokio-io",7298 "tokio-sync 0.1.8",7280 "tokio-sync",7299]7281]730072827301[[package]]7283[[package]]7305checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a"7287checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a"7306dependencies = [7288dependencies = [7307 "futures-core",7289 "futures-core",7308 "rustls",7290 "rustls 0.18.1",7309 "tokio 0.2.24",7291 "tokio 0.2.24",7310 "webpki",7292 "webpki",7311]7293]7329 "futures 0.1.30",7311 "futures 0.1.30",7330]7312]73317332[[package]]7333name = "tokio-sync"7334version = "0.2.0-alpha.6"7335source = "registry+https://github.com/rust-lang/crates.io-index"7336checksum = "4f1aaeb685540f7407ea0e27f1c9757d258c7c6bf4e3eb19da6fc59b747239d2"7337dependencies = [7338 "fnv",7339 "futures-core-preview",7340 "futures-util-preview",7341]734273137343[[package]]7314[[package]]7344name = "tokio-tcp"7315name = "tokio-tcp"7368 "log",7339 "log",7369 "num_cpus",7340 "num_cpus",7370 "slab",7341 "slab",7371 "tokio-executor 0.1.10",7342 "tokio-executor",7372]7343]737373447374[[package]]7345[[package]]7380 "crossbeam-utils 0.7.2",7351 "crossbeam-utils 0.7.2",7381 "futures 0.1.30",7352 "futures 0.1.30",7382 "slab",7353 "slab",7383 "tokio-executor 0.1.10",7354 "tokio-executor",7384]7355]738573567386[[package]]7357[[package]]743274037433[[package]]7404[[package]]7434name = "toml"7405name = "toml"7435version = "0.5.7"7406version = "0.5.8"7436source = "registry+https://github.com/rust-lang/crates.io-index"7407source = "registry+https://github.com/rust-lang/crates.io-index"7437checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645"7408checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"7438dependencies = [7409dependencies = [7439 "serde",7410 "serde",7440]7411]7453dependencies = [7424dependencies = [7454 "cfg-if 1.0.0",7425 "cfg-if 1.0.0",7455 "log",7426 "log",7456 "pin-project-lite 0.2.0",7427 "pin-project-lite 0.2.4",7457 "tracing-attributes",7428 "tracing-attributes",7458 "tracing-core",7429 "tracing-core",7459]7430]7523 "serde",7494 "serde",7524 "serde_json",7495 "serde_json",7525 "sharded-slab",7496 "sharded-slab",7526 "smallvec 1.5.1",7497 "smallvec 1.6.1",7527 "thread_local",7498 "thread_local",7528 "tracing",7499 "tracing",7529 "tracing-core",7500 "tracing-core",753375047534[[package]]7505[[package]]7535name = "trie-db"7506name = "trie-db"7536version = "0.22.1"7507version = "0.22.2"7537source = "registry+https://github.com/rust-lang/crates.io-index"7508source = "registry+https://github.com/rust-lang/crates.io-index"7538checksum = "9e55f7ace33d6237e14137e386f4e1672e2a5c6bbc97fef9f438581a143971f0"7509checksum = "5cc176c377eb24d652c9c69c832c832019011b6106182bf84276c66b66d5c9a6"7539dependencies = [7510dependencies = [7540 "hash-db",7511 "hash-db",7541 "hashbrown 0.8.2",7512 "hashbrown",7542 "log",7513 "log",7543 "rustc-hex",7514 "rustc-hex",7544 "smallvec 1.5.1",7515 "smallvec 1.6.1",7545]7516]754675177547[[package]]7518[[package]]7576source = "registry+https://github.com/rust-lang/crates.io-index"7547source = "registry+https://github.com/rust-lang/crates.io-index"7577checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"7548checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"75497550[[package]]7551name = "ucd-trie"7552version = "0.1.3"7553source = "registry+https://github.com/rust-lang/crates.io-index"7554checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"757875557579[[package]]7556[[package]]7580name = "uint"7557name = "uint"7581version = "0.8.5"7558version = "0.9.0"7582source = "registry+https://github.com/rust-lang/crates.io-index"7559source = "registry+https://github.com/rust-lang/crates.io-index"7583checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177"7560checksum = "e11fe9a9348741cf134085ad57c249508345fe16411b3d7fb4ff2da2f1d6382e"7584dependencies = [7561dependencies = [7585 "byteorder 1.3.4",7562 "byteorder",7586 "crunchy",7563 "crunchy",7587 "rustc-hex",7564 "hex",7588 "static_assertions",7565 "static_assertions",7589]7566]75907567764576227646[[package]]7623[[package]]7647name = "unsigned-varint"7624name = "unsigned-varint"7648version = "0.4.0"7625version = "0.5.1"7649source = "registry+https://github.com/rust-lang/crates.io-index"7626source = "registry+https://github.com/rust-lang/crates.io-index"7650checksum = "669d776983b692a906c881fcd0cfb34271a48e197e4d6cb8df32b05bfc3d3fa5"7627checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35"7651dependencies = [7652 "bytes 0.5.6",7653 "futures-io",7654 "futures-util",7655 "futures_codec",7656]765776287658[[package]]7629[[package]]7659name = "unsigned-varint"7630name = "unsigned-varint"7660version = "0.5.1"7631version = "0.6.0"7661source = "registry+https://github.com/rust-lang/crates.io-index"7632source = "registry+https://github.com/rust-lang/crates.io-index"7662checksum = "f7fdeedbf205afadfe39ae559b75c3240f24e257d0ca27e85f85cb82aa19ac35"7633checksum = "35581ff83d4101e58b582e607120c7f5ffb17e632a980b1f38334d76b36908b2"7663dependencies = [7634dependencies = [7635 "asynchronous-codec",7636 "bytes 1.0.1",7664 "futures-io",7637 "futures-io",7665 "futures-util",7638 "futures-util",7666]7639]7835source = "registry+https://github.com/rust-lang/crates.io-index"7808source = "registry+https://github.com/rust-lang/crates.io-index"7836checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"7809checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"7837dependencies = [7810dependencies = [7838 "futures 0.3.8",7811 "futures 0.3.12",7839 "js-sys",7812 "js-sys",7840 "parking_lot 0.11.1",7813 "parking_lot 0.11.1",7841 "pin-utils",7814 "pin-utils",7893 "log",7866 "log",7894 "region",7867 "region",7895 "rustc-demangle",7868 "rustc-demangle",7896 "smallvec 1.5.1",7869 "smallvec 1.6.1",7897 "target-lexicon",7870 "target-lexicon",7898 "wasmparser 0.59.0",7871 "wasmparser 0.59.0",7899 "wasmtime-environ",7872 "wasmtime-environ",7934 "cranelift-entity",7907 "cranelift-entity",7935 "cranelift-frontend",7908 "cranelift-frontend",7936 "cranelift-wasm",7909 "cranelift-wasm",7937 "directories",7910 "directories 2.0.2",7938 "errno",7911 "errno",7939 "file-per-thread-logger",7912 "file-per-thread-logger",7940 "indexmap",7913 "indexmap",803680098037[[package]]8010[[package]]8038name = "wast"8011name = "wast"8039version = "30.0.0"8012version = "32.0.0"8040source = "registry+https://github.com/rust-lang/crates.io-index"8013source = "registry+https://github.com/rust-lang/crates.io-index"8041checksum = "9b79907b22f740634810e882d8d1d9d0f9563095a8ab94e786e370242bff5cd2"8014checksum = "c24a3ee360d01d60ed0a0f960ab76a6acce64348cdb0bf8699c2a866fad57c7c"8042dependencies = [8015dependencies = [8043 "leb128",8016 "leb128",8044]8017]804580188046[[package]]8019[[package]]8047name = "wat"8020name = "wat"8048version = "1.0.31"8021version = "1.0.33"8049source = "registry+https://github.com/rust-lang/crates.io-index"8022source = "registry+https://github.com/rust-lang/crates.io-index"8050checksum = "a8279a02835bf12e61ed2b3c3cbc6ecf9918762fd97e036917c11a09ec20ca44"8023checksum = "5e8f7f34773fa6318e8897283abf7941c1f250faae4e1a52f82df09c3bad7cce"8051dependencies = [8024dependencies = [8052 "wast",8025 "wast",8053]8026]8072 "untrusted",8045 "untrusted",8073]8046]80748075[[package]]8076name = "webpki-roots"8077version = "0.18.0"8078source = "registry+https://github.com/rust-lang/crates.io-index"8079checksum = "91cd5736df7f12a964a5067a12c62fa38e1bd8080aff1f80bc29be7c80d19ab4"8080dependencies = [8081 "webpki",8082]808380478084[[package]]8048[[package]]8085name = "webpki-roots"8049name = "webpki-roots"8086version = "0.19.0"8050version = "0.21.0"8087source = "registry+https://github.com/rust-lang/crates.io-index"8051source = "registry+https://github.com/rust-lang/crates.io-index"8088checksum = "f8eff4b7516a57307f9349c64bf34caa34b940b66fed4b2fb3136cb7386e5739"8052checksum = "82015b7e0b8bad8185994674a13a93306bea76cf5a16c5a181382fd3a5ec2376"8089dependencies = [8053dependencies = [8090 "webpki",8054 "webpki",8091]8055]8108 "libc",8072 "libc",8109]8073]80748075[[package]]8076name = "which"8077version = "4.0.2"8078source = "registry+https://github.com/rust-lang/crates.io-index"8079checksum = "87c14ef7e1b8b8ecfc75d5eca37949410046e66f15d185c01d70824f1f8111ef"8080dependencies = [8081 "libc",8082 "thiserror",8083]811080848111[[package]]8085[[package]]8112name = "winapi"8086name = "winapi"8161 "winapi-build",8135 "winapi-build",8162]8136]81638164[[package]]8165name = "x25519-dalek"8166version = "0.6.0"8167source = "registry+https://github.com/rust-lang/crates.io-index"8168checksum = "637ff90c9540fa3073bb577e65033069e4bae7c79d49d74aa3ffdf5342a53217"8169dependencies = [8170 "curve25519-dalek 2.1.0",8171 "rand_core 0.5.1",8172 "zeroize",8173]817481378175[[package]]8138[[package]]8176name = "x25519-dalek"8139name = "x25519-dalek"8177version = "1.1.0"8140version = "1.1.0"8178source = "registry+https://github.com/rust-lang/crates.io-index"8141source = "registry+https://github.com/rust-lang/crates.io-index"8179checksum = "bc614d95359fd7afc321b66d2107ede58b246b844cf5d8a0adcca413e439f088"8142checksum = "bc614d95359fd7afc321b66d2107ede58b246b844cf5d8a0adcca413e439f088"8180dependencies = [8143dependencies = [8181 "curve25519-dalek 3.0.0",8144 "curve25519-dalek 3.0.2",8182 "rand_core 0.5.1",8145 "rand_core 0.5.1",8183 "zeroize",8146 "zeroize",8184]8147]8189source = "registry+https://github.com/rust-lang/crates.io-index"8152source = "registry+https://github.com/rust-lang/crates.io-index"8190checksum = "9aeb8c4043cac71c3c299dff107171c220d179492350ea198e109a414981b83c"8153checksum = "9aeb8c4043cac71c3c299dff107171c220d179492350ea198e109a414981b83c"8191dependencies = [8154dependencies = [8192 "futures 0.3.8",8155 "futures 0.3.12",8193 "log",8156 "log",8194 "nohash-hasher",8157 "nohash-hasher",8195 "parking_lot 0.11.1",8158 "parking_lot 0.11.1",8251dependencies = [8214dependencies = [8252 "cc",8215 "cc",8253 "glob",8216 "glob",8254 "itertools 0.9.0",8217 "itertools",8255 "libc",8218 "libc",8256]8219]82578220node/Cargo.tomldiffbeforeafterboth1[build-dependencies.substrate-build-script-utils]1[build-dependencies.substrate-build-script-utils]2git = 'https://github.com/usetech-llc/substrate.git'2git = 'https://github.com/usetech-llc/substrate.git'3branch = 'release_flexi'3branch = 'unique'4version = '2.0.0'4version = '2.0.1'556[[bin]]6[[bin]]7name = 'nft'7name = 'nft'15license = 'Unlicense'15license = 'Unlicense'16name = 'nft'16name = 'nft'17repository = 'https://github.com/substrate-developer-hub/nft/'17repository = 'https://github.com/substrate-developer-hub/nft/'18version = '2.0.0'18version = '2.0.1'191920[package.metadata.docs.rs]20[package.metadata.docs.rs]21targets = ['x86_64-unknown-linux-gnu']21targets = ['x86_64-unknown-linux-gnu']29jsonrpc-core = '15.0.0'29jsonrpc-core = '15.0.0'303031# Substrate dependencies31# Substrate dependencies32nft-runtime = { path = '../runtime', version = '2.0.0' }32nft-runtime = { path = '../runtime', version = '2.0.1' }33frame-benchmarking = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}33frame-benchmarking = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}34frame-benchmarking-cli = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}34frame-benchmarking-cli = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}35pallet-transaction-payment-rpc = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}35pallet-transaction-payment-rpc = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}36sc-basic-authorship = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}36sc-basic-authorship = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}37sc-cli = { features = ['wasmtime'], version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }37sc-cli = { features = ['wasmtime'], version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }38sc-client-api = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}38sc-client-api = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}39sc-consensus = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}39sc-consensus = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}40sc-consensus-aura = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}40sc-consensus-aura = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}41sc-executor = { features = ['wasmtime'], version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }41sc-executor = { features = ['wasmtime'], version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }42sc-finality-grandpa = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}42sc-finality-grandpa = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}43sc-rpc = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}43sc-rpc = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}44sc-rpc-api = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}44sc-rpc-api = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}45sc-service = { features = ['wasmtime'], version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }45sc-service = { features = ['wasmtime'], version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }46sc-transaction-pool = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}46sc-transaction-pool = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}47sp-api = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}47sp-api = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}48sp-block-builder = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}48sp-block-builder = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}49sp-blockchain = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}49sp-blockchain = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}50sp-consensus = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}50sp-consensus = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}51sp-consensus-aura = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}51sp-consensus-aura = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}52sp-core = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}52sp-core = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}53sp-finality-grandpa = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}53sp-finality-grandpa = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}54sp-inherents = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}54sp-inherents = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}55sp-runtime = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}55sp-runtime = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}56sp-transaction-pool = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}56sp-transaction-pool = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}57sc-network = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'} 57sc-network = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'} 58substrate-frame-rpc-system = {version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'}58substrate-frame-rpc-system = {version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'}59pallet-contracts-rpc = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi'} 59pallet-contracts-rpc = {version = '0.8.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique'} 60sc-keystore = { version = "2.0.0", git = "https://github.com/usetech-llc/substrate.git", branch = 'unique'}61sc-telemetry = { version = "2.0.0", git = "https://github.com/usetech-llc/substrate.git", branch = 'unique'}606261serde = { version = "1.0.102", features = ["derive"] }63serde = { version = "1.0.102", features = ["derive"] }62serde_json = "1.0.41"64serde_json = "1.0.41"node/src/cli.rsdiffbeforeafterboth121213#[derive(Debug, StructOpt)]13#[derive(Debug, StructOpt)]14pub enum Subcommand {14pub enum Subcommand {15 /// Key management cli utilities16 Key(sc_cli::KeySubcommand),15 /// Build a chain specification.17 /// Build a chain specification.16 BuildSpec(sc_cli::BuildSpecCmd),18 BuildSpec(sc_cli::BuildSpecCmd),171933 /// Revert the chain to a previous state.35 /// Revert the chain to a previous state.34 Revert(sc_cli::RevertCmd),36 Revert(sc_cli::RevertCmd),353736 // The custom benchmark subcommmand benchmarking runtime pallets.38 /// The custom benchmark subcommmand benchmarking runtime pallets.37 #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]39 #[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]38 Benchmark(frame_benchmarking_cli::BenchmarkCmd),40 Benchmark(frame_benchmarking_cli::BenchmarkCmd),39}41}node/src/command.rsdiffbeforeafterboth1// This file is part of Substrate.1// This file is part of Substrate.223// Copyright (C) 2017-2020 Parity Technologies (UK) Ltd.3// Copyright (C) 2017-2021 Parity Technologies (UK) Ltd.4// SPDX-License-Identifier: Apache-2.04// SPDX-License-Identifier: Apache-2.0556// Licensed under the Apache License, Version 2.0 (the "License");6// Licensed under the Apache License, Version 2.0 (the "License");66 let cli = Cli::from_args();66 let cli = Cli::from_args();676768 match &cli.subcommand {68 match &cli.subcommand {69 Some(Subcommand::Key(cmd)) => cmd.run(&cli),69 Some(Subcommand::BuildSpec(cmd)) => {70 Some(Subcommand::BuildSpec(cmd)) => {70 let runner = cli.create_runner(cmd)?;71 let runner = cli.create_runner(cmd)?;71 runner.sync_run(|config| cmd.run(config.chain_spec, config.network))72 runner.sync_run(|config| cmd.run(config.chain_spec, config.network))126 },127 },127 None => {128 None => {128 let runner = cli.create_runner(&cli.run)?;129 let runner = cli.create_runner(&cli.run)?;129 runner.run_node_until_exit(|config| match config.role {130 runner.run_node_until_exit(|config| async move {131 match config.role {130 Role::Light => service::new_light(config),132 Role::Light => service::new_light(config),131 _ => service::new_full(config),133 _ => service::new_full(config),132 })134 }.map_err(sc_cli::Error::Service)135 })133 }136 }134 }137 }135}138}node/src/service.rsdiffbeforeafterboth14use sc_executor::native_executor_instance;14use sc_executor::native_executor_instance;15pub use sc_executor::NativeExecutor;15pub use sc_executor::NativeExecutor;16use sp_consensus_aura::sr25519::{AuthorityPair as AuraPair};16use sp_consensus_aura::sr25519::{AuthorityPair as AuraPair};17use sc_finality_grandpa::{FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState};17use sc_finality_grandpa::SharedVoterState;18use sc_keystore::LocalKeystore;19use sc_telemetry::TelemetrySpan;182019// Our native executor instance.21// Our native executor instance.20native_executor_instance!(22native_executor_instance!(39 sc_finality_grandpa::GrandpaBlockImport<FullBackend, Block, FullClient, FullSelectChain>,41 sc_finality_grandpa::GrandpaBlockImport<FullBackend, Block, FullClient, FullSelectChain>,40 AuraPair42 AuraPair41 >,43 >,42 sc_finality_grandpa::LinkHalf<Block, FullClient, FullSelectChain>44 sc_finality_grandpa::LinkHalf<Block, FullClient, FullSelectChain>,45 Option<TelemetrySpan>,43 )46 )44>, ServiceError> {47>, ServiceError> {48 if config.keystore_remote.is_some() {49 return Err(ServiceError::Other(50 format!("Remote Keystores are not supported.")))51 }45 let inherent_data_providers = sp_inherents::InherentDataProviders::new();52 let inherent_data_providers = sp_inherents::InherentDataProviders::new();465347 let (client, backend, keystore, task_manager) =54 let (client, backend, keystore_container, task_manager, telemetry_span) =48 sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;55 sc_service::new_full_parts::<Block, RuntimeApi, Executor>(&config)?;49 let client = Arc::new(client);56 let client = Arc::new(client);505769 sc_consensus_aura::slot_duration(&*client)?,76 sc_consensus_aura::slot_duration(&*client)?,70 aura_block_import.clone(),77 aura_block_import.clone(),71 Some(Box::new(grandpa_block_import.clone())),78 Some(Box::new(grandpa_block_import.clone())),72 None,73 client.clone(),79 client.clone(),74 inherent_data_providers.clone(),80 inherent_data_providers.clone(),75 &task_manager.spawn_handle(),81 &task_manager.spawn_handle(),78 )?;84 )?;798580 Ok(sc_service::PartialComponents {86 Ok(sc_service::PartialComponents {81 client, backend, task_manager, import_queue, keystore, select_chain, transaction_pool,87 client,88 backend,89 task_manager,90 import_queue,91 keystore_container,92 select_chain,93 transaction_pool,82 inherent_data_providers,94 inherent_data_providers,83 other: (aura_block_import, grandpa_link),95 other: (aura_block_import, grandpa_link, telemetry_span),84 })96 })85}97}9899fn remote_keystore(_url: &String) -> Result<Arc<LocalKeystore>, &'static str> {100 // FIXME: here would the concrete keystore be built,101 // must return a concrete type (NOT `LocalKeystore`) that102 // implements `CryptoStore` and `SyncCryptoStore`103 Err("Remote Keystore not supported.")104}8610587/// Builds a new service for a full client.106/// Builds a new service for a full client.88pub fn new_full(config: Configuration) -> Result<TaskManager, ServiceError> {107pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError> {89 let sc_service::PartialComponents {108 let sc_service::PartialComponents {90 client, backend, mut task_manager, import_queue, keystore, select_chain, transaction_pool,109 client,110 backend,111 mut task_manager,112 import_queue,113 mut keystore_container,114 select_chain,115 transaction_pool,91 inherent_data_providers,116 inherent_data_providers,92 other: (block_import, grandpa_link),117 other: (block_import, grandpa_link, telemetry_span),93 } = new_partial(&config)?;118 } = new_partial(&config)?;9411995 let finality_proof_provider =120 if let Some(url) = &config.keystore_remote {121 match remote_keystore(url) {96 GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());122 Ok(k) => keystore_container.set_remote_keystore(k),123 Err(e) => {124 return Err(ServiceError::Other(125 format!("Error hooking up remote keystore for {}: {}", url, e)))126 }127 };128 }129130 config.network.extra_sets.push(sc_finality_grandpa::grandpa_peers_set_config());9713198 let (network, network_status_sinks, system_rpc_tx, network_starter) =132 let (network, network_status_sinks, system_rpc_tx, network_starter) =99 sc_service::build_network(sc_service::BuildNetworkParams {133 sc_service::build_network(sc_service::BuildNetworkParams {104 import_queue,138 import_queue,105 on_demand: None,139 on_demand: None,106 block_announce_validator_builder: None,140 block_announce_validator_builder: None,107 finality_proof_request_builder: None,108 finality_proof_provider: Some(finality_proof_provider.clone()),109 })?;141 })?;110142111 if config.offchain_worker.enabled {143 if config.offchain_worker.enabled {116148117 let role = config.role.clone();149 let role = config.role.clone();118 let force_authoring = config.force_authoring;150 let force_authoring = config.force_authoring;151 let backoff_authoring_blocks: Option<()> = None;119 let name = config.network.node_name.clone();152 let name = config.network.node_name.clone();120 let enable_grandpa = !config.disable_grandpa;153 let enable_grandpa = !config.disable_grandpa;121 let prometheus_registry = config.prometheus_registry().cloned();154 let prometheus_registry = config.prometheus_registry().cloned();122 let telemetry_connection_sinks = sc_service::TelemetryConnectionSinks::default();123155124 let rpc_extensions_builder = {156 let rpc_extensions_builder = {125 let client = client.clone();157 let client = client.clone();136 })168 })137 };169 };138170139 sc_service::spawn_tasks(sc_service::SpawnTasksParams {171 let (_rpc_handlers, telemetry_connection_notifier) = sc_service::spawn_tasks(172 sc_service::SpawnTasksParams {140 network: network.clone(),173 network: network.clone(),141 client: client.clone(),174 client: client.clone(),142 keystore: keystore.clone(),175 keystore: keystore_container.sync_keystore(),143 task_manager: &mut task_manager,176 task_manager: &mut task_manager,144 transaction_pool: transaction_pool.clone(),177 transaction_pool: transaction_pool.clone(),145 telemetry_connection_sinks: telemetry_connection_sinks.clone(),146 rpc_extensions_builder: rpc_extensions_builder,178 rpc_extensions_builder,147 on_demand: None,179 on_demand: None,148 remote_blockchain: None,180 remote_blockchain: None,149 backend, network_status_sinks, system_rpc_tx, config,181 backend,182 network_status_sinks,183 system_rpc_tx,184 config,185 telemetry_span,150 })?;186 },187 )?;151188152 if role.is_authority() {189 if role.is_authority() {153 let proposer = sc_basic_authorship::ProposerFactory::new(190 let proposer = sc_basic_authorship::ProposerFactory::new(191 task_manager.spawn_handle(),154 client.clone(),192 client.clone(),155 transaction_pool,193 transaction_pool,156 prometheus_registry.as_ref(),194 prometheus_registry.as_ref(),159 let can_author_with =197 let can_author_with =160 sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone());198 sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone());161199162 let aura = sc_consensus_aura::start_aura::<_, _, _, _, _, AuraPair, _, _, _>(200 let aura = sc_consensus_aura::start_aura::<_, _, _, _, _, AuraPair, _, _, _,_>(163 sc_consensus_aura::slot_duration(&*client)?,201 sc_consensus_aura::slot_duration(&*client)?,164 client.clone(),202 client.clone(),165 select_chain,203 select_chain,168 network.clone(),206 network.clone(),169 inherent_data_providers.clone(),207 inherent_data_providers.clone(),170 force_authoring,208 force_authoring,209 backoff_authoring_blocks,171 keystore.clone(),210 keystore_container.sync_keystore(),172 can_author_with,211 can_author_with,173 )?;212 )?;174213180 // if the node isn't actively participating in consensus then it doesn't219 // if the node isn't actively participating in consensus then it doesn't181 // need a keystore, regardless of which protocol we use below.220 // need a keystore, regardless of which protocol we use below.182 let keystore = if role.is_authority() {221 let keystore = if role.is_authority() {183 Some(keystore as sp_core::traits::BareCryptoStorePtr)222 Some(keystore_container.sync_keystore())184 } else {223 } else {185 None224 None186 };225 };206 config: grandpa_config,245 config: grandpa_config,207 link: grandpa_link,246 link: grandpa_link,208 network,247 network,209 inherent_data_providers,210 telemetry_on_connect: Some(telemetry_connection_sinks.on_connect_stream()),248 telemetry_on_connect: telemetry_connection_notifier.map(|x| x.on_connect_stream()),211 voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),249 voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),212 prometheus_registry,250 prometheus_registry,213 shared_voter_state: SharedVoterState::empty(),251 shared_voter_state: SharedVoterState::empty(),219 "grandpa-voter",257 "grandpa-voter",220 sc_finality_grandpa::run_grandpa_voter(grandpa_config)?258 sc_finality_grandpa::run_grandpa_voter(grandpa_config)?221 );259 );222 } else {260 }223 sc_finality_grandpa::setup_disabled_grandpa(224 client,225 &inherent_data_providers,226 network,227 )?;228 }229261230 network_starter.start_network();262 network_starter.start_network();231 Ok(task_manager)263 Ok(task_manager)232}264}233265234/// Builds a new service for a light client.266/// Builds a new service for a light client.235pub fn new_light(config: Configuration) -> Result<TaskManager, ServiceError> {267pub fn new_light(mut config: Configuration) -> Result<TaskManager, ServiceError> {236 let (client, backend, keystore, mut task_manager, on_demand) =268 let (client, backend, keystore_container, mut task_manager, on_demand, telemetry_span) =237 sc_service::new_light_parts::<Block, RuntimeApi, Executor>(&config)?;269 sc_service::new_light_parts::<Block, RuntimeApi, Executor>(&config)?;270271 config.network.extra_sets.push(sc_finality_grandpa::grandpa_peers_set_config());272273 let select_chain = sc_consensus::LongestChain::new(backend.clone());238274239 let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light(275 let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light(240 config.transaction_pool.clone(),276 config.transaction_pool.clone(),244 on_demand.clone(),280 on_demand.clone(),245 ));281 ));246282247 let grandpa_block_import = sc_finality_grandpa::light_block_import(283 let (grandpa_block_import, _) = sc_finality_grandpa::block_import(248 client.clone(), backend.clone(), &(client.clone() as Arc<_>),284 client.clone(),285 &(client.clone() as Arc<_>),249 Arc::new(on_demand.checker().clone()) as Arc<_>,286 select_chain.clone(),250 )?;287 )?;288251 let finality_proof_import = grandpa_block_import.clone();289 let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(252 let finality_proof_request_builder =290 grandpa_block_import.clone(),253 finality_proof_import.create_finality_proof_request_builder();291 client.clone(),292 );254293255 let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _, _>(294 let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _, _>(256 sc_consensus_aura::slot_duration(&*client)?,295 sc_consensus_aura::slot_duration(&*client)?,257 grandpa_block_import,296 aura_block_import,258 None,259 Some(Box::new(finality_proof_import)),297 Some(Box::new(grandpa_block_import)),260 client.clone(),298 client.clone(),261 InherentDataProviders::new(),299 InherentDataProviders::new(),262 &task_manager.spawn_handle(),300 &task_manager.spawn_handle(),263 config.prometheus_registry(),301 config.prometheus_registry(),264 sp_consensus::NeverCanAuthor,302 sp_consensus::NeverCanAuthor,265 )?;303 )?;266267 let finality_proof_provider =268 GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());269304270 let (network, network_status_sinks, system_rpc_tx, network_starter) =305 let (network, network_status_sinks, system_rpc_tx, network_starter) =271 sc_service::build_network(sc_service::BuildNetworkParams {306 sc_service::build_network(sc_service::BuildNetworkParams {276 import_queue,311 import_queue,277 on_demand: Some(on_demand.clone()),312 on_demand: Some(on_demand.clone()),278 block_announce_validator_builder: None,313 block_announce_validator_builder: None,279 finality_proof_request_builder: Some(finality_proof_request_builder),280 finality_proof_provider: Some(finality_proof_provider),281 })?;314 })?;282315283 if config.offchain_worker.enabled {316 if config.offchain_worker.enabled {292 task_manager: &mut task_manager,325 task_manager: &mut task_manager,293 on_demand: Some(on_demand),326 on_demand: Some(on_demand),294 rpc_extensions_builder: Box::new(|_, _| ()),327 rpc_extensions_builder: Box::new(|_, _| ()),328 config,329 client,295 telemetry_connection_sinks: sc_service::TelemetryConnectionSinks::default(),330 keystore: keystore_container.sync_keystore(),296 config,297 client,298 keystore,299 backend,331 backend,300 network,332 network,301 network_status_sinks,333 network_status_sinks,302 system_rpc_tx,334 system_rpc_tx,335 telemetry_span,303 })?;336 })?;304337305 network_starter.start_network();338 network_starter.start_network();pallets/nft/Cargo.tomldiffbeforeafterboth6license = 'Unlicense'6license = 'Unlicense'7name = 'pallet-nft'7name = 'pallet-nft'8repository = 'https://github.com/substrate-developer-hub/nft/'8repository = 'https://github.com/substrate-developer-hub/nft/'9version = '2.0.0'9version = '2.0.1'101011[package.metadata.docs.rs]11[package.metadata.docs.rs]12targets = ['x86_64-unknown-linux-gnu']12targets = ['x86_64-unknown-linux-gnu']16default-features = false16default-features = false17features = ['derive']17features = ['derive']18package = 'parity-scale-codec'18package = 'parity-scale-codec'19version = '1.3.4'19version = '1.3.6'202021[dependencies.frame-support]21[dependencies.frame-support]22default-features = false22default-features = false23git = 'https://github.com/usetech-llc/substrate.git'23git = 'https://github.com/usetech-llc/substrate.git'24branch = 'release_flexi'24branch = 'unique'25version = '2.0.0'25version = '2.0.1'262627[dependencies.frame-system]27[dependencies.frame-system]28default-features = false28default-features = false29git = 'https://github.com/usetech-llc/substrate.git'29git = 'https://github.com/usetech-llc/substrate.git'30branch = 'release_flexi'30branch = 'unique'31version = '2.0.0'31version = '2.0.1'323233[dev-dependencies.sp-core]33[dev-dependencies.sp-core]34default-features = false34default-features = false35git = 'https://github.com/usetech-llc/substrate.git'35git = 'https://github.com/usetech-llc/substrate.git'36branch = 'release_flexi'36branch = 'unique'37version = '2.0.0'37version = '2.0.1'383839[dev-dependencies.sp-io]39[dev-dependencies.sp-io]40default-features = false40default-features = false41git = 'https://github.com/usetech-llc/substrate.git'41git = 'https://github.com/usetech-llc/substrate.git'42branch = 'release_flexi'42branch = 'unique'43version = '2.0.0'43version = '2.0.1'444445[dependencies.sp-runtime]45[dependencies.sp-runtime]46default-features = false46default-features = false47git = 'https://github.com/usetech-llc/substrate.git'47git = 'https://github.com/usetech-llc/substrate.git'48branch = 'release_flexi'48branch = 'unique'49version = '2.0.0'49version = '2.0.1'50 50 51[dependencies]51[dependencies]52# third-party dependencies52# third-party dependencies56[dependencies.sp-std]56[dependencies.sp-std]57default-features = false57default-features = false58git = 'https://github.com/usetech-llc/substrate.git'58git = 'https://github.com/usetech-llc/substrate.git'59branch = 'release_flexi'59branch = 'unique'60version = '2.0.0'60version = '2.0.1'616162[dependencies.transaction-payment]62[dependencies.transaction-payment]63default-features = false63default-features = false64git = 'https://github.com/usetech-llc/substrate.git'64git = 'https://github.com/usetech-llc/substrate.git'65package = 'pallet-transaction-payment'65package = 'pallet-transaction-payment'66branch = 'release_flexi'66branch = 'unique'67version = '2.0.0'67version = '2.0.1'686869[dependencies.frame-benchmarking]69[dependencies.frame-benchmarking]70version = "2.0.0"70version = "2.0.1"71default-features = false71default-features = false72git = 'https://github.com/usetech-llc/substrate.git'72git = 'https://github.com/usetech-llc/substrate.git'73branch = 'release_flexi'73branch = 'unique'74optional = true74optional = true757576[dependencies.pallet-contracts]76[dependencies.pallet-contracts]77default-features = false77default-features = false78git = 'https://github.com/usetech-llc/substrate.git'78git = 'https://github.com/usetech-llc/substrate.git'79package = 'pallet-contracts'79package = 'pallet-contracts'80branch = 'release_flexi'80branch = 'unique'81version = '2.0.0'81version = '2.0.1'828283[dependencies.pallet-balances]83[dependencies.pallet-balances]84default-features = false84default-features = false85git = 'https://github.com/usetech-llc/substrate.git'85git = 'https://github.com/usetech-llc/substrate.git'86package = 'pallet-balances'86package = 'pallet-balances'87branch = 'release_flexi'87branch = 'unique'88version = '2.0.0'88version = '2.0.1'898990[dependencies.pallet-timestamp]90[dependencies.pallet-timestamp]91default-features = false91default-features = false92git = 'https://github.com/usetech-llc/substrate.git'92git = 'https://github.com/usetech-llc/substrate.git'93package = 'pallet-timestamp'93package = 'pallet-timestamp'94branch = 'release_flexi'94branch = 'unique'95version = '2.0.0'95version = '2.0.1'969697[dependencies.pallet-randomness-collective-flip]97[dependencies.pallet-randomness-collective-flip]98default-features = false98default-features = false99git = 'https://github.com/usetech-llc/substrate.git'99git = 'https://github.com/usetech-llc/substrate.git'100package = 'pallet-randomness-collective-flip'100package = 'pallet-randomness-collective-flip'101branch = 'release_flexi'101branch = 'unique'102version = '2.0.0'102version = '2.0.1'103103104[features]104[features]105default = ['std']105default = ['std']pallets/nft/src/lib.rsdiffbeforeafterboth20 ensure, fail, parameter_types,20 ensure, fail, parameter_types,21 traits::{21 traits::{22 Currency, ExistenceRequirement, Get, Imbalance, KeyOwnerProofSystem, OnUnbalanced,22 Currency, ExistenceRequirement, Get, Imbalance, KeyOwnerProofSystem, OnUnbalanced,23 Randomness, WithdrawReason,23 Randomness, IsSubType,24 },24 },25 weights::{25 weights::{26 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},26 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},27 DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,27 DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,28 WeightToFeePolynomial,28 WeightToFeePolynomial, DispatchClass,29 },29 },30 IsSubType, StorageValue,30 StorageValue,31};31};323233use frame_system::{self as system, ensure_signed, ensure_root};33use frame_system::{self as system, ensure_signed, ensure_root};41 },41 },42 FixedPointOperand, FixedU128,42 FixedPointOperand, FixedU128,43};43};44use pallet_contracts::ContractAddressFor;45use sp_runtime::traits::StaticLookup;44use sp_runtime::traits::StaticLookup;45use pallet_contracts::chain_extension::UncheckedFrom;46use transaction_payment::OnChargeTransaction;464747#[cfg(test)]48#[cfg(test)]48mod mock;49mod mock;308309309decl_error! {310decl_error! {310 /// Error for non-fungible-token module.311 /// Error for non-fungible-token module.311 pub enum Error for Module<T: Trait> {312 pub enum Error for Module<T: Config> {312 /// Total collections bound exceeded.313 /// Total collections bound exceeded.313 TotalCollectionsLimitExceeded,314 TotalCollectionsLimitExceeded,314 /// Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.315 /// Decimal_points parameter must be lower than MAX_DECIMAL_POINTS constant, currently it is 30.380 }381 }381}382}382383383pub trait Trait: system::Trait + Sized + transaction_payment::Trait + pallet_contracts::Trait {384pub trait Config: system::Config + Sized + transaction_payment::Config + pallet_contracts::Config {384 type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>;385 type Event: From<Event<Self>> + Into<<Self as system::Config>::Event>;385386386 /// Weight information for extrinsics in this pallet.387 /// Weight information for extrinsics in this pallet.387 type WeightInfo: WeightInfo;388 type WeightInfo: WeightInfo;393// #endregion394// #endregion394395395decl_storage! {396decl_storage! {396 trait Store for Module<T: Trait> as Nft {397 trait Store for Module<T: Config> as Nft {397398398 // Private members399 // Private members399 NextCollectionID: CollectionId;400 NextCollectionID: CollectionId;466decl_event!(467decl_event!(467 pub enum Event<T>468 pub enum Event<T>468 where469 where469 AccountId = <T as system::Trait>::AccountId,470 AccountId = <T as system::Config>::AccountId,470 {471 {471 /// New collection was created472 /// New collection was created472 /// 473 /// 500);501);501502502decl_module! {503decl_module! {503 pub struct Module<T: Trait> for enum Call where origin: T::Origin {504 pub struct Module<T: Config> for enum Call 504505 where 506 origin: T::Origin507 {505 fn deposit_event() = default;508 fn deposit_event() = default;506 type Error = Error<T>;509 type Error = Error<T>;507510533 /// 536 /// 534 /// * mode: [CollectionMode] collection type and type dependent data.537 /// * mode: [CollectionMode] collection type and type dependent data.535 // returns collection ID538 // returns collection ID536 #[weight = T::WeightInfo::create_collection()]539 #[weight = <T as Config>::WeightInfo::create_collection()]537 pub fn create_collection(origin,540 pub fn create_collection(origin,538 collection_name: Vec<u16>,541 collection_name: Vec<u16>,539 collection_description: Vec<u16>,542 collection_description: Vec<u16>,608 /// # Arguments611 /// # Arguments609 /// 612 /// 610 /// * collection_id: collection to destroy.613 /// * collection_id: collection to destroy.611 #[weight = T::WeightInfo::destroy_collection()]614 #[weight = <T as Config>::WeightInfo::destroy_collection()]612 pub fn destroy_collection(origin, collection_id: CollectionId) -> DispatchResult {615 pub fn destroy_collection(origin, collection_id: CollectionId) -> DispatchResult {613616614 let sender = ensure_signed(origin)?;617 let sender = ensure_signed(origin)?;655 /// * collection_id.658 /// * collection_id.656 /// 659 /// 657 /// * address.660 /// * address.658 #[weight = T::WeightInfo::add_to_white_list()]661 #[weight = <T as Config>::WeightInfo::add_to_white_list()]659 pub fn add_to_white_list(origin, collection_id: CollectionId, address: T::AccountId) -> DispatchResult{662 pub fn add_to_white_list(origin, collection_id: CollectionId, address: T::AccountId) -> DispatchResult{660663661 let sender = ensure_signed(origin)?;664 let sender = ensure_signed(origin)?;678 /// * collection_id.681 /// * collection_id.679 /// 682 /// 680 /// * address.683 /// * address.681 #[weight = T::WeightInfo::remove_from_white_list()]684 #[weight = <T as Config>::WeightInfo::remove_from_white_list()]682 pub fn remove_from_white_list(origin, collection_id: CollectionId, address: T::AccountId) -> DispatchResult{685 pub fn remove_from_white_list(origin, collection_id: CollectionId, address: T::AccountId) -> DispatchResult{683686684 let sender = ensure_signed(origin)?;687 let sender = ensure_signed(origin)?;700 /// * collection_id.703 /// * collection_id.701 /// 704 /// 702 /// * mode: [AccessMode]705 /// * mode: [AccessMode]703 #[weight = T::WeightInfo::set_public_access_mode()]706 #[weight = <T as Config>::WeightInfo::set_public_access_mode()]704 pub fn set_public_access_mode(origin, collection_id: CollectionId, mode: AccessMode) -> DispatchResult707 pub fn set_public_access_mode(origin, collection_id: CollectionId, mode: AccessMode) -> DispatchResult705 {708 {706 let sender = ensure_signed(origin)?;709 let sender = ensure_signed(origin)?;726 /// * collection_id.729 /// * collection_id.727 /// 730 /// 728 /// * mint_permission: Boolean parameter. If True, allows minting to Anyone with conditions above.731 /// * mint_permission: Boolean parameter. If True, allows minting to Anyone with conditions above.729 #[weight = T::WeightInfo::set_mint_permission()]732 #[weight = <T as Config>::WeightInfo::set_mint_permission()]730 pub fn set_mint_permission(origin, collection_id: CollectionId, mint_permission: bool) -> DispatchResult733 pub fn set_mint_permission(origin, collection_id: CollectionId, mint_permission: bool) -> DispatchResult731 {734 {732 let sender = ensure_signed(origin)?;735 let sender = ensure_signed(origin)?;750 /// * collection_id.753 /// * collection_id.751 /// 754 /// 752 /// * new_owner.755 /// * new_owner.753 #[weight = T::WeightInfo::change_collection_owner()]756 #[weight = <T as Config>::WeightInfo::change_collection_owner()]754 pub fn change_collection_owner(origin, collection_id: CollectionId, new_owner: T::AccountId) -> DispatchResult {757 pub fn change_collection_owner(origin, collection_id: CollectionId, new_owner: T::AccountId) -> DispatchResult {755758756 let sender = ensure_signed(origin)?;759 let sender = ensure_signed(origin)?;775 /// * collection_id: ID of the Collection to add admin for.778 /// * collection_id: ID of the Collection to add admin for.776 /// 779 /// 777 /// * new_admin_id: Address of new admin to add.780 /// * new_admin_id: Address of new admin to add.778 #[weight = T::WeightInfo::add_collection_admin()]781 #[weight = <T as Config>::WeightInfo::add_collection_admin()]779 pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin_id: T::AccountId) -> DispatchResult {782 pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin_id: T::AccountId) -> DispatchResult {780783781 let sender = ensure_signed(origin)?;784 let sender = ensure_signed(origin)?;809 /// * collection_id: ID of the Collection to remove admin for.812 /// * collection_id: ID of the Collection to remove admin for.810 /// 813 /// 811 /// * account_id: Address of admin to remove.814 /// * account_id: Address of admin to remove.812 #[weight = T::WeightInfo::remove_collection_admin()]815 #[weight = <T as Config>::WeightInfo::remove_collection_admin()]813 pub fn remove_collection_admin(origin, collection_id: CollectionId, account_id: T::AccountId) -> DispatchResult {816 pub fn remove_collection_admin(origin, collection_id: CollectionId, account_id: T::AccountId) -> DispatchResult {814817815 let sender = ensure_signed(origin)?;818 let sender = ensure_signed(origin)?;832 /// * collection_id.835 /// * collection_id.833 /// 836 /// 834 /// * new_sponsor.837 /// * new_sponsor.835 #[weight = T::WeightInfo::set_collection_sponsor()]838 #[weight = <T as Config>::WeightInfo::set_collection_sponsor()]836 pub fn set_collection_sponsor(origin, collection_id: CollectionId, new_sponsor: T::AccountId) -> DispatchResult {839 pub fn set_collection_sponsor(origin, collection_id: CollectionId, new_sponsor: T::AccountId) -> DispatchResult {837840838 let sender = ensure_signed(origin)?;841 let sender = ensure_signed(origin)?;855 /// # Arguments858 /// # Arguments856 /// 859 /// 857 /// * collection_id.860 /// * collection_id.858 #[weight = T::WeightInfo::confirm_sponsorship()]861 #[weight = <T as Config>::WeightInfo::confirm_sponsorship()]859 pub fn confirm_sponsorship(origin, collection_id: CollectionId) -> DispatchResult {862 pub fn confirm_sponsorship(origin, collection_id: CollectionId) -> DispatchResult {860863861 let sender = ensure_signed(origin)?;864 let sender = ensure_signed(origin)?;879 /// # Arguments882 /// # Arguments880 /// 883 /// 881 /// * collection_id.884 /// * collection_id.882 #[weight = T::WeightInfo::remove_collection_sponsor()]885 #[weight = <T as Config>::WeightInfo::remove_collection_sponsor()]883 pub fn remove_collection_sponsor(origin, collection_id: CollectionId) -> DispatchResult {886 pub fn remove_collection_sponsor(origin, collection_id: CollectionId) -> DispatchResult {884887885 let sender = ensure_signed(origin)?;888 let sender = ensure_signed(origin)?;919 // .saturating_add(RocksDbWeight::get().reads(10 as Weight))922 // .saturating_add(RocksDbWeight::get().reads(10 as Weight))920 // .saturating_add(RocksDbWeight::get().writes(8 as Weight))]923 // .saturating_add(RocksDbWeight::get().writes(8 as Weight))]921924922 #[weight = T::WeightInfo::create_item(data.len())]925 #[weight = <T as Config>::WeightInfo::create_item(data.len())]923 pub fn create_item(origin, collection_id: CollectionId, owner: T::AccountId, data: CreateItemData) -> DispatchResult {926 pub fn create_item(origin, collection_id: CollectionId, owner: T::AccountId, data: CreateItemData) -> DispatchResult {924927925 let sender = ensure_signed(origin)?;928 let sender = ensure_signed(origin)?;953 /// * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].956 /// * itemsData: Array items properties. Each property is an array of bytes itself, see [create_item].954 /// 957 /// 955 /// * owner: Address, initial owner of the NFT.958 /// * owner: Address, initial owner of the NFT.956 #[weight = T::WeightInfo::create_item(items_data.into_iter()959 #[weight = <T as Config>::WeightInfo::create_item(items_data.into_iter()957 .map(|data| { data.len() })960 .map(|data| { data.len() })958 .sum())]961 .sum())]959 pub fn create_multiple_items(origin, collection_id: CollectionId, owner: T::AccountId, items_data: Vec<CreateItemData>) -> DispatchResult {962 pub fn create_multiple_items(origin, collection_id: CollectionId, owner: T::AccountId, items_data: Vec<CreateItemData>) -> DispatchResult {989 /// * collection_id: ID of the collection.992 /// * collection_id: ID of the collection.990 /// 993 /// 991 /// * item_id: ID of NFT to burn.994 /// * item_id: ID of NFT to burn.992 #[weight = T::WeightInfo::burn_item()]995 #[weight = <T as Config>::WeightInfo::burn_item()]993 pub fn burn_item(origin, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResult {996 pub fn burn_item(origin, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResult {994997995 let sender = ensure_signed(origin)?;998 let sender = ensure_signed(origin)?;1042 /// * Non-Fungible Mode: Ignored1045 /// * Non-Fungible Mode: Ignored1043 /// * Fungible Mode: Must specify transferred amount1046 /// * Fungible Mode: Must specify transferred amount1044 /// * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)1047 /// * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)1045 #[weight = T::WeightInfo::transfer()]1048 #[weight = <T as Config>::WeightInfo::transfer()]1046 pub fn transfer(origin, recipient: T::AccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResult {1049 pub fn transfer(origin, recipient: T::AccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResult {104710501048 let sender = ensure_signed(origin)?;1051 let sender = ensure_signed(origin)?;1087 /// * collection_id.1090 /// * collection_id.1088 /// 1091 /// 1089 /// * item_id: ID of the item.1092 /// * item_id: ID of the item.1090 #[weight = T::WeightInfo::approve()]1093 #[weight = <T as Config>::WeightInfo::approve()]1091 pub fn approve(origin, spender: T::AccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResult {1094 pub fn approve(origin, spender: T::AccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResult {109210951093 let sender = ensure_signed(origin)?;1096 let sender = ensure_signed(origin)?;1135 /// * item_id: ID of the item.1138 /// * item_id: ID of the item.1136 /// 1139 /// 1137 /// * value: Amount to transfer.1140 /// * value: Amount to transfer.1138 #[weight = T::WeightInfo::transfer_from()]1141 #[weight = <T as Config>::WeightInfo::transfer_from()]1139 pub fn transfer_from(origin, from: T::AccountId, recipient: T::AccountId, collection_id: CollectionId, item_id: TokenId, value: u128 ) -> DispatchResult {1142 pub fn transfer_from(origin, from: T::AccountId, recipient: T::AccountId, collection_id: CollectionId, item_id: TokenId, value: u128 ) -> DispatchResult {114011431141 let sender = ensure_signed(origin)?;1144 let sender = ensure_signed(origin)?;1182 Ok(())1185 Ok(())1183 }1186 }118411871185 #[weight = 0]1188 // #[weight = 0]1186 pub fn safe_transfer_from(origin, collection_id: CollectionId, item_id: TokenId, new_owner: T::AccountId) -> DispatchResult {1189 // pub fn safe_transfer_from(origin, collection_id: CollectionId, item_id: TokenId, new_owner: T::AccountId) -> DispatchResult {118711901188 // let no_perm_mes = "You do not have permissions to modify this collection";1191 // // let no_perm_mes = "You do not have permissions to modify this collection";1189 // ensure!(<ApprovedList<T>>::contains_key((collection_id, item_id)), no_perm_mes);1192 // // ensure!(<ApprovedList<T>>::contains_key((collection_id, item_id)), no_perm_mes);1190 // let list_itm = <ApprovedList<T>>::get((collection_id, item_id));1193 // // let list_itm = <ApprovedList<T>>::get((collection_id, item_id));1191 // ensure!(list_itm.contains(&new_owner.clone()), no_perm_mes);1194 // // ensure!(list_itm.contains(&new_owner.clone()), no_perm_mes);119211951193 // // on_nft_received call1196 // // // on_nft_received call119411971195 // Self::transfer(origin, collection_id, item_id, new_owner)?;1198 // // Self::transfer(origin, collection_id, item_id, new_owner)?;119611991197 Ok(())1200 // Ok(())1198 }1201 // }119912021200 /// Set off-chain data schema.1203 /// Set off-chain data schema.1201 /// 1204 /// 1209 /// * collection_id.1212 /// * collection_id.1210 /// 1213 /// 1211 /// * schema: String representing the offchain data schema.1214 /// * schema: String representing the offchain data schema.1212 #[weight = T::WeightInfo::set_variable_meta_data()]1215 #[weight = <T as Config>::WeightInfo::set_variable_meta_data()]1213 pub fn set_variable_meta_data (1216 pub fn set_variable_meta_data (1214 origin,1217 origin,1215 collection_id: CollectionId,1218 collection_id: CollectionId,1254 /// * collection_id.1257 /// * collection_id.1255 /// 1258 /// 1256 /// * schema: SchemaVersion: enum1259 /// * schema: SchemaVersion: enum1257 #[weight = T::WeightInfo::set_schema_version()]1260 #[weight = <T as Config>::WeightInfo::set_schema_version()]1258 pub fn set_schema_version(1261 pub fn set_schema_version(1259 origin,1262 origin,1260 collection_id: CollectionId,1263 collection_id: CollectionId,1281 /// * collection_id.1284 /// * collection_id.1282 /// 1285 /// 1283 /// * schema: String representing the offchain data schema.1286 /// * schema: String representing the offchain data schema.1284 #[weight = T::WeightInfo::set_offchain_schema()]1287 #[weight = <T as Config>::WeightInfo::set_offchain_schema()]1285 pub fn set_offchain_schema(1288 pub fn set_offchain_schema(1286 origin,1289 origin,1287 collection_id: CollectionId,1290 collection_id: CollectionId,1312 /// * collection_id.1315 /// * collection_id.1313 /// 1316 /// 1314 /// * schema: String representing the const on-chain data schema.1317 /// * schema: String representing the const on-chain data schema.1315 #[weight = T::WeightInfo::set_const_on_chain_schema()]1318 #[weight = <T as Config>::WeightInfo::set_const_on_chain_schema()]1316 pub fn set_const_on_chain_schema (1319 pub fn set_const_on_chain_schema (1317 origin,1320 origin,1318 collection_id: CollectionId,1321 collection_id: CollectionId,1343 /// * collection_id.1346 /// * collection_id.1344 /// 1347 /// 1345 /// * schema: String representing the variable on-chain data schema.1348 /// * schema: String representing the variable on-chain data schema.1346 #[weight = T::WeightInfo::set_const_on_chain_schema()]1349 #[weight = <T as Config>::WeightInfo::set_const_on_chain_schema()]1347 pub fn set_variable_on_chain_schema (1350 pub fn set_variable_on_chain_schema (1348 origin,1351 origin,1349 collection_id: CollectionId,1352 collection_id: CollectionId,1363 }1366 }136413671365 // Sudo permissions function1368 // Sudo permissions function1366 #[weight = T::WeightInfo::set_chain_limits()]1369 #[weight = <T as Config>::WeightInfo::set_chain_limits()]1367 pub fn set_chain_limits(1370 pub fn set_chain_limits(1368 origin,1371 origin,1369 limits: ChainLimits1372 limits: ChainLimits1387 /// * contract address1390 /// * contract address1388 /// * enable flag1391 /// * enable flag1389 /// 1392 /// 1390 #[weight = T::WeightInfo::enable_contract_sponsoring()]1393 #[weight = <T as Config>::WeightInfo::enable_contract_sponsoring()]1391 pub fn enable_contract_sponsoring(1394 pub fn enable_contract_sponsoring(1392 origin,1395 origin,1393 contract_address: T::AccountId,1396 contract_address: T::AccountId,1422 /// -`contract_address`: Address of the contract to sponsor1425 /// -`contract_address`: Address of the contract to sponsor1423 /// -`rate_limit`: Number of blocks to wait until the next sponsored transaction is allowed1426 /// -`rate_limit`: Number of blocks to wait until the next sponsored transaction is allowed1424 /// 1427 /// 1425 #[weight = T::WeightInfo::set_contract_sponsoring_rate_limit()]1428 #[weight = <T as Config>::WeightInfo::set_contract_sponsoring_rate_limit()]1426 pub fn set_contract_sponsoring_rate_limit(1429 pub fn set_contract_sponsoring_rate_limit(1427 origin,1430 origin,1428 contract_address: T::AccountId,1431 contract_address: T::AccountId,1449 /// -`contract_address`: Address of the contract.1452 /// -`contract_address`: Address of the contract.1450 /// 1453 /// 1451 /// - `enable`: . 1454 /// - `enable`: . 1452 #[weight = T::WeightInfo::toggle_contract_white_list()]1455 #[weight = <T as Config>::WeightInfo::toggle_contract_white_list()]1453 pub fn toggle_contract_white_list(1456 pub fn toggle_contract_white_list(1454 origin,1457 origin,1455 contract_address: T::AccountId,1458 contract_address: T::AccountId,1476 /// -`contract_address`: Address of the contract.1479 /// -`contract_address`: Address of the contract.1477 ///1480 ///1478 /// -`account_address`: Address to add.1481 /// -`account_address`: Address to add.1479 #[weight = T::WeightInfo::add_to_contract_white_list()]1482 #[weight = <T as Config>::WeightInfo::add_to_contract_white_list()]1480 pub fn add_to_contract_white_list(1483 pub fn add_to_contract_white_list(1481 origin,1484 origin,1482 contract_address: T::AccountId,1485 contract_address: T::AccountId,1503 /// -`contract_address`: Address of the contract.1506 /// -`contract_address`: Address of the contract.1504 ///1507 ///1505 /// -`account_address`: Address to remove.1508 /// -`account_address`: Address to remove.1506 #[weight = T::WeightInfo::remove_from_contract_white_list()]1509 #[weight = <T as Config>::WeightInfo::remove_from_contract_white_list()]1507 pub fn remove_from_contract_white_list(1510 pub fn remove_from_contract_white_list(1508 origin,1511 origin,1509 contract_address: T::AccountId,1512 contract_address: T::AccountId,1519 Ok(())1522 Ok(())1520 }1523 }152115241522 #[weight = T::WeightInfo::set_collection_limits()]1525 #[weight = <T as Config>::WeightInfo::set_collection_limits()]1523 pub fn set_collection_limits(1526 pub fn set_collection_limits(1524 origin,1527 origin,1525 collection_id: u32,1528 collection_id: u32,1549 }1552 }1550}1553}155115541552impl<T: Trait> Module<T> {1555impl<T: Config> Module<T> {155315561554 fn is_correct_transfer(collection_id: CollectionId, collection: &CollectionType<T::AccountId>, recipient: &T::AccountId) -> DispatchResult {1557 fn is_correct_transfer(collection_id: CollectionId, collection: &CollectionType<T::AccountId>, recipient: &T::AccountId) -> DispatchResult {155515582244/// Fee multiplier.2247/// Fee multiplier.2245pub type Multiplier = FixedU128;2248pub type Multiplier = FixedU128;224622492247type BalanceOf<T> = <<T as transaction_payment::Trait>::Currency as Currency<2250type BalanceOf<T> = <<T as transaction_payment::Config>::OnChargeTransaction as transaction_payment::OnChargeTransaction<T>>::Balance;2248 <T as system::Trait>::AccountId,2249>>::Balance;2250type NegativeImbalanceOf<T> = <<T as transaction_payment::Trait>::Currency as Currency<2251 <T as system::Trait>::AccountId,2252>>::NegativeImbalance;225322512254/// Require the transactor pay for themselves and maybe include a tip to gain additional priority2252/// Require the transactor pay for themselves and maybe include a tip to gain additional priority2255/// in the queue.2253/// in the queue.2256#[derive(Encode, Decode, Clone, Eq, PartialEq)]2254#[derive(Encode, Decode, Clone, Eq, PartialEq)]2257pub struct ChargeTransactionPayment<T: Trait + Send + Sync>(2255pub struct ChargeTransactionPayment<T: Config>(#[codec(compact)] BalanceOf<T>);2258 #[codec(compact)] BalanceOf<T>2259);226022562261impl<T: Trait + Send + Sync> sp_std::fmt::Debug2257impl<T: Config + Send + Sync> sp_std::fmt::Debug 2262 for ChargeTransactionPayment<T>2258 for ChargeTransactionPayment<T>2263{2259{2264 #[cfg(feature = "std")]2260 #[cfg(feature = "std")]2265 fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {2261 fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {2266 write!(f, "ChargeTransactionPayment<{:?}>", self.0)2262 write!(f, "ChargeTransactionPayment<{:?}>", self.0)2267 }2263 }2268 #[cfg(not(feature = "std"))]2264 #[cfg(not(feature = "std"))]2269 fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {2265 fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {2270 Ok(())2266 Ok(())2271 }2267 }2272}2268}227322692274impl<T: Trait + Send + Sync> ChargeTransactionPayment<T>2270impl<T: Config> ChargeTransactionPayment<T>2275where2271where2276 T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + IsSubType<Call<T>> + IsSubType<pallet_contracts::Call<T>>,2272 T::Call: Dispatchable<Info=DispatchInfo, PostInfo=PostDispatchInfo> + IsSubType<Call<T>> + IsSubType<pallet_contracts::Call<T>>,2277 BalanceOf<T>: Send + Sync + FixedPointOperand,2273 BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,2274 T::AccountId: AsRef<[u8]>,2275 T::AccountId: UncheckedFrom<T::Hash>,2278{2276{2279 /// utility constructor. Used only in client/factory code.2277 fn traditional_fee(2280 pub fn from(fee: BalanceOf<T>) -> Self {2281 Self(fee)2282 }22832284 pub fn traditional_fee(2285 len: usize,2278 len: usize,2286 info: &DispatchInfoOf<T::Call>,2279 info: &DispatchInfoOf<T::Call>,2287 tip: BalanceOf<T>,2280 tip: BalanceOf<T>,2293 }2286 }229422872295 fn get_priority(len: usize, info: &DispatchInfoOf<T::Call>, final_fee: BalanceOf<T>) -> TransactionPriority {2288 fn get_priority(len: usize, info: &DispatchInfoOf<T::Call>, final_fee: BalanceOf<T>) -> TransactionPriority {2296 let weight_saturation = T::MaximumBlockWeight::get() / info.weight.max(1);2289 let weight_saturation = T::BlockWeights::get().max_block / info.weight.max(1);2297 let len_saturation = T::MaximumBlockLength::get() as u64 / (len as u64).max(1);2290 let max_block_length = *T::BlockLength::get().max.get(DispatchClass::Normal);2291 let len_saturation = max_block_length as u64 / (len as u64).max(1);2298 let coefficient: BalanceOf<T> = weight_saturation.min(len_saturation).saturated_into::<BalanceOf<T>>();2292 let coefficient: BalanceOf<T> = weight_saturation2293 .min(len_saturation)2294 .saturated_into::<BalanceOf<T>>();2299 final_fee.saturating_mul(coefficient).saturated_into::<TransactionPriority>()2295 final_fee2296 .saturating_mul(coefficient)2297 .saturated_into::<TransactionPriority>()2300 }2298 }230122992302 fn withdraw_fee(2300 fn withdraw_fee(2303 &self,2301 &self,2304 who: &T::AccountId,2302 who: &T::AccountId,2305 call: &T::Call,2303 call: &T::Call,2306 info: &DispatchInfoOf<T::Call>,2304 info: &DispatchInfoOf<T::Call>,2307 len: usize,2305 len: usize,2308 ) -> Result<(BalanceOf<T>, Option<NegativeImbalanceOf<T>>), TransactionValidityError> {2306 ) -> Result<2307 (2308 BalanceOf<T>,2309 <<T as transaction_payment::Config>::OnChargeTransaction as transaction_payment::OnChargeTransaction<T>>::LiquidityInfo,2310 ),2311 TransactionValidityError,2312 > {2309 let tip = self.0;2313 let tip = self.0;231023142311 // Set fee based on call type. Creating collection costs 1 Unique.2315 // Set fee based on call type. Creating collection costs 1 Unique.231923232320 // Only mess with balances if fee is not zero.2324 // Only mess with balances if fee is not zero.2321 if fee.is_zero() {2325 if fee.is_zero() {2322 return Ok((fee, None));2326 return <<T as transaction_payment::Config>::OnChargeTransaction as transaction_payment::OnChargeTransaction<T>>::withdraw_fee(who, call, info, fee, tip)2327 .map(|i| (fee, i));2323 }2328 }232423292325 // Determine who is paying transaction fee based on ecnomic model2330 // Determine who is paying transaction fee based on ecnomic model2454 sponsor = match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {2459 sponsor = match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {245524602456 // On instantiation: set the contract owner2461 // On instantiation: set the contract owner2457 Some(pallet_contracts::Call::instantiate(_endowment, _gas_limit, code_hash, data)) => {2462 Some(pallet_contracts::Call::instantiate(_endowment, _gas_limit, code_hash, _data, salt)) => {245824632459 let new_contract_address = <T as pallet_contracts::Trait>::DetermineContractAddress::contract_address_for(2464 let new_contract_address = <pallet_contracts::Module<T>>::contract_address(2460 code_hash,2461 &data,2462 &who,2465 &who,2466 code_hash,2467 salt,2463 );2468 );2464 <ContractOwner<T>>::insert(new_contract_address.clone(), who.clone());2469 <ContractOwner<T>>::insert(new_contract_address.clone(), who.clone());246524702517 who_pays_fee = who.clone();2522 who_pays_fee = who.clone();2518 }2523 }251925242520 match <T as transaction_payment::Trait>::Currency::withdraw(2525 <<T as transaction_payment::Config>::OnChargeTransaction as transaction_payment::OnChargeTransaction<T>>::withdraw_fee(&who_pays_fee, call, info, fee, tip)2521 &who_pays_fee,2522 fee,2523 if tip.is_zero() {2524 WithdrawReason::TransactionPayment.into()2526 .map(|i| (fee, i))2525 } else {2526 WithdrawReason::TransactionPayment | WithdrawReason::Tip2527 },2528 ExistenceRequirement::KeepAlive,2529 ) {2530 Ok(imbalance) => Ok((fee, Some(imbalance))),2531 Err(_) => Err(InvalidTransaction::Payment.into()),2532 }2533 }2527 }2534}2528}25352529253625302537impl<T: Trait + Send + Sync> SignedExtension2531impl<T: Config + Send + Sync> SignedExtension2538 for ChargeTransactionPayment<T>2532 for ChargeTransactionPayment<T>2539where2533where2540 BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,2534 BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,2541 T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + IsSubType<Call<T>> + IsSubType<pallet_contracts::Call<T>>,2535 T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + IsSubType<Call<T>> + IsSubType<pallet_contracts::Call<T>>,2536 T::AccountId: AsRef<[u8]>,2537 T::AccountId: UncheckedFrom<T::Hash>,2542{2538{2543 const IDENTIFIER: &'static str = "ChargeTransactionPayment";2539 const IDENTIFIER: &'static str = "ChargeTransactionPayment";2544 type AccountId = T::AccountId;2540 type AccountId = T::AccountId;2545 type Call = T::Call;2541 type Call = T::Call;2546 type AdditionalSigned = ();2542 type AdditionalSigned = ();2547 type Pre = (2543 type Pre = (2544 // tip2548 BalanceOf<T>,2545 BalanceOf<T>,2546 // who pays fee2549 Self::AccountId,2547 Self::AccountId,2550 Option<NegativeImbalanceOf<T>>,2548 // imbalance resulting from withdrawing the fee2551 BalanceOf<T>,2549 <<T as transaction_payment::Config>::OnChargeTransaction as transaction_payment::OnChargeTransaction<T>>::LiquidityInfo,2552 );2550 );2553 fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {2551 fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {2554 Ok(())2552 Ok(())2575 info: &DispatchInfoOf<Self::Call>,2573 info: &DispatchInfoOf<Self::Call>,2576 len: usize,2574 len: usize,2577 ) -> Result<Self::Pre, TransactionValidityError> {2575 ) -> Result<Self::Pre, TransactionValidityError> {2578 let (fee, imbalance) = self.withdraw_fee(who, call, info, len)?;2576 let (_fee, imbalance) = self.withdraw_fee(who, call, info, len)?;2579 Ok((self.0, who.clone(), imbalance, fee))2577 Ok((self.0, who.clone(), imbalance))2580 }2578 }258125792582 fn post_dispatch(2580 fn post_dispatch(2586 len: usize,2584 len: usize,2587 _result: &DispatchResult,2585 _result: &DispatchResult,2588 ) -> Result<(), TransactionValidityError> {2586 ) -> Result<(), TransactionValidityError> {2589 let (tip, who, imbalance, fee) = pre;2587 let (tip, who, imbalance) = pre;2590 if let Some(payed) = imbalance {2588 let actual_fee = transaction_payment::Module::<T>::compute_actual_fee(2591 let actual_fee = <transaction_payment::Module<T>>::compute_actual_fee(2592 len as u32, info, post_info, tip,2589 len as u32,2590 info,2591 post_info,2592 tip,2593 );2593 );2594 let refund = fee.saturating_sub(actual_fee);2595 let actual_payment =2596 match <T as transaction_payment::Trait>::Currency::deposit_into_existing(2594 <T as transaction_payment::Config>::OnChargeTransaction::correct_and_deposit_fee(&who, info, post_info, actual_fee, tip, imbalance)?;2597 &who, refund,2598 ) {2599 Ok(refund_imbalance) => {2600 // The refund cannot be larger than the up front payed max weight.2601 // `PostDispatchInfo::calc_unspent` guards against such a case.2602 match payed.offset(refund_imbalance) {2603 Ok(actual_payment) => actual_payment,2604 Err(_) => return Err(InvalidTransaction::Payment.into()),2605 }2606 }2607 // We do not recreate the account using the refund. The up front payment2608 // is gone in that case.2609 Err(_) => payed,2610 };2611 let imbalances = actual_payment.split(tip);2612 <T as transaction_payment::Trait>::OnTransactionPayment::on_unbalanceds(2613 Some(imbalances.0).into_iter().chain(Some(imbalances.1)),2614 );2615 }2616 Ok(())2595 Ok(())2617 }2596 }2618}2597}26192598runtime/Cargo.tomldiffbeforeafterboth5license = 'Unlicense'5license = 'Unlicense'6name = 'nft-runtime'6name = 'nft-runtime'7repository = 'https://github.com/usetech-llc/nft_parachain/'7repository = 'https://github.com/usetech-llc/nft_parachain/'8version = '2.0.0'8version = '2.0.1'9910[package.metadata.docs.rs]10[package.metadata.docs.rs]11targets = ['x86_64-unknown-linux-gnu']11targets = ['x86_64-unknown-linux-gnu']25serde = { features = ['derive'], optional = true, version = '1.0.101' }25serde = { features = ['derive'], optional = true, version = '1.0.101' }262627# local dependencies27# local dependencies28pallet-nft = { path = '../pallets/nft', default-features = false, version = '2.0.0' }28pallet-nft = { path = '../pallets/nft', default-features = false, version = '2.0.1' }292930# Substrate dependencies30# Substrate dependencies31frame-benchmarking = { default-features = false, optional = true, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }31frame-benchmarking = { default-features = false, optional = true, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }32frame-executive = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }32frame-executive = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }33frame-support = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }33frame-support = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }34frame-system = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }34frame-system = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }35frame-system-benchmarking = { default-features = false, optional = true, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }35frame-system-benchmarking = { default-features = false, optional = true, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }36frame-system-rpc-runtime-api = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }36frame-system-rpc-runtime-api = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }37pallet-aura = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }37pallet-aura = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }38pallet-balances = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }38pallet-balances = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }39pallet-contracts = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }39pallet-contracts = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }40pallet-contracts-primitives = { default-features = false, version = '2.0.0', git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }40pallet-contracts-primitives = { default-features = false, version = '2.0.1', git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }41pallet-contracts-rpc-runtime-api = { default-features = false, version = '0.8.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }41pallet-contracts-rpc-runtime-api = { default-features = false, version = '0.8.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }42pallet-grandpa = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }42pallet-grandpa = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }43pallet-randomness-collective-flip = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }43pallet-randomness-collective-flip = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }44pallet-sudo = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }44pallet-sudo = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }45pallet-timestamp = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }45pallet-timestamp = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }46pallet-transaction-payment = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }46pallet-transaction-payment = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }47pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }47pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }48pallet-treasury = { version = "2.0.0", default-features = false, git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }48pallet-treasury = { version = "2.0.1", default-features = false, git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }49pallet-vesting = { version = "2.0.0", default-features = false, git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }49pallet-vesting = { version = "2.0.1", default-features = false, git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }50sp-api = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }50sp-api = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }51sp-block-builder = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }51sp-block-builder = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }52sp-consensus-aura = { default-features = false, version = '0.8.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }52sp-consensus-aura = { default-features = false, version = '0.8.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }53sp-core = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }53sp-core = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }54sp-inherents = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }54sp-inherents = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }55sp-offchain = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }55sp-offchain = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }56sp-runtime = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }56sp-runtime = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }57sp-session = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }57sp-session = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }58sp-std = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }58sp-std = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }59sp-transaction-pool = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }59sp-transaction-pool = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }60sp-version = { default-features = false, version = '2.0.0' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'release_flexi' }60sp-version = { default-features = false, version = '2.0.1' , git = 'https://github.com/usetech-llc/substrate.git', branch = 'unique' }616162[features]62[features]63default = ['std']63default = ['std']runtime/src/lib.rsdiffbeforeafterboth13#[cfg(feature = "std")]13#[cfg(feature = "std")]14include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));14include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));151516use pallet_contracts_rpc_runtime_api::ContractExecResult;17use pallet_grandpa::fg_primitives;16use pallet_grandpa::fg_primitives;18use pallet_grandpa::{AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList};17use pallet_grandpa::{AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList};19use sp_api::impl_runtime_apis;18use sp_api::impl_runtime_apis;20use sp_consensus_aura::sr25519::AuthorityId as AuraId;19use sp_consensus_aura::sr25519::AuthorityId as AuraId;21use sp_core::{ crypto::KeyTypeId, crypto::Public, OpaqueMetadata };20use sp_core::{ crypto::KeyTypeId, crypto::Public, OpaqueMetadata };22use sp_runtime::{21use sp_runtime::{22 Permill, Perbill, Perquintill, Percent,23 // BuildStorage, 24 ModuleId, FixedPointNumber,23 create_runtime_str, generic, impl_opaque_keys,25 create_runtime_str, generic, impl_opaque_keys,24 traits::{26 traits::{25 Convert, ConvertInto, BlakeTwo256, Block as BlockT, IdentifyAccount, 27 Convert, ConvertInto, BlakeTwo256, Block as BlockT, IdentifyAccount, 26 IdentityLookup, NumberFor, Saturating, Verify,28 IdentityLookup, NumberFor, Verify,27 },29 },28 transaction_validity::{TransactionSource, TransactionValidity},30 transaction_validity::{TransactionSource, TransactionValidity},29 ApplyExtrinsicResult, MultiSignature,31 ApplyExtrinsicResult, MultiSignature,32#[cfg(feature = "std")]34#[cfg(feature = "std")]33use sp_version::NativeVersion;35use sp_version::NativeVersion;34use sp_version::RuntimeVersion;36use sp_version::RuntimeVersion;3537pub use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment, CurrencyAdapter, FeeDetails, RuntimeDispatchInfo};36// A few exports that help ease life for downstream crates.38// A few exports that help ease life for downstream crates.37pub use pallet_balances::Call as BalancesCall;39pub use pallet_balances::Call as BalancesCall;38pub use pallet_contracts::Schedule as ContractsSchedule;40pub use pallet_contracts::Schedule as ContractsSchedule;41use pallet_contracts::WeightInfo;39pub use frame_support::{42pub use frame_support::{40 construct_runtime,43 construct_runtime,41 dispatch::DispatchResult,44 dispatch::DispatchResult,42 parameter_types,45 parameter_types,43 traits::{46 traits::{44 Currency, ExistenceRequirement, Get, KeyOwnerProofSystem, OnUnbalanced, Randomness,47 Currency, ExistenceRequirement, Get, KeyOwnerProofSystem, OnUnbalanced, Randomness,45 WithdrawReason, LockIdentifier,48 LockIdentifier,46 },49 },47 weights::{50 weights::{48 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},51 constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},51 },54 },52 StorageValue,55 StorageValue,53};56};54#[cfg(any(feature = "std", test))]57// #[cfg(any(feature = "std", test))]55pub use sp_runtime::BuildStorage;56use sp_runtime:: { Perbill, Permill, Percent, ModuleId };57use frame_system::{self as system, EnsureRoot };58use frame_system::{59 self as system,60 EnsureRoot, 61 limits::{BlockWeights, BlockLength}};58use sp_std::{marker::PhantomData};62use sp_std::{marker::PhantomData};596360pub use pallet_timestamp::Call as TimestampCall;64pub use pallet_timestamp::Call as TimestampCall;168}172}169173170/// Provides a membership set with only the configured aura users174/// Provides a membership set with only the configured aura users171pub struct ValiudatorsOnly<Runtime: pallet_aura::Trait>(PhantomData<Runtime>);175pub struct ValiudatorsOnly<Runtime: pallet_aura::Config>(PhantomData<Runtime>);172impl frame_support::traits::Contains<AccountId> for ValiudatorsOnly<Runtime> {176impl frame_support::traits::Contains<AccountId> for ValiudatorsOnly<Runtime> {173 fn contains(t: &AccountId) -> bool {177 fn contains(t: &AccountId) -> bool {174 let arr: [u8; 32] = *t.as_ref();178 let arr: [u8; 32] = *t.as_ref();204 }208 }205}209}210211type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;212213pub struct DealWithFees;214impl OnUnbalanced<NegativeImbalance> for DealWithFees {215 fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item=NegativeImbalance>) {216 if let Some(fees) = fees_then_tips.next() {217 // for fees, 80% to treasury, 20% to author218 let mut split = fees.ration(80, 20);219 if let Some(tips) = fees_then_tips.next() {220 // for tips, if any, 80% to treasury, 20% to author (though this can be anything)221 tips.ration_merge_into(80, 20, &mut split);222 }223 Treasury::on_unbalanced(split.0);224 // Author::on_unbalanced(split.1);225 }226 }227}228229/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.230/// This is used to limit the maximal weight of a single extrinsic.231const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10);232/// We allow `Normal` extrinsics to fill up the block up to 75%, the rest can be used233/// by Operational extrinsics.234const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);235/// We allow for 2 seconds of compute with a 6 second average block time.236const MAXIMUM_BLOCK_WEIGHT: Weight = 2 * WEIGHT_PER_SECOND;206237207parameter_types! {238parameter_types! {208 pub const BlockHashCount: BlockNumber = 2400;239 pub const BlockHashCount: BlockNumber = 2400;209 /// We allow for 2 seconds of compute with a 6 second average block time.210 pub const MaximumBlockWeight: Weight = 2 * WEIGHT_PER_SECOND;240 pub RuntimeBlockLength: BlockLength =241 BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);211 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);242 pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);212 /// Assume 10% of weight for average on_initialize calls.213 pub MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get()243 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;244 pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()245 .base_block(BlockExecutionWeight::get())214 .saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get();246 .for_class(DispatchClass::all(), |weights| {247 weights.base_extrinsic = ExtrinsicBaseWeight::get();248 })249 .for_class(DispatchClass::Normal, |weights| {215 pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;250 weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);251 })252 .for_class(DispatchClass::Operational, |weights| {253 weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);254 // Operational transactions have some extra reserved space, so that they255 // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.256 weights.reserved = Some(257 MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT258 );259 })260 .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)261 .build_or_panic();216 pub const Version: RuntimeVersion = VERSION;262 pub const Version: RuntimeVersion = VERSION;263 pub const SS58Prefix: u8 = 42;217}264}218265219impl system::Trait for Runtime {266impl system::Config for Runtime {220 /// The basic call filter to use in dispatchable.267 /// The basic call filter to use in dispatchable.221 type BaseCallFilter = ();268 type BaseCallFilter = ();222 /// The identifier used to distinguish between accounts.269 /// The identifier used to distinguish between accounts.241 type Origin = Origin;288 type Origin = Origin;242 /// Maximum number of block number to block hash mappings to keep (oldest pruned first).289 /// Maximum number of block number to block hash mappings to keep (oldest pruned first).243 type BlockHashCount = BlockHashCount;290 type BlockHashCount = BlockHashCount;244 /// Maximum weight of each block.245 type MaximumBlockWeight = MaximumBlockWeight;246 /// The weight of database operations that the runtime can invoke.291 /// The weight of database operations that the runtime can invoke.247 type DbWeight = RocksDbWeight;292 type DbWeight = RocksDbWeight;248 /// The weight of the overhead invoked on the block import process, independent of the293 /// The weight of the overhead invoked on the block import process, independent of the249 /// extrinsics included in that block.294 /// extrinsics included in that block.250 type BlockExecutionWeight = BlockExecutionWeight;295 type BlockWeights = RuntimeBlockWeights;251 /// The base weight of any extrinsic processed by the runtime, independent of the252 /// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...)253 type ExtrinsicBaseWeight = ExtrinsicBaseWeight;254 /// The maximum weight that a single extrinsic of `Normal` dispatch class can have,255 /// idependent of the logic of that extrinsics. (Roughly max block weight - average on256 /// initialize cost).257 type MaximumExtrinsicWeight = MaximumExtrinsicWeight;258 /// Maximum size of all encoded transactions (in bytes) that are allowed in one block.259 type MaximumBlockLength = MaximumBlockLength;260 /// Portion of the block weight that is available to all normal transactions.261 type AvailableBlockRatio = AvailableBlockRatio;262 /// Version of the runtime.296 /// Version of the runtime.263 type Version = Version;297 type Version = Version;264 /// This type is being generated by `construct_runtime!`.298 /// This type is being generated by `construct_runtime!`.270 /// The data to be stored in an account.304 /// The data to be stored in an account.271 type AccountData = pallet_balances::AccountData<Balance>;305 type AccountData = pallet_balances::AccountData<Balance>;272 /// Weight information for the extrinsics of this pallet.306 /// Weight information for the extrinsics of this pallet.273 type SystemWeightInfo = ();307 type SystemWeightInfo = system::weights::SubstrateWeight<Runtime>;308 309 type BlockLength = RuntimeBlockLength;310 type SS58Prefix = SS58Prefix;274}311}275312276impl pallet_aura::Trait for Runtime {313impl pallet_aura::Config for Runtime {277 type AuthorityId = AuraId;314 type AuthorityId = AuraId;278}315}279316280impl pallet_grandpa::Trait for Runtime {317impl pallet_grandpa::Config for Runtime {281 type Event = Event;318 type Event = Event;282 type Call = Call;319 type Call = Call;283320300 pub const MinimumPeriod: u64 = SLOT_DURATION / 2;337 pub const MinimumPeriod: u64 = SLOT_DURATION / 2;301}338}302339303impl pallet_timestamp::Trait for Runtime {340impl pallet_timestamp::Config for Runtime {304 /// A timestamp: milliseconds since the unix epoch.341 /// A timestamp: milliseconds since the unix epoch.305 type Moment = u64;342 type Moment = u64;306 type OnTimestampSet = Aura;343 type OnTimestampSet = Aura;314 pub const MaxLocks: u32 = 50;351 pub const MaxLocks: u32 = 50;315}352}316353317impl pallet_balances::Trait for Runtime {354impl pallet_balances::Config for Runtime {318 type MaxLocks = MaxLocks;355 type MaxLocks = MaxLocks;319 /// The type for recording an account's balance.356 /// The type for recording an account's balance.320 type Balance = Balance;357 type Balance = Balance;330pub const CENTS: Balance = 1_000 * MILLICENTS;367pub const CENTS: Balance = 1_000 * MILLICENTS;331pub const DOLLARS: Balance = 100 * CENTS;368pub const DOLLARS: Balance = 100 * CENTS;369370pub const fn deposit(items: u32, bytes: u32) -> Balance {371 items as Balance * 15 * CENTS + (bytes as Balance) * 6 * CENTS372}332373333parameter_types! {374parameter_types! {334 pub const TombstoneDeposit: Balance = 0;375 pub const TombstoneDeposit: Balance = deposit(376 0,377 sp_std::mem::size_of::<pallet_contracts::ContractInfo<Runtime>>() as u32378 );335 pub const RentByteFee: Balance = 4 * MILLICENTS;379 pub const DepositPerContract: Balance = TombstoneDeposit::get();336 pub const RentDepositOffset: Balance = 1000 * MILLICENTS;380 pub const DepositPerStorageByte: Balance = deposit(0, 1);381 pub const DepositPerStorageItem: Balance = deposit(1, 0);382 pub RentFraction: Perbill = Perbill::from_rational_approximation(1u32, 30 * DAYS);337 pub const SurchargeReward: Balance = 150 * MILLICENTS;383 pub const SurchargeReward: Balance = 150 * MILLICENTS;384 pub const SignedClaimHandicap: u32 = 2;385 pub const MaxDepth: u32 = 32;386 pub const MaxValueSize: u32 = 16 * 1024;387 // The lazy deletion runs inside on_initialize.388 pub DeletionWeightLimit: Weight = AVERAGE_ON_INITIALIZE_RATIO *389 RuntimeBlockWeights::get().max_block;390 // The weight needed for decoding the queue should be less or equal than a fifth391 // of the overall weight dedicated to the lazy deletion.392 pub DeletionQueueDepth: u32 = ((DeletionWeightLimit::get() / (393 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(1) -394 <Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(0)395 )) / 5) as u32;338}396}397339398340impl pallet_contracts::Trait for Runtime {399impl pallet_contracts::Config for Runtime {341 type Time = Timestamp;400 type Time = Timestamp;342 type Randomness = RandomnessCollectiveFlip;401 type Randomness = RandomnessCollectiveFlip;343 type Currency = Balances;402 type Currency = Balances;344 type Event = Event;403 type Event = Event;345 type DetermineContractAddress = pallet_contracts::SimpleAddressDeterminer<Runtime>;346 type TrieIdGenerator = pallet_contracts::TrieIdFromParentCounter<Runtime>;347 type RentPayment = ();404 type RentPayment = ();348 type SignedClaimHandicap = pallet_contracts::DefaultSignedClaimHandicap;405 type SignedClaimHandicap = SignedClaimHandicap;349 type TombstoneDeposit = TombstoneDeposit;406 type TombstoneDeposit = TombstoneDeposit;350 type StorageSizeOffset = pallet_contracts::DefaultStorageSizeOffset;407 type DepositPerContract = DepositPerContract;351 type RentByteFee = RentByteFee;408 type DepositPerStorageByte = DepositPerStorageByte;352 type RentDepositOffset = RentDepositOffset;409 type DepositPerStorageItem = DepositPerStorageItem;410 type RentFraction = RentFraction;353 type SurchargeReward = SurchargeReward;411 type SurchargeReward = SurchargeReward;354 type MaxDepth = pallet_contracts::DefaultMaxDepth;412 type MaxDepth = MaxDepth;355 type MaxValueSize = pallet_contracts::DefaultMaxValueSize;413 type MaxValueSize = MaxValueSize;356 type WeightPrice = pallet_transaction_payment::Module<Self>;414 type WeightPrice = pallet_transaction_payment::Module<Self>;415 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;416 type ChainExtension = ();417 type DeletionQueueDepth = DeletionQueueDepth;418 type DeletionWeightLimit = DeletionWeightLimit;357}419}358420359parameter_types! {421parameter_types! {360 pub const TransactionByteFee: Balance = 10 * MILLICENTS;422 pub const TransactionByteFee: Balance = 10 * MILLICENTS;423 pub const TargetBlockFullness: Perquintill = Perquintill::from_percent(25);424 pub AdjustmentVariable: Multiplier = Multiplier::saturating_from_rational(1, 100_000);425 pub MinimumMultiplier: Multiplier = Multiplier::saturating_from_rational(1, 1_000_000_000u128);361}426}362427363impl pallet_transaction_payment::Trait for Runtime {428impl pallet_transaction_payment::Config for Runtime {364 type Currency = pallet_balances::Module<Runtime>;429 type OnChargeTransaction = CurrencyAdapter<Balances, DealWithFees>;365 type OnTransactionPayment = Treasury;366 type TransactionByteFee = TransactionByteFee;430 type TransactionByteFee = TransactionByteFee;367 type WeightToFee = IdentityFee<Balance>;431 type WeightToFee = IdentityFee<Balance>;368 type FeeMultiplierUpdate = ();432 type FeeMultiplierUpdate =433 TargetedFeeAdjustment<Self, TargetBlockFullness, AdjustmentVariable, MinimumMultiplier>;369}434}370435371parameter_types! {436parameter_types! {386 pub const BountyValueMinimum: Balance = 5 * DOLLARS;451 pub const BountyValueMinimum: Balance = 5 * DOLLARS;387}452}388453389impl pallet_treasury::Trait for Runtime {454impl pallet_treasury::Config for Runtime {390 type ModuleId = TreasuryModuleId;455 type ModuleId = TreasuryModuleId;391 type Currency = Balances;456 type Currency = Balances;392 type ApproveOrigin = EnsureRoot<AccountId>;457 type ApproveOrigin = EnsureRoot<AccountId>;393 type RejectOrigin = EnsureRoot<AccountId>;458 type RejectOrigin = EnsureRoot<AccountId>;394 type Tippers = ValiudatorsOnly<Self>;395 type TipCountdown = TipCountdown;396 type TipFindersFee = TipFindersFee;397 type TipReportDepositBase = TipReportDepositBase;398 type DataDepositPerByte = DataDepositPerByte;399 type Event = Event;459 type Event = Event;400 type OnSlash = ();460 type OnSlash = ();401 type ProposalBond = ProposalBond;461 type ProposalBond = ProposalBond;402 type ProposalBondMinimum = ProposalBondMinimum;462 type ProposalBondMinimum = ProposalBondMinimum;403 type SpendPeriod = SpendPeriod;463 type SpendPeriod = SpendPeriod;404 type Burn = Burn;464 type Burn = Burn;405 type BountyDepositBase = BountyDepositBase;465 type BurnDestination = ();406 type BountyDepositPayoutDelay = BountyDepositPayoutDelay;407 type BountyUpdatePeriod = BountyUpdatePeriod;408 type BountyCuratorDeposit = BountyCuratorDeposit;409 type BountyValueMinimum = BountyValueMinimum;410 type MaximumReasonLength = MaximumReasonLength;411 type BurnDestination = ();466 type SpendFunds = ();412 type WeightInfo = ();467 type WeightInfo = pallet_treasury::weights::SubstrateWeight<Runtime>;413}468}414469415impl pallet_sudo::Trait for Runtime {470impl pallet_sudo::Config for Runtime {416 type Event = Event;471 type Event = Event;417 type Call = Call;472 type Call = Call;418}473}421 pub const MinVestedTransfer: Balance = 100 * DOLLARS;476 pub const MinVestedTransfer: Balance = 100 * DOLLARS;422}477}423478424impl pallet_vesting::Trait for Runtime {479impl pallet_vesting::Config for Runtime {425 type Event = Event;480 type Event = Event;426 type Currency = Balances;481 type Currency = Balances;427 type BlockNumberToBalance = ConvertInto;482 type BlockNumberToBalance = ConvertInto;430}485}431486432/// Used for the module nft in `./nft.rs`487/// Used for the module nft in `./nft.rs`433impl pallet_nft::Trait for Runtime {488impl pallet_nft::Config for Runtime {434 type Event = Event;489 type Event = Event;435 type WeightInfo = nft_weights::WeightInfo;490 type WeightInfo = nft_weights::WeightInfo;436}491}443 {498 {444 System: system::{Module, Call, Config, Storage, Event<T>},499 System: system::{Module, Call, Config, Storage, Event<T>},445 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage},500 RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage},446 Contracts: pallet_contracts::{Module, Call, Config, Storage, Event<T>},501 Contracts: pallet_contracts::{Module, Call, Config<T>, Storage, Event<T>},447 Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent},502 Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent},448 Aura: pallet_aura::{Module, Config<T>, Inherent},503 Aura: pallet_aura::{Module, Config<T>, Inherent},449 Grandpa: pallet_grandpa::{Module, Call, Storage, Config, Event},504 Grandpa: pallet_grandpa::{Module, Call, Storage, Config, Event},495 value: Balance,550 value: Balance,496 gas_limit: u64,551 gas_limit: u64,497 input_data: Vec<u8>,552 input_data: Vec<u8>,498 ) -> ContractExecResult {553 ) -> pallet_contracts_primitives::ContractExecResult {499 let (exec_result, gas_consumed) =500 Contracts::bare_call(origin, dest.into(), value, gas_limit, input_data);554 Contracts::bare_call(origin, dest, value, gas_limit, input_data)501 match exec_result {502 Ok(v) => ContractExecResult::Success {503 flags: v.flags.bits(),504 data: v.data,505 gas_consumed: gas_consumed,506 },507 Err(_) => ContractExecResult::Error,508 }509 }555 }510556511 fn get_storage(557 fn get_storage(640 fn query_info(686 fn query_info(uxt: <Block as BlockT>::Extrinsic, len: u32) -> RuntimeDispatchInfo<Balance> {641 uxt: <Block as BlockT>::Extrinsic,642 len: u32,643 ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo<Balance> {644 TransactionPayment::query_info(uxt, len)687 TransactionPayment::query_info(uxt, len)645 }688 }689 fn query_fee_details(uxt: <Block as BlockT>::Extrinsic, len: u32) -> FeeDetails<Balance> {690 TransactionPayment::query_fee_details(uxt, len)691 }646 }692 }647693648 #[cfg(feature = "runtime-benchmarks")]694 #[cfg(feature = "runtime-benchmarks")]runtime_types.jsondiffbeforeafterboth115 "SponsoredMintSize": "u32",115 "SponsoredMintSize": "u32",116 "TokenLimit": "u32",116 "TokenLimit": "u32",117 "SponsorTimeout": "u32"117 "SponsorTimeout": "u32"118 }118 },119 "AccountInfo": "AccountInfoWithProviders",120 "AccountInfoWithProviders": {121 "nonce": "Index",122 "consumers": "RefCount",123 "providers": "RefCount",124 "data": "AccountData"125 }126119 }127 }120 128