difftreelog
Merge remote-tracking branch 'origin/develop' into feature/NFTPAR-366_insert_ethereum_pallets
in: master
44 files changed
.gitignorediffbeforeafterboth--- a/.gitignore
+++ b/.gitignore
@@ -12,4 +12,8 @@
/.idea/
-tests/.vscode
\ No newline at end of file
+tests/.vscode
+cumulus-parachain/
+*genesis
+*wasm
+tmp/
\ No newline at end of file
Cargo.lockdiffbeforeafterboth117]117]118118119[[package]]119[[package]]120<<<<<<< HEAD121=======122name = "always-assert"123version = "0.1.2"124source = "registry+https://github.com/rust-lang/crates.io-index"125checksum = "fbf688625d06217d5b1bb0ea9d9c44a1635fd0ee3534466388d18203174f4d11"126127[[package]]128>>>>>>> origin/develop120name = "ansi_term"129name = "ansi_term"121version = "0.11.0"130version = "0.11.0"122source = "registry+https://github.com/rust-lang/crates.io-index"131source = "registry+https://github.com/rust-lang/crates.io-index"187196188[[package]]197[[package]]189name = "asn1_der"198name = "asn1_der"190version = "0.6.3"199version = "0.7.4"191source = "registry+https://github.com/rust-lang/crates.io-index"200source = "registry+https://github.com/rust-lang/crates.io-index"192checksum = "6fce6b6a0ffdafebd82c87e79e3f40e8d2c523e5fea5566ff6b90509bf98d638"201checksum = "9d6e24d2cce90c53b948c46271bfb053e4bdc2db9b5d3f65e20f8cf28a1b7fc3"193dependencies = [194 "asn1_der_derive",195]196202197[[package]]203[[package]]198name = "asn1_der_derive"204name = "assert_matches"199version = "0.1.2"205version = "1.5.0"200source = "registry+https://github.com/rust-lang/crates.io-index"206source = "registry+https://github.com/rust-lang/crates.io-index"201checksum = "0d0864d84b8e07b145449be9a8537db86bf9de5ce03b913214694643b4743502"207checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"208209[[package]]210name = "async-attributes"211version = "1.1.2"212source = "registry+https://github.com/rust-lang/crates.io-index"213checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5"202dependencies = [214dependencies = [203 "quote",215 "quote",204 "syn",216 "syn",306source = "registry+https://github.com/rust-lang/crates.io-index"318source = "registry+https://github.com/rust-lang/crates.io-index"307checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341"319checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341"308dependencies = [320dependencies = [321 "async-attributes",309 "async-channel",322 "async-channel",310 "async-global-executor",323 "async-global-executor",311 "async-io",324 "async-io",312 "async-lock",325 "async-lock",313 "async-process",326 "async-process",327<<<<<<< HEAD314 "crossbeam-utils 0.8.4",328 "crossbeam-utils 0.8.4",329=======330 "crossbeam-utils 0.8.3",331>>>>>>> origin/develop315 "futures-channel",332 "futures-channel",316 "futures-core",333 "futures-core",317 "futures-io",334 "futures-io",329]346]330347331[[package]]348[[package]]349name = "async-std-resolver"350version = "0.20.1"351source = "registry+https://github.com/rust-lang/crates.io-index"352checksum = "f665c56111e244fe38e7708ee10948a4356ad6a548997c21f5a63a0f4e0edc4d"353dependencies = [354 "async-std",355 "async-trait",356 "futures-io",357 "futures-util",358 "pin-utils",359 "trust-dns-resolver",360]361362[[package]]332name = "async-task"363name = "async-task"333version = "4.0.3"364version = "4.0.3"334source = "registry+https://github.com/rust-lang/crates.io-index"365source = "registry+https://github.com/rust-lang/crates.io-index"335checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"366checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"336367337[[package]]368[[package]]338name = "async-trait"369name = "async-trait"370<<<<<<< HEAD339version = "0.1.50"371version = "0.1.50"340source = "registry+https://github.com/rust-lang/crates.io-index"372source = "registry+https://github.com/rust-lang/crates.io-index"341checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722"373checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722"374=======375version = "0.1.49"376source = "registry+https://github.com/rust-lang/crates.io-index"377checksum = "589652ce7ccb335d1e7ecb3be145425702b290dbcb7029bbeaae263fc1d87b48"378>>>>>>> origin/develop342dependencies = [379dependencies = [343 "proc-macro2",380 "proc-macro2",344 "quote",381 "quote",414 "cfg-if 1.0.0",451 "cfg-if 1.0.0",415 "libc",452 "libc",416 "miniz_oxide",453 "miniz_oxide",454<<<<<<< HEAD417 "object 0.24.0",455 "object 0.24.0",456=======457 "object",458>>>>>>> origin/develop418 "rustc-demangle",459 "rustc-demangle",419]460]420461443checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"484checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"444485445[[package]]486[[package]]487name = "beef"488version = "0.5.0"489source = "registry+https://github.com/rust-lang/crates.io-index"490checksum = "6736e2428df2ca2848d846c43e88745121a6654696e349ce0054a420815a7409"491492[[package]]493name = "beefy-gadget"494version = "0.1.0"495source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"496dependencies = [497 "beefy-primitives",498 "futures 0.3.14",499 "hex",500 "log",501 "parity-scale-codec",502 "parking_lot 0.11.1",503 "sc-client-api",504 "sc-keystore",505 "sc-network",506 "sc-network-gossip",507 "sp-api",508 "sp-application-crypto",509 "sp-arithmetic",510 "sp-blockchain",511 "sp-consensus",512 "sp-core",513 "sp-keystore",514 "sp-runtime",515 "sp-utils",516 "substrate-prometheus-endpoint",517 "thiserror",518]519520[[package]]521name = "beefy-gadget-rpc"522version = "0.1.0"523source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"524dependencies = [525 "beefy-gadget",526 "beefy-primitives",527 "futures 0.3.14",528 "jsonrpc-core",529 "jsonrpc-core-client",530 "jsonrpc-derive",531 "jsonrpc-pubsub",532 "log",533 "parity-scale-codec",534 "sc-rpc",535 "serde",536 "serde_json",537 "sp-core",538 "sp-runtime",539]540541[[package]]542name = "beefy-primitives"543version = "0.1.0"544source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"545dependencies = [546 "parity-scale-codec",547 "sp-api",548 "sp-application-crypto",549 "sp-core",550 "sp-runtime",551 "sp-std",552]553554[[package]]446name = "bincode"555name = "bincode"447version = "1.3.3"556version = "1.3.3"448source = "registry+https://github.com/rust-lang/crates.io-index"557source = "registry+https://github.com/rust-lang/crates.io-index"460 "bitflags",569 "bitflags",461 "cexpr",570 "cexpr",462 "clang-sys",571 "clang-sys",572<<<<<<< HEAD573=======574 "clap",575 "env_logger 0.7.1",576>>>>>>> origin/develop463 "lazy_static",577 "lazy_static",464 "lazycell",578 "lazycell",465 "peeking_take_while",579 "peeking_take_while",478592479[[package]]593[[package]]480name = "bitvec"594name = "bitvec"595<<<<<<< HEAD481version = "0.17.4"596version = "0.17.4"482source = "registry+https://github.com/rust-lang/crates.io-index"597source = "registry+https://github.com/rust-lang/crates.io-index"483checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"598checksum = "41262f11d771fd4a61aa3ce019fca363b4b6c282fca9da2a31186d3965a47a5c"491version = "0.20.4"606version = "0.20.4"492source = "registry+https://github.com/rust-lang/crates.io-index"607source = "registry+https://github.com/rust-lang/crates.io-index"493checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848"608checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848"609=======610version = "0.20.2"611source = "registry+https://github.com/rust-lang/crates.io-index"612checksum = "1f682656975d3a682daff957be4ddeb65d6ad656737cd821f2d00685ae466af1"613>>>>>>> origin/develop494dependencies = [614dependencies = [495 "funty",615 "funty",496 "radium 0.6.2",616 "radium 0.6.2",617]737]618738619[[package]]739[[package]]740name = "bp-header-chain"741version = "0.1.0"742source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"743dependencies = [744 "finality-grandpa",745 "frame-support",746 "parity-scale-codec",747 "serde",748 "sp-core",749 "sp-finality-grandpa",750 "sp-runtime",751 "sp-std",752]753754[[package]]755name = "bp-messages"756version = "0.1.0"757source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"758dependencies = [759 "bp-runtime",760 "frame-support",761 "frame-system",762 "parity-scale-codec",763 "sp-std",764]765766[[package]]767name = "bp-polkadot-core"768version = "0.1.0"769source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"770dependencies = [771 "bp-messages",772 "bp-runtime",773 "frame-support",774 "frame-system",775 "parity-scale-codec",776 "sp-api",777 "sp-core",778 "sp-runtime",779 "sp-std",780 "sp-version",781]782783[[package]]784name = "bp-rococo"785version = "0.1.0"786source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"787dependencies = [788 "bp-header-chain",789 "bp-messages",790 "bp-polkadot-core",791 "bp-runtime",792 "parity-scale-codec",793 "sp-api",794 "sp-runtime",795 "sp-std",796 "sp-version",797]798799[[package]]800name = "bp-runtime"801version = "0.1.0"802source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"803dependencies = [804 "frame-support",805 "hash-db",806 "num-traits",807 "parity-scale-codec",808 "sp-core",809 "sp-io",810 "sp-runtime",811 "sp-state-machine",812 "sp-std",813 "sp-trie",814]815816[[package]]817name = "bp-test-utils"818version = "0.1.0"819source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"820dependencies = [821 "bp-header-chain",822 "ed25519-dalek",823 "finality-grandpa",824 "parity-scale-codec",825 "sp-application-crypto",826 "sp-finality-grandpa",827 "sp-runtime",828 "sp-std",829]830831[[package]]832name = "bp-wococo"833version = "0.1.0"834source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"835dependencies = [836 "bp-header-chain",837 "bp-messages",838 "bp-polkadot-core",839 "bp-runtime",840 "parity-scale-codec",841 "sp-api",842 "sp-runtime",843 "sp-std",844 "sp-version",845]846847[[package]]620name = "bs58"848name = "bs58"621version = "0.4.0"849version = "0.4.0"622source = "registry+https://github.com/rust-lang/crates.io-index"850source = "registry+https://github.com/rust-lang/crates.io-index"643[[package]]871[[package]]644name = "bumpalo"872name = "bumpalo"645version = "3.6.1"873version = "3.6.1"874<<<<<<< HEAD646source = "registry+https://github.com/rust-lang/crates.io-index"875source = "registry+https://github.com/rust-lang/crates.io-index"647checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"876checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"648877651version = "0.3.5"880version = "0.3.5"652source = "registry+https://github.com/rust-lang/crates.io-index"881source = "registry+https://github.com/rust-lang/crates.io-index"653checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"882checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3"883=======884source = "registry+https://github.com/rust-lang/crates.io-index"885checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"886>>>>>>> origin/develop654887655[[package]]888[[package]]656name = "byte-slice-cast"889name = "byte-slice-cast"752checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"985checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"753986754[[package]]987[[package]]988name = "cfg_aliases"989version = "0.1.1"990source = "registry+https://github.com/rust-lang/crates.io-index"991checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"992993[[package]]755name = "chacha20"994name = "chacha20"756version = "0.5.0"995version = "0.5.0"757source = "registry+https://github.com/rust-lang/crates.io-index"996source = "registry+https://github.com/rust-lang/crates.io-index"808]1047]8091048810[[package]]1049[[package]]1050name = "ckb-merkle-mountain-range"1051version = "0.3.1"1052source = "registry+https://github.com/rust-lang/crates.io-index"1053checksum = "e486fe53bb9f2ca0f58cb60e8679a5354fd6687a839942ef0a75967250289ca6"1054dependencies = [1055 "cfg-if 0.1.10",1056]10571058[[package]]811name = "clang-sys"1059name = "clang-sys"812version = "1.2.0"1060version = "1.2.0"813source = "registry+https://github.com/rust-lang/crates.io-index"1061source = "registry+https://github.com/rust-lang/crates.io-index"9061154907[[package]]1155[[package]]908name = "cranelift-bforest"1156name = "cranelift-bforest"909version = "0.69.0"1157version = "0.71.0"910source = "registry+https://github.com/rust-lang/crates.io-index"1158source = "registry+https://github.com/rust-lang/crates.io-index"911checksum = "4066fd63b502d73eb8c5fa6bcab9c7962b05cd580f6b149ee83a8e730d8ce7fb"1159checksum = "bcee7a5107071484772b89fdf37f0f460b7db75f476e43ea7a684fd942470bcf"912dependencies = [1160dependencies = [913 "cranelift-entity",1161 "cranelift-entity",914]1162]9151163916[[package]]1164[[package]]917name = "cranelift-codegen"1165name = "cranelift-codegen"918version = "0.69.0"1166version = "0.71.0"919source = "registry+https://github.com/rust-lang/crates.io-index"1167source = "registry+https://github.com/rust-lang/crates.io-index"920checksum = "1a54e4beb833a3c873a18a8fe735d73d732044004c7539a072c8faa35ccb0c60"1168checksum = "654ab96f0f1cab71c0d323618a58360a492da2c341eb2c1f977fc195c664001b"921dependencies = [1169dependencies = [922 "byteorder",1170 "byteorder",923 "cranelift-bforest",1171 "cranelift-bforest",9351183936[[package]]1184[[package]]937name = "cranelift-codegen-meta"1185name = "cranelift-codegen-meta"938version = "0.69.0"1186version = "0.71.0"939source = "registry+https://github.com/rust-lang/crates.io-index"1187source = "registry+https://github.com/rust-lang/crates.io-index"940checksum = "c54cac7cacb443658d8f0ff36a3545822613fa202c946c0891897843bc933810"1188checksum = "65994cfc5be9d5fd10c5fc30bcdddfa50c04bb79c91329287bff846434ff8f14"941dependencies = [1189dependencies = [942 "cranelift-codegen-shared",1190 "cranelift-codegen-shared",943 "cranelift-entity",1191 "cranelift-entity",944]1192]9451193946[[package]]1194[[package]]947name = "cranelift-codegen-shared"1195name = "cranelift-codegen-shared"948version = "0.69.0"1196version = "0.71.0"949source = "registry+https://github.com/rust-lang/crates.io-index"1197source = "registry+https://github.com/rust-lang/crates.io-index"950checksum = "a109760aff76788b2cdaeefad6875a73c2b450be13906524f6c2a81e05b8d83c"1198checksum = "889d720b688b8b7df5e4903f9b788c3c59396050f5548e516e58ccb7312463ab"1199dependencies = [1200 "serde",1201]9511202952[[package]]1203[[package]]953name = "cranelift-entity"1204name = "cranelift-entity"954version = "0.69.0"1205version = "0.71.0"955source = "registry+https://github.com/rust-lang/crates.io-index"1206source = "registry+https://github.com/rust-lang/crates.io-index"956checksum = "3b044234aa32531f89a08b487630ddc6744696ec04c8123a1ad388de837f5de3"1207checksum = "1a2e6884a363e42a9ba980193ea8603a4272f8a92bd8bbaf9f57a94dbea0ff96"957dependencies = [1208dependencies = [958 "serde",1209 "serde",959]1210]9601211961[[package]]1212[[package]]962name = "cranelift-frontend"1213name = "cranelift-frontend"963version = "0.69.0"1214version = "0.71.0"964source = "registry+https://github.com/rust-lang/crates.io-index"1215source = "registry+https://github.com/rust-lang/crates.io-index"965checksum = "5452b3e4e97538ee5ef2cc071301c69a86c7adf2770916b9d04e9727096abd93"1216checksum = "e6f41e2f9b57d2c030e249d0958f1cdc2c3cd46accf8c0438b3d1944e9153444"966dependencies = [1217dependencies = [967 "cranelift-codegen",1218 "cranelift-codegen",968 "log",1219 "log",9721223973[[package]]1224[[package]]974name = "cranelift-native"1225name = "cranelift-native"975version = "0.69.0"1226version = "0.71.0"976source = "registry+https://github.com/rust-lang/crates.io-index"1227source = "registry+https://github.com/rust-lang/crates.io-index"977checksum = "f68035c10b2e80f26cc29c32fa824380877f38483504c2a47b54e7da311caaf3"1228checksum = "aab70ba7575665375d31cbdea2462916ce58be887834e1b83c860b43b51af637"978dependencies = [1229dependencies = [979 "cranelift-codegen",1230 "cranelift-codegen",980 "raw-cpuid",981 "target-lexicon",1231 "target-lexicon",982]1232]9831233984[[package]]1234[[package]]985name = "cranelift-wasm"1235name = "cranelift-wasm"986version = "0.69.0"1236version = "0.71.0"987source = "registry+https://github.com/rust-lang/crates.io-index"1237source = "registry+https://github.com/rust-lang/crates.io-index"988checksum = "a530eb9d1c95b3309deb24c3d179d8b0ba5837ed98914a429787c395f614949d"1238checksum = "f2fc3d2e70da6439adf97648dcdf81834363154f2907405345b6fbe7ca38918c"989dependencies = [1239dependencies = [990 "cranelift-codegen",1240 "cranelift-codegen",991 "cranelift-entity",1241 "cranelift-entity",992 "cranelift-frontend",1242 "cranelift-frontend",993 "itertools",1243 "itertools 0.10.0",994 "log",1244 "log",995 "serde",1245 "serde",996 "smallvec 1.6.1",1246 "smallvec 1.6.1",1014checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"1264checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4"1015dependencies = [1265dependencies = [1016 "cfg-if 1.0.0",1266 "cfg-if 1.0.0",1267<<<<<<< HEAD1017 "crossbeam-utils 0.8.4",1268 "crossbeam-utils 0.8.4",1269=======1270 "crossbeam-utils 0.8.3",1271>>>>>>> origin/develop1018]1272]101912731020[[package]]1274[[package]]1035checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"1289checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"1036dependencies = [1290dependencies = [1037 "cfg-if 1.0.0",1291 "cfg-if 1.0.0",1292<<<<<<< HEAD1038 "crossbeam-epoch 0.9.4",1293 "crossbeam-epoch 0.9.4",1039 "crossbeam-utils 0.8.4",1294 "crossbeam-utils 0.8.4",1295=======1296 "crossbeam-epoch 0.9.3",1297 "crossbeam-utils 0.8.3",1298>>>>>>> origin/develop1040]1299]104113001042[[package]]1301[[package]]105613151057[[package]]1316[[package]]1058name = "crossbeam-epoch"1317name = "crossbeam-epoch"1318<<<<<<< HEAD1059version = "0.9.4"1319version = "0.9.4"1060source = "registry+https://github.com/rust-lang/crates.io-index"1320source = "registry+https://github.com/rust-lang/crates.io-index"1061checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94"1321checksum = "52fb27eab85b17fbb9f6fd667089e07d6a2eb8743d02639ee7f6a7a7729c9c94"1062dependencies = [1322dependencies = [1063 "cfg-if 1.0.0",1323 "cfg-if 1.0.0",1064 "crossbeam-utils 0.8.4",1324 "crossbeam-utils 0.8.4",1325=======1326version = "0.9.3"1327source = "registry+https://github.com/rust-lang/crates.io-index"1328checksum = "2584f639eb95fea8c798496315b297cf81b9b58b6d30ab066a75455333cf4b12"1329dependencies = [1330 "cfg-if 1.0.0",1331 "crossbeam-utils 0.8.3",1332>>>>>>> origin/develop1065 "lazy_static",1333 "lazy_static",1066 "memoffset 0.6.3",1334 "memoffset 0.6.3",1067 "scopeguard",1335 "scopeguard",109113591092[[package]]1360[[package]]1093name = "crossbeam-utils"1361name = "crossbeam-utils"1362<<<<<<< HEAD1094version = "0.8.4"1363version = "0.8.4"1095source = "registry+https://github.com/rust-lang/crates.io-index"1364source = "registry+https://github.com/rust-lang/crates.io-index"1096checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"1365checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"1366=======1367version = "0.8.3"1368source = "registry+https://github.com/rust-lang/crates.io-index"1369checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"1370>>>>>>> origin/develop1097dependencies = [1371dependencies = [1098 "autocfg",1372 "autocfg",1099 "cfg-if 1.0.0",1373 "cfg-if 1.0.0",1157]1431]115814321159[[package]]1433[[package]]1434name = "cumulus-client-cli"1435version = "0.1.0"1436source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1437dependencies = [1438 "sc-cli",1439 "sc-service",1440 "structopt",1441]14421443[[package]]1444<<<<<<< HEAD1160name = "curve25519-dalek"1445name = "curve25519-dalek"1446version = "3.1.0"1447source = "registry+https://github.com/rust-lang/crates.io-index"1448checksum = "639891fde0dbea823fc3d798a0fdf9d2f9440a42d64a78ab3488b0ca025117b3"1449=======1450name = "cumulus-client-collator"1451version = "0.1.0"1452source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1453>>>>>>> origin/develop1454dependencies = [1455 "cumulus-client-consensus-common",1456 "cumulus-client-network",1457 "cumulus-primitives-core",1458 "futures 0.3.14",1459 "parity-scale-codec",1460 "parking_lot 0.10.2",1461 "polkadot-node-primitives",1462 "polkadot-node-subsystem",1463 "polkadot-overseer",1464 "polkadot-primitives",1465 "sc-client-api",1466 "sp-api",1467 "sp-consensus",1468 "sp-core",1469 "sp-io",1470 "sp-runtime",1471 "tracing",1472]14731474[[package]]1475name = "cumulus-client-consensus-aura"1476version = "0.1.0"1477source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1478dependencies = [1479 "async-trait",1480 "cumulus-client-consensus-common",1481 "cumulus-primitives-core",1482 "futures 0.3.14",1483 "parity-scale-codec",1484 "parking_lot 0.10.2",1485 "polkadot-service",1486 "sc-client-api",1487 "sc-consensus-aura",1488 "sc-consensus-slots",1489 "sc-telemetry",1490 "sp-api",1491 "sp-application-crypto",1492 "sp-block-builder",1493 "sp-blockchain",1494 "sp-consensus",1495 "sp-consensus-aura",1496 "sp-core",1497 "sp-inherents",1498 "sp-keystore",1499 "sp-runtime",1500 "substrate-prometheus-endpoint",1501 "tracing",1502]15031504[[package]]1505name = "cumulus-client-consensus-common"1506version = "0.1.0"1507source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1508dependencies = [1509 "async-trait",1510 "dyn-clone",1511 "futures 0.3.14",1512 "parity-scale-codec",1513 "polkadot-primitives",1514 "polkadot-runtime",1515 "sc-client-api",1516 "sp-api",1517 "sp-block-builder",1518 "sp-blockchain",1519 "sp-consensus",1520 "sp-core",1521 "sp-inherents",1522 "sp-runtime",1523 "sp-trie",1524 "substrate-prometheus-endpoint",1525 "tracing",1526]15271528[[package]]1529name = "cumulus-client-network"1530version = "0.1.0"1531source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1532dependencies = [1533 "derive_more",1534 "futures 0.3.14",1535 "futures-timer 3.0.2",1536 "parity-scale-codec",1537 "parking_lot 0.10.2",1538 "polkadot-node-primitives",1539 "polkadot-parachain",1540 "polkadot-primitives",1541 "polkadot-service",1542 "polkadot-statement-table",1543 "sc-client-api",1544 "sp-api",1545 "sp-blockchain",1546 "sp-consensus",1547 "sp-core",1548 "sp-runtime",1549 "tracing",1550]15511552[[package]]1553name = "cumulus-client-pov-recovery"1554version = "0.1.0"1555source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1556dependencies = [1557 "cumulus-primitives-core",1558 "futures 0.3.14",1559 "futures-timer 3.0.2",1560 "parity-scale-codec",1561 "polkadot-node-primitives",1562 "polkadot-node-subsystem",1563 "polkadot-overseer",1564 "polkadot-parachain",1565 "polkadot-primitives",1566 "polkadot-service",1567 "polkadot-statement-table",1568 "rand 0.8.3",1569 "sc-client-api",1570 "sp-api",1571 "sp-consensus",1572 "sp-core",1573 "sp-maybe-compressed-blob",1574 "sp-runtime",1575 "tracing",1576]15771578[[package]]1579name = "cumulus-client-service"1580version = "0.1.0"1581source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1582dependencies = [1583 "cumulus-client-collator",1584 "cumulus-client-consensus-common",1585 "cumulus-client-pov-recovery",1586 "cumulus-primitives-core",1587 "parity-scale-codec",1588 "parking_lot 0.10.2",1589 "polkadot-overseer",1590 "polkadot-primitives",1591 "polkadot-service",1592 "sc-chain-spec",1593 "sc-client-api",1594 "sc-consensus-babe",1595 "sc-service",1596 "sc-telemetry",1597 "sc-tracing",1598 "sp-api",1599 "sp-blockchain",1600 "sp-consensus",1601 "sp-core",1602 "sp-runtime",1603 "tracing",1604]16051606[[package]]1607name = "cumulus-pallet-aura-ext"1608version = "0.1.0"1609source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1610dependencies = [1611 "frame-executive",1612 "frame-support",1613 "frame-system",1614 "pallet-aura",1615 "parity-scale-codec",1616 "serde",1617 "sp-application-crypto",1618 "sp-consensus-aura",1619 "sp-runtime",1620 "sp-std",1621]16221623[[package]]1624name = "cumulus-pallet-dmp-queue"1625version = "0.1.0"1626source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1627dependencies = [1628 "cumulus-primitives-core",1629 "frame-support",1630 "frame-system",1631 "log",1632 "parity-scale-codec",1633 "rand 0.8.3",1634 "rand_chacha 0.3.0",1635 "sp-io",1636 "sp-runtime",1637 "sp-std",1638 "xcm",1639 "xcm-executor",1640]16411642[[package]]1643name = "cumulus-pallet-parachain-system"1644version = "0.1.0"1645source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1646dependencies = [1647 "cumulus-primitives-core",1648 "cumulus-primitives-parachain-inherent",1649 "environmental",1650 "frame-support",1651 "frame-system",1652 "hash-db",1653 "log",1654 "memory-db",1655 "pallet-balances",1656 "parity-scale-codec",1657 "polkadot-parachain",1658 "serde",1659 "sp-core",1660 "sp-externalities",1661 "sp-inherents",1662 "sp-io",1663 "sp-runtime",1664 "sp-state-machine",1665 "sp-std",1666 "sp-trie",1667 "sp-version",1668 "trie-db",1669 "xcm",1670]16711672[[package]]1673name = "cumulus-pallet-xcm"1674version = "0.1.0"1675source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1676dependencies = [1677 "cumulus-primitives-core",1678 "frame-support",1679 "frame-system",1680 "parity-scale-codec",1681 "serde",1682 "sp-io",1683 "sp-runtime",1684 "sp-std",1685 "xcm",1686]16871688[[package]]1689name = "cumulus-pallet-xcmp-queue"1690version = "0.1.0"1691source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1692dependencies = [1693 "cumulus-primitives-core",1694 "frame-support",1695 "frame-system",1696 "log",1697 "parity-scale-codec",1698 "rand 0.8.3",1699 "rand_chacha 0.3.0",1700 "sp-runtime",1701 "sp-std",1702 "xcm",1703 "xcm-executor",1704]17051706[[package]]1707name = "cumulus-primitives-core"1708version = "0.1.0"1709source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1710dependencies = [1711 "frame-support",1712 "impl-trait-for-tuples",1713 "parity-scale-codec",1714 "polkadot-core-primitives",1715 "polkadot-parachain",1716 "polkadot-primitives",1717 "sp-api",1718 "sp-runtime",1719 "sp-std",1720 "sp-trie",1721 "xcm",1722]17231724[[package]]1725name = "cumulus-primitives-parachain-inherent"1726version = "0.1.0"1727source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1728dependencies = [1729 "async-trait",1730 "cumulus-primitives-core",1731 "parity-scale-codec",1732 "polkadot-service",1733 "sc-client-api",1734 "sp-api",1735 "sp-core",1736 "sp-inherents",1737 "sp-runtime",1738 "sp-state-machine",1739 "sp-std",1740 "sp-trie",1741 "tracing",1742]17431744[[package]]1745name = "cumulus-primitives-utility"1746version = "0.1.0"1747source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"1748dependencies = [1749 "cumulus-primitives-core",1750 "frame-support",1751 "impl-trait-for-tuples",1752 "parity-scale-codec",1753 "polkadot-core-primitives",1754 "polkadot-parachain",1755 "polkadot-primitives",1756 "sp-runtime",1757 "sp-std",1758 "sp-trie",1759 "xcm",1760]17611762[[package]]1763name = "curve25519-dalek"1161version = "2.1.2"1764version = "2.1.2"1162source = "registry+https://github.com/rust-lang/crates.io-index"1765source = "registry+https://github.com/rust-lang/crates.io-index"1163checksum = "434e1720189a637d44fe464f4df1e6eb900b4835255b14354497c78af37d9bb8"1766checksum = "434e1720189a637d44fe464f4df1e6eb900b4835255b14354497c78af37d9bb8"1244]1847]124518481246[[package]]1849[[package]]1850name = "derivative"1851version = "2.2.0"1852source = "registry+https://github.com/rust-lang/crates.io-index"1853checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"1854dependencies = [1855 "proc-macro2",1856 "quote",1857 "syn",1858]18591860[[package]]1247name = "derive_more"1861name = "derive_more"1862<<<<<<< HEAD1248version = "0.99.14"1863version = "0.99.14"1249source = "registry+https://github.com/rust-lang/crates.io-index"1864source = "registry+https://github.com/rust-lang/crates.io-index"1250checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320"1865checksum = "5cc7b9cef1e351660e5443924e4f43ab25fbbed3e9a5f052df3677deb4d6b320"1866=======1867version = "0.99.13"1868source = "registry+https://github.com/rust-lang/crates.io-index"1869checksum = "f82b1b72f1263f214c0f823371768776c4f5841b942c9883aa8e5ec584fd0ba6"1870>>>>>>> origin/develop1251dependencies = [1871dependencies = [1252 "convert_case",1872 "convert_case",1253 "proc-macro2",1873 "proc-macro2",1381checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"2001checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"138220021383[[package]]2003[[package]]2004name = "enum-as-inner"2005version = "0.3.3"2006source = "registry+https://github.com/rust-lang/crates.io-index"2007checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595"2008dependencies = [2009 "heck",2010 "proc-macro2",2011 "quote",2012 "syn",2013]20142015[[package]]1384name = "enumflags2"2016name = "enumflags2"1385version = "0.6.4"2017version = "0.6.4"1386source = "registry+https://github.com/rust-lang/crates.io-index"2018source = "registry+https://github.com/rust-lang/crates.io-index"1401]2033]140220341403[[package]]2035[[package]]2036name = "enumn"2037version = "0.1.3"2038source = "registry+https://github.com/rust-lang/crates.io-index"2039checksum = "4e58b112d5099aa0857c5d05f0eacab86406dd8c0f85fe5d320a13256d29ecf4"2040dependencies = [2041 "proc-macro2",2042 "quote",2043 "syn",2044]20452046[[package]]1404name = "env_logger"2047name = "env_logger"1405version = "0.7.1"2048version = "0.7.1"1406source = "registry+https://github.com/rust-lang/crates.io-index"2049source = "registry+https://github.com/rust-lang/crates.io-index"1407checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"2050checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"1408dependencies = [2051dependencies = [1409 "atty",2052 "atty",1410 "humantime",2053 "humantime 1.3.0",1411 "log",2054 "log",1412 "regex",2055 "regex",1413 "termcolor",2056 "termcolor",1414]2057]141520581416[[package]]2059[[package]]2060name = "env_logger"2061version = "0.8.3"2062source = "registry+https://github.com/rust-lang/crates.io-index"2063checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"2064dependencies = [2065 "atty",2066 "humantime 2.1.0",2067 "log",2068 "regex",2069 "termcolor",2070]20712072[[package]]1417name = "environmental"2073name = "environmental"1418version = "1.1.3"2074version = "1.1.3"1419source = "registry+https://github.com/rust-lang/crates.io-index"2075source = "registry+https://github.com/rust-lang/crates.io-index"145121071452[[package]]2108[[package]]1453name = "ethbloom"2109name = "ethbloom"2110<<<<<<< HEAD1454version = "0.9.2"2111version = "0.9.2"1455source = "registry+https://github.com/rust-lang/crates.io-index"2112source = "registry+https://github.com/rust-lang/crates.io-index"1456checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"2113checksum = "71a6567e6fd35589fea0c63b94b4cf2e55573e413901bdbe60ab15cf0e25e5df"146421211465[[package]]2122[[package]]1466name = "ethbloom"2123name = "ethbloom"2124=======2125>>>>>>> origin/develop1467version = "0.11.0"2126version = "0.11.0"1468source = "registry+https://github.com/rust-lang/crates.io-index"2127source = "registry+https://github.com/rust-lang/crates.io-index"1469checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972"2128checksum = "779864b9c7f7ead1f092972c3257496c6a84b46dba2ce131dd8a282cb2cc5972"1470dependencies = [2129dependencies = [1471 "crunchy",2130 "crunchy",2131<<<<<<< HEAD1472 "fixed-hash 0.7.0",2132 "fixed-hash 0.7.0",1473 "impl-codec 0.5.0",2133 "impl-codec 0.5.0",1474 "impl-rlp 0.3.0",2134 "impl-rlp 0.3.0",2135=======2136 "fixed-hash",2137 "impl-rlp",2138>>>>>>> origin/develop1475 "impl-serde",2139 "impl-serde",1476 "tiny-keccak",2140 "tiny-keccak",1477]2141]147821421479[[package]]2143[[package]]2144<<<<<<< HEAD1480name = "ethereum"2145name = "ethereum"1481version = "0.7.1"2146version = "0.7.1"1482source = "registry+https://github.com/rust-lang/crates.io-index"2147source = "registry+https://github.com/rust-lang/crates.io-index"1525]2190]152621911527[[package]]2192[[package]]2193=======2194>>>>>>> origin/develop1528name = "ethereum-types"2195name = "ethereum-types"1529version = "0.11.0"2196version = "0.11.0"1530source = "registry+https://github.com/rust-lang/crates.io-index"2197source = "registry+https://github.com/rust-lang/crates.io-index"1531checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd"2198checksum = "f64b5df66a228d85e4b17e5d6c6aa43b0310898ffe8a85988c4c032357aaabfd"1532dependencies = [2199dependencies = [2200<<<<<<< HEAD1533 "ethbloom 0.11.0",2201 "ethbloom 0.11.0",1534 "fixed-hash 0.7.0",2202 "fixed-hash 0.7.0",1535 "impl-codec 0.5.0",2203 "impl-codec 0.5.0",1536 "impl-rlp 0.3.0",2204 "impl-rlp 0.3.0",1537 "impl-serde",2205 "impl-serde",1538 "primitive-types 0.9.0",2206 "primitive-types 0.9.0",1539 "uint 0.9.0",2207 "uint 0.9.0",2208=======2209 "ethbloom",2210 "fixed-hash",2211 "impl-rlp",2212 "impl-serde",2213 "primitive-types",2214 "uint",2215>>>>>>> origin/develop1540]2216]154122171542[[package]]2218[[package]]1626source = "registry+https://github.com/rust-lang/crates.io-index"2302source = "registry+https://github.com/rust-lang/crates.io-index"1627checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"2303checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"1628dependencies = [2304dependencies = [2305<<<<<<< HEAD1629 "futures 0.3.15",2306 "futures 0.3.15",2307=======2308 "futures 0.3.14",2309>>>>>>> origin/develop1630]2310]163123111632[[package]]2312[[package]]1799source = "registry+https://github.com/rust-lang/crates.io-index"2479source = "registry+https://github.com/rust-lang/crates.io-index"1800checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126"2480checksum = "4fdbe0d94371f9ce939b555dd342d0686cc4c0cadbcd4b61d70af5ff97eb4126"1801dependencies = [2481dependencies = [1802 "env_logger",2482 "env_logger 0.7.1",1803 "log",2483 "log",1804]2484]180524851810checksum = "c6447e2f8178843749e8c8003206def83ec124a7859475395777a28b5338647c"2490checksum = "c6447e2f8178843749e8c8003206def83ec124a7859475395777a28b5338647c"1811dependencies = [2491dependencies = [1812 "either",2492 "either",2493<<<<<<< HEAD1813 "futures 0.3.15",2494 "futures 0.3.15",2495=======2496 "futures 0.3.14",2497>>>>>>> origin/develop1814 "futures-timer 3.0.2",2498 "futures-timer 3.0.2",1815 "log",2499 "log",1816 "num-traits",2500 "num-traits",1886[[package]]2570[[package]]1887name = "fork-tree"2571name = "fork-tree"1888version = "3.0.0"2572version = "3.0.0"2573<<<<<<< HEAD1889source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2574source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2575=======2576source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2577>>>>>>> origin/develop1890dependencies = [2578dependencies = [1891 "parity-scale-codec 2.1.1",2579 "parity-scale-codec 2.1.1",1892]2580]1952[[package]]2640[[package]]1953name = "frame-benchmarking"2641name = "frame-benchmarking"1954version = "3.1.0"2642version = "3.1.0"2643<<<<<<< HEAD1955source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2644source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2645=======2646source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2647>>>>>>> origin/develop1956dependencies = [2648dependencies = [1957 "frame-support",2649 "frame-support",1958 "frame-system",2650 "frame-system",1959 "linregress",2651 "linregress",1960 "log",2652 "log",2653<<<<<<< HEAD1961 "parity-scale-codec 2.1.1",2654 "parity-scale-codec 2.1.1",2655=======2656 "parity-scale-codec",2657>>>>>>> origin/develop1962 "paste",2658 "paste",1963 "sp-api",2659 "sp-api",1964 "sp-io",2660 "sp-io",1971[[package]]2667[[package]]1972name = "frame-benchmarking-cli"2668name = "frame-benchmarking-cli"1973version = "3.0.0"2669version = "3.0.0"2670<<<<<<< HEAD1974source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2671source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2672=======2673source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2674>>>>>>> origin/develop1975dependencies = [2675dependencies = [1976 "Inflector",2676 "Inflector",1977 "chrono",2677 "chrono",1992]2692]199326931994[[package]]2694[[package]]2695name = "frame-election-provider-support"2696version = "3.0.0"2697source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2698dependencies = [2699 "frame-support",2700 "frame-system",2701 "parity-scale-codec",2702 "sp-arithmetic",2703 "sp-npos-elections",2704 "sp-std",2705]27062707[[package]]1995name = "frame-executive"2708name = "frame-executive"1996version = "3.0.0"2709version = "3.0.0"2710<<<<<<< HEAD1997source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2711source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"1998dependencies = [2712dependencies = [1999 "frame-support",2713 "frame-support",2000 "frame-system",2714 "frame-system",2001 "parity-scale-codec 2.1.1",2715 "parity-scale-codec 2.1.1",2002 "serde",2716 "serde",2717=======2718source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2719dependencies = [2720 "frame-support",2721 "frame-system",2722 "parity-scale-codec",2723>>>>>>> origin/develop2003 "sp-core",2724 "sp-core",2004 "sp-io",2725 "sp-io",2005 "sp-runtime",2726 "sp-runtime",2010[[package]]2731[[package]]2011name = "frame-metadata"2732name = "frame-metadata"2012version = "13.0.0"2733version = "13.0.0"2734<<<<<<< HEAD2013source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2735source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2736=======2737source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2738>>>>>>> origin/develop2014dependencies = [2739dependencies = [2015 "parity-scale-codec 2.1.1",2740 "parity-scale-codec 2.1.1",2016 "serde",2741 "serde",2021[[package]]2746[[package]]2022name = "frame-support"2747name = "frame-support"2023version = "3.0.0"2748version = "3.0.0"2749<<<<<<< HEAD2024source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2750source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2751=======2752source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2753>>>>>>> origin/develop2025dependencies = [2754dependencies = [2026 "bitflags",2755 "bitflags",2027 "frame-metadata",2756 "frame-metadata",2028 "frame-support-procedural",2757 "frame-support-procedural",2029 "impl-trait-for-tuples 0.2.1",2758 "impl-trait-for-tuples 0.2.1",2030 "log",2759 "log",2031 "once_cell",2760 "once_cell",2761<<<<<<< HEAD2032 "parity-scale-codec 2.1.1",2762 "parity-scale-codec 2.1.1",2763=======2764 "parity-scale-codec",2765>>>>>>> origin/develop2033 "paste",2766 "paste",2034 "serde",2767 "serde",2035 "smallvec 1.6.1",2768 "smallvec 1.6.1",2047[[package]]2780[[package]]2048name = "frame-support-procedural"2781name = "frame-support-procedural"2049version = "3.0.0"2782version = "3.0.0"2783<<<<<<< HEAD2050source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2784source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2785=======2786source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2787>>>>>>> origin/develop2051dependencies = [2788dependencies = [2052 "Inflector",2789 "Inflector",2053 "frame-support-procedural-tools",2790 "frame-support-procedural-tools",2059[[package]]2796[[package]]2060name = "frame-support-procedural-tools"2797name = "frame-support-procedural-tools"2061version = "3.0.0"2798version = "3.0.0"2799<<<<<<< HEAD2062source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2800source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2801=======2802source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2803>>>>>>> origin/develop2063dependencies = [2804dependencies = [2064 "frame-support-procedural-tools-derive",2805 "frame-support-procedural-tools-derive",2065 "proc-macro-crate 1.0.0",2806 "proc-macro-crate 1.0.0",2071[[package]]2812[[package]]2072name = "frame-support-procedural-tools-derive"2813name = "frame-support-procedural-tools-derive"2073version = "3.0.0"2814version = "3.0.0"2815<<<<<<< HEAD2074source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2816source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2817=======2818source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2819>>>>>>> origin/develop2075dependencies = [2820dependencies = [2076 "proc-macro2",2821 "proc-macro2",2077 "quote",2822 "quote",2081[[package]]2826[[package]]2082name = "frame-system"2827name = "frame-system"2083version = "3.0.0"2828version = "3.0.0"2829<<<<<<< HEAD2084source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2830source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2085dependencies = [2831dependencies = [2086 "frame-support",2832 "frame-support",2087 "impl-trait-for-tuples 0.2.1",2833 "impl-trait-for-tuples 0.2.1",2088 "log",2834 "log",2089 "parity-scale-codec 2.1.1",2835 "parity-scale-codec 2.1.1",2836=======2837source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2838dependencies = [2839 "frame-support",2840 "impl-trait-for-tuples",2841 "log",2842 "parity-scale-codec",2843>>>>>>> origin/develop2090 "serde",2844 "serde",2091 "sp-core",2845 "sp-core",2092 "sp-io",2846 "sp-io",2098[[package]]2852[[package]]2099name = "frame-system-benchmarking"2853name = "frame-system-benchmarking"2100version = "3.0.0"2854version = "3.0.0"2855<<<<<<< HEAD2101source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2856source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2857=======2858source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2859>>>>>>> origin/develop2102dependencies = [2860dependencies = [2103 "frame-benchmarking",2861 "frame-benchmarking",2104 "frame-support",2862 "frame-support",2112[[package]]2870[[package]]2113name = "frame-system-rpc-runtime-api"2871name = "frame-system-rpc-runtime-api"2114version = "3.0.0"2872version = "3.0.0"2873<<<<<<< HEAD2115source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2874source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"2875=======2876source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2877>>>>>>> origin/develop2116dependencies = [2878dependencies = [2117 "parity-scale-codec 2.1.1",2879 "parity-scale-codec 2.1.1",2118 "sp-api",2880 "sp-api",2119]2881]212028822121[[package]]2883[[package]]2884name = "frame-try-runtime"2885version = "0.9.0"2886source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"2887dependencies = [2888 "frame-support",2889 "parity-scale-codec",2890 "sp-api",2891 "sp-runtime",2892 "sp-std",2893]28942895[[package]]2896name = "fs-err"2897version = "2.5.0"2898source = "registry+https://github.com/rust-lang/crates.io-index"2899checksum = "bcd1163ae48bda72a20ae26d66a04d3094135cadab911cff418ae5e33f253431"29002901[[package]]2122name = "fs-swap"2902name = "fs-swap"2123version = "0.2.6"2903version = "0.2.6"2124source = "registry+https://github.com/rust-lang/crates.io-index"2904source = "registry+https://github.com/rust-lang/crates.io-index"2141]2921]214229222143[[package]]2923[[package]]2924name = "fs2"2925version = "0.4.3"2926source = "registry+https://github.com/rust-lang/crates.io-index"2927checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"2928dependencies = [2929 "libc",2930 "winapi 0.3.9",2931]29322933[[package]]2144name = "fuchsia-cprng"2934name = "fuchsia-cprng"2145version = "0.1.1"2935version = "0.1.1"2146source = "registry+https://github.com/rust-lang/crates.io-index"2936source = "registry+https://github.com/rust-lang/crates.io-index"217629662177[[package]]2967[[package]]2178name = "futures"2968name = "futures"2969<<<<<<< HEAD2179version = "0.3.15"2970version = "0.3.15"2180source = "registry+https://github.com/rust-lang/crates.io-index"2971source = "registry+https://github.com/rust-lang/crates.io-index"2181checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"2972checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"2973=======2974version = "0.3.14"2975source = "registry+https://github.com/rust-lang/crates.io-index"2976checksum = "a9d5813545e459ad3ca1bff9915e9ad7f1a47dc6a91b627ce321d5863b7dd253"2977>>>>>>> origin/develop2182dependencies = [2978dependencies = [2183 "futures-channel",2979 "futures-channel",2184 "futures-core",2980 "futures-core",219129872192[[package]]2988[[package]]2193name = "futures-channel"2989name = "futures-channel"2990<<<<<<< HEAD2194version = "0.3.15"2991version = "0.3.15"2195source = "registry+https://github.com/rust-lang/crates.io-index"2992source = "registry+https://github.com/rust-lang/crates.io-index"2196checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"2993checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"2994=======2995version = "0.3.14"2996source = "registry+https://github.com/rust-lang/crates.io-index"2997checksum = "ce79c6a52a299137a6013061e0cf0e688fce5d7f1bc60125f520912fdb29ec25"2998>>>>>>> origin/develop2197dependencies = [2999dependencies = [2198 "futures-core",3000 "futures-core",2199 "futures-sink",3001 "futures-sink",2200]3002]220130032202[[package]]3004[[package]]2203name = "futures-core"3005name = "futures-core"3006<<<<<<< HEAD2204version = "0.3.15"3007version = "0.3.15"2205source = "registry+https://github.com/rust-lang/crates.io-index"3008source = "registry+https://github.com/rust-lang/crates.io-index"2206checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"3009checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"3010=======3011version = "0.3.14"3012source = "registry+https://github.com/rust-lang/crates.io-index"3013checksum = "098cd1c6dda6ca01650f1a37a794245eb73181d0d4d4e955e2f3c37db7af1815"3014>>>>>>> origin/develop220730152208[[package]]3016[[package]]2209name = "futures-cpupool"3017name = "futures-cpupool"2222checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9"3030checksum = "fdcef58a173af8148b182684c9f2d5250875adbcaff7b5794073894f9d8634a9"2223dependencies = [3031dependencies = [2224 "futures 0.1.31",3032 "futures 0.1.31",3033<<<<<<< HEAD2225 "futures 0.3.15",3034 "futures 0.3.15",3035=======3036 "futures 0.3.14",3037>>>>>>> origin/develop2226 "lazy_static",3038 "lazy_static",2227 "log",3039 "log",2228 "parking_lot 0.9.0",3040 "parking_lot 0.9.0",223330452234[[package]]3046[[package]]2235name = "futures-executor"3047name = "futures-executor"3048<<<<<<< HEAD2236version = "0.3.15"3049version = "0.3.15"2237source = "registry+https://github.com/rust-lang/crates.io-index"3050source = "registry+https://github.com/rust-lang/crates.io-index"2238checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"3051checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"3052=======3053version = "0.3.14"3054source = "registry+https://github.com/rust-lang/crates.io-index"3055checksum = "10f6cb7042eda00f0049b1d2080aa4b93442997ee507eb3828e8bd7577f94c9d"3056>>>>>>> origin/develop2239dependencies = [3057dependencies = [2240 "futures-core",3058 "futures-core",2241 "futures-task",3059 "futures-task",224530632246[[package]]3064[[package]]2247name = "futures-io"3065name = "futures-io"3066<<<<<<< HEAD2248version = "0.3.15"3067version = "0.3.15"2249source = "registry+https://github.com/rust-lang/crates.io-index"3068source = "registry+https://github.com/rust-lang/crates.io-index"2250checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"3069checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"3070=======3071version = "0.3.14"3072source = "registry+https://github.com/rust-lang/crates.io-index"3073checksum = "365a1a1fb30ea1c03a830fdb2158f5236833ac81fa0ad12fe35b29cddc35cb04"3074>>>>>>> origin/develop225130752252[[package]]3076[[package]]2253name = "futures-lite"3077name = "futures-lite"226630902267[[package]]3091[[package]]2268name = "futures-macro"3092name = "futures-macro"3093<<<<<<< HEAD2269version = "0.3.15"3094version = "0.3.15"2270source = "registry+https://github.com/rust-lang/crates.io-index"3095source = "registry+https://github.com/rust-lang/crates.io-index"2271checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"3096checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"3097=======3098version = "0.3.14"3099source = "registry+https://github.com/rust-lang/crates.io-index"3100checksum = "668c6733a182cd7deb4f1de7ba3bf2120823835b3bcfbeacf7d2c4a773c1bb8b"3101>>>>>>> origin/develop2272dependencies = [3102dependencies = [2273 "autocfg",3103 "autocfg",2274 "proc-macro-hack",3104 "proc-macro-hack",229031202291[[package]]3121[[package]]2292name = "futures-sink"3122name = "futures-sink"3123<<<<<<< HEAD2293version = "0.3.15"3124version = "0.3.15"2294source = "registry+https://github.com/rust-lang/crates.io-index"3125source = "registry+https://github.com/rust-lang/crates.io-index"2295checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"3126checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"2299version = "0.3.15"3130version = "0.3.15"2300source = "registry+https://github.com/rust-lang/crates.io-index"3131source = "registry+https://github.com/rust-lang/crates.io-index"2301checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"3132checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"3133=======3134version = "0.3.14"3135source = "registry+https://github.com/rust-lang/crates.io-index"3136checksum = "5c5629433c555de3d82861a7a4e3794a4c40040390907cfbfd7143a92a426c23"230231372303[[package]]3138[[package]]3139name = "futures-task"3140version = "0.3.14"3141source = "registry+https://github.com/rust-lang/crates.io-index"3142checksum = "ba7aa51095076f3ba6d9a1f702f74bd05ec65f555d70d2033d55ba8d69f581bc"3143>>>>>>> origin/develop31443145[[package]]2304name = "futures-timer"3146name = "futures-timer"2305version = "2.0.2"3147version = "2.0.2"2306source = "registry+https://github.com/rust-lang/crates.io-index"3148source = "registry+https://github.com/rust-lang/crates.io-index"231431562315[[package]]3157[[package]]2316name = "futures-util"3158name = "futures-util"3159<<<<<<< HEAD2317version = "0.3.15"3160version = "0.3.15"2318source = "registry+https://github.com/rust-lang/crates.io-index"3161source = "registry+https://github.com/rust-lang/crates.io-index"2319checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"3162checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"2320dependencies = [3163dependencies = [2321 "autocfg",3164 "autocfg",3165=======3166version = "0.3.14"3167source = "registry+https://github.com/rust-lang/crates.io-index"3168checksum = "3c144ad54d60f23927f0a6b6d816e4271278b64f005ad65e4e35291d2de9c025"3169dependencies = [3170>>>>>>> origin/develop2322 "futures 0.1.31",3171 "futures 0.1.31",2323 "futures-channel",3172 "futures-channel",2324 "futures-core",3173 "futures-core",2593]3442]259434432595[[package]]3444[[package]]3445name = "hostname"3446version = "0.3.1"3447source = "registry+https://github.com/rust-lang/crates.io-index"3448checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"3449dependencies = [3450 "libc",3451 "match_cfg",3452 "winapi 0.3.9",3453]34543455[[package]]2596name = "http"3456name = "http"2597version = "0.1.21"3457version = "0.1.21"2598source = "registry+https://github.com/rust-lang/crates.io-index"3458source = "registry+https://github.com/rust-lang/crates.io-index"263834982639[[package]]3499[[package]]2640name = "httparse"3500name = "httparse"3501<<<<<<< HEAD2641version = "1.4.1"3502version = "1.4.1"2642source = "registry+https://github.com/rust-lang/crates.io-index"3503source = "registry+https://github.com/rust-lang/crates.io-index"2643checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"3504checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68"3505=======3506version = "1.3.6"3507source = "registry+https://github.com/rust-lang/crates.io-index"3508checksum = "bc35c995b9d93ec174cf9a27d425c7892722101e14993cd227fdb51d70cf9589"3509>>>>>>> origin/develop264435102645[[package]]3511[[package]]2646name = "httpdate"3512name = "httpdate"2658]3524]265935252660[[package]]3526[[package]]3527name = "humantime"3528version = "2.1.0"3529source = "registry+https://github.com/rust-lang/crates.io-index"3530checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"35313532[[package]]2661name = "hyper"3533name = "hyper"2662version = "0.12.36"3534version = "0.12.36"2663source = "registry+https://github.com/rust-lang/crates.io-index"3535source = "registry+https://github.com/rust-lang/crates.io-index"2703 "httparse",3575 "httparse",2704 "httpdate",3576 "httpdate",2705 "itoa",3577 "itoa",3578<<<<<<< HEAD2706 "pin-project 1.0.7",3579 "pin-project 1.0.7",3580=======3581 "pin-project 1.0.6",3582>>>>>>> origin/develop2707 "socket2 0.3.19",3583 "socket2 0.3.19",2708 "tokio 0.2.25",3584 "tokio 0.2.25",2709 "tower-service",3585 "tower-service",274836242749[[package]]3625[[package]]2750name = "idna"3626name = "idna"3627<<<<<<< HEAD2751version = "0.2.3"3628version = "0.2.3"2752source = "registry+https://github.com/rust-lang/crates.io-index"3629source = "registry+https://github.com/rust-lang/crates.io-index"2753checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"3630checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"3631=======3632version = "0.2.2"3633source = "registry+https://github.com/rust-lang/crates.io-index"3634checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"3635>>>>>>> origin/develop2754dependencies = [3636dependencies = [2755 "matches",3637 "matches",2756 "unicode-bidi",3638 "unicode-bidi",278036622781[[package]]3663[[package]]2782name = "if-watch"3664name = "if-watch"2783version = "0.1.8"3665version = "0.2.1"2784source = "registry+https://github.com/rust-lang/crates.io-index"3666source = "registry+https://github.com/rust-lang/crates.io-index"2785checksum = "97b8538953a3f0d0d3868f0a706eb4273535e10d72acb5c82c1c23ae48835c85"3667checksum = "144c0ecbda48cc819482c37e460723b634dc060e23922f8ace87d94ff95ea4e5"2786dependencies = [3668dependencies = [2787 "async-io",3669 "async-io",3670<<<<<<< HEAD2788 "futures 0.3.15",3671 "futures 0.3.15",3672=======3673 "futures 0.3.14",3674>>>>>>> origin/develop2789 "futures-lite",3675 "futures-lite",2790 "if-addrs",3676 "if-addrs",2791 "ipnet",3677 "ipnet",2831]3717]283237182833[[package]]3719[[package]]3720name = "impl-rlp"3721version = "0.3.0"3722source = "registry+https://github.com/rust-lang/crates.io-index"3723checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808"3724dependencies = [3725 "rlp",3726]37273728[[package]]2834name = "impl-serde"3729name = "impl-serde"2835version = "0.3.1"3730version = "0.3.1"2836source = "registry+https://github.com/rust-lang/crates.io-index"3731source = "registry+https://github.com/rust-lang/crates.io-index"2882]3777]288337782884[[package]]3779[[package]]3780name = "integer-encoding"3781version = "1.1.7"3782source = "registry+https://github.com/rust-lang/crates.io-index"3783checksum = "48dc51180a9b377fd75814d0cc02199c20f8e99433d6762f650d39cdbbd3b56f"37843785[[package]]2885name = "integer-sqrt"3786name = "integer-sqrt"2886version = "0.1.5"3787version = "0.1.5"2887source = "registry+https://github.com/rust-lang/crates.io-index"3788source = "registry+https://github.com/rust-lang/crates.io-index"2896source = "registry+https://github.com/rust-lang/crates.io-index"3797source = "registry+https://github.com/rust-lang/crates.io-index"2897checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"3798checksum = "64fa110ec7b8f493f416eed552740d10e7030ad5f63b2308f82c9608ec2df275"2898dependencies = [3799dependencies = [3800<<<<<<< HEAD2899 "futures 0.3.15",3801 "futures 0.3.15",3802=======3803 "futures 0.3.14",3804>>>>>>> origin/develop2900 "futures-timer 2.0.2",3805 "futures-timer 2.0.2",2901]3806]290238072916checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f"3821checksum = "2ee15951c035f79eddbef745611ec962f63f4558f1dadf98ab723cc603487c6f"291738222918[[package]]3823[[package]]3824name = "ipconfig"3825version = "0.2.2"3826source = "registry+https://github.com/rust-lang/crates.io-index"3827checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7"3828dependencies = [3829 "socket2 0.3.19",3830 "widestring",3831 "winapi 0.3.9",3832 "winreg",3833]38343835[[package]]2919name = "ipnet"3836name = "ipnet"2920version = "2.3.0"3837version = "2.3.0"2921source = "registry+https://github.com/rust-lang/crates.io-index"3838source = "registry+https://github.com/rust-lang/crates.io-index"2931]3848]293238492933[[package]]3850[[package]]3851name = "itertools"3852version = "0.10.0"3853source = "registry+https://github.com/rust-lang/crates.io-index"3854checksum = "37d572918e350e82412fe766d24b15e6682fb2ed2bbe018280caa810397cb319"3855dependencies = [3856 "either",3857]38583859[[package]]2934name = "itoa"3860name = "itoa"2935version = "0.4.7"3861version = "0.4.7"2936source = "registry+https://github.com/rust-lang/crates.io-index"3862source = "registry+https://github.com/rust-lang/crates.io-index"294738732948[[package]]3874[[package]]2949name = "js-sys"3875name = "js-sys"3876<<<<<<< HEAD2950version = "0.3.51"3877version = "0.3.51"2951source = "registry+https://github.com/rust-lang/crates.io-index"3878source = "registry+https://github.com/rust-lang/crates.io-index"2952checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"3879checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062"3880=======3881version = "0.3.50"3882source = "registry+https://github.com/rust-lang/crates.io-index"3883checksum = "2d99f9e3e84b8f67f846ef5b4cbbc3b1c29f6c759fcbce6f01aa0e73d932a24c"3884>>>>>>> origin/develop2953dependencies = [3885dependencies = [2954 "wasm-bindgen",3886 "wasm-bindgen",2955]3887]2978dependencies = [3910dependencies = [2979 "failure",3911 "failure",2980 "futures 0.1.31",3912 "futures 0.1.31",3913<<<<<<< HEAD2981 "jsonrpc-core 15.1.0",3914 "jsonrpc-core 15.1.0",2982 "jsonrpc-pubsub 15.1.0",3915 "jsonrpc-pubsub 15.1.0",3916=======3917 "jsonrpc-core",3918 "jsonrpc-pubsub",3919>>>>>>> origin/develop2983 "log",3920 "log",2984 "serde",3921 "serde",2985 "serde_json",3922 "serde_json",3061checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7"3998checksum = "4fb5c4513b7b542f42da107942b7b759f27120b5cc894729f88254b28dff44b7"3062dependencies = [3999dependencies = [3063 "hyper 0.12.36",4000 "hyper 0.12.36",4001<<<<<<< HEAD3064 "jsonrpc-core 15.1.0",4002 "jsonrpc-core 15.1.0",4003=======4004 "jsonrpc-core",4005>>>>>>> origin/develop3065 "jsonrpc-server-utils",4006 "jsonrpc-server-utils",3066 "log",4007 "log",3067 "net2",4008 "net2",3140]4081]314140823142[[package]]4083[[package]]4084name = "jsonrpsee-http-client"4085version = "0.2.0-alpha.6"4086source = "registry+https://github.com/rust-lang/crates.io-index"4087checksum = "2737440f37efa10e5ef7beeec43d059d29dc92640978be21fcdcef481a2edb0d"4088dependencies = [4089 "async-trait",4090 "fnv",4091 "hyper 0.13.10",4092 "hyper-rustls",4093 "jsonrpsee-types",4094 "jsonrpsee-utils",4095 "log",4096 "serde",4097 "serde_json",4098 "thiserror",4099 "url 2.2.1",4100]41014102[[package]]4103name = "jsonrpsee-proc-macros"4104version = "0.2.0-alpha.6"4105source = "registry+https://github.com/rust-lang/crates.io-index"4106checksum = "5784ee8bb31988fa2c7a755fe31b0e21aa51894a67e5c99b6d4470f0253bf31a"4107dependencies = [4108 "Inflector",4109 "proc-macro-crate 1.0.0",4110 "proc-macro2",4111 "quote",4112 "syn",4113]41144115[[package]]4116name = "jsonrpsee-types"4117version = "0.2.0-alpha.6"4118source = "registry+https://github.com/rust-lang/crates.io-index"4119checksum = "bab3dabceeeeb865897661d532d47202eaae71cd2c606f53cb69f1fbc0555a51"4120dependencies = [4121 "async-trait",4122 "beef",4123 "futures-channel",4124 "futures-util",4125 "log",4126 "serde",4127 "serde_json",4128 "thiserror",4129]41304131[[package]]4132name = "jsonrpsee-utils"4133version = "0.2.0-alpha.6"4134source = "registry+https://github.com/rust-lang/crates.io-index"4135checksum = "d63cf4d423614e71fd144a8691208539d2b23d8373e069e2fbe023c5eba5e922"4136dependencies = [4137 "futures-util",4138 "hyper 0.13.10",4139 "jsonrpsee-types",4140]41414142[[package]]3143name = "keccak"4143name = "keccak"3144version = "0.1.0"4144version = "0.1.0"3145source = "registry+https://github.com/rust-lang/crates.io-index"4145source = "registry+https://github.com/rust-lang/crates.io-index"3156]4156]315741573158[[package]]4158[[package]]4159name = "kusama-runtime"4160version = "0.9.3"4161source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"4162dependencies = [4163 "beefy-primitives",4164 "bitvec",4165 "frame-executive",4166 "frame-support",4167 "frame-system",4168 "frame-system-rpc-runtime-api",4169 "frame-try-runtime",4170 "log",4171 "pallet-authority-discovery",4172 "pallet-authorship",4173 "pallet-babe",4174 "pallet-balances",4175 "pallet-bounties",4176 "pallet-collective",4177 "pallet-democracy",4178 "pallet-election-provider-multi-phase",4179 "pallet-elections-phragmen",4180 "pallet-gilt",4181 "pallet-grandpa",4182 "pallet-identity",4183 "pallet-im-online",4184 "pallet-indices",4185 "pallet-membership",4186 "pallet-mmr-primitives",4187 "pallet-multisig",4188 "pallet-nicks",4189 "pallet-offences",4190 "pallet-proxy",4191 "pallet-randomness-collective-flip",4192 "pallet-recovery",4193 "pallet-scheduler 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3)",4194 "pallet-session",4195 "pallet-society",4196 "pallet-staking",4197 "pallet-staking-reward-fn",4198 "pallet-timestamp",4199 "pallet-tips",4200 "pallet-transaction-payment",4201 "pallet-transaction-payment-rpc-runtime-api",4202 "pallet-treasury",4203 "pallet-utility",4204 "pallet-vesting",4205 "pallet-xcm",4206 "parity-scale-codec",4207 "polkadot-primitives",4208 "polkadot-runtime-common",4209 "polkadot-runtime-parachains",4210 "rustc-hex",4211 "serde",4212 "serde_derive",4213 "smallvec 1.6.1",4214 "sp-api",4215 "sp-arithmetic",4216 "sp-authority-discovery",4217 "sp-block-builder",4218 "sp-consensus-babe",4219 "sp-core",4220 "sp-inherents",4221 "sp-io",4222 "sp-npos-elections",4223 "sp-offchain",4224 "sp-runtime",4225 "sp-session",4226 "sp-staking",4227 "sp-std",4228 "sp-transaction-pool",4229 "sp-version",4230 "static_assertions",4231 "substrate-wasm-builder 3.0.0",4232 "xcm",4233 "xcm-builder",4234 "xcm-executor",4235]42364237[[package]]3159name = "kv-log-macro"4238name = "kv-log-macro"3160version = "1.0.7"4239version = "1.0.7"3161source = "registry+https://github.com/rust-lang/crates.io-index"4240source = "registry+https://github.com/rust-lang/crates.io-index"322343023224[[package]]4303[[package]]3225name = "libc"4304name = "libc"4305<<<<<<< HEAD3226version = "0.2.94"4306version = "0.2.94"3227source = "registry+https://github.com/rust-lang/crates.io-index"4307source = "registry+https://github.com/rust-lang/crates.io-index"3228checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"4308checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"4309=======4310version = "0.2.93"4311source = "registry+https://github.com/rust-lang/crates.io-index"4312checksum = "9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"4313>>>>>>> origin/develop322943143230[[package]]4315[[package]]3231name = "libloading"4316name = "libloading"325543403256[[package]]4341[[package]]3257name = "libp2p"4342name = "libp2p"4343<<<<<<< HEAD3258version = "0.35.1"4344version = "0.35.1"3259source = "registry+https://github.com/rust-lang/crates.io-index"4345source = "registry+https://github.com/rust-lang/crates.io-index"3260checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a"4346checksum = "adc225a49973cf9ab10d0cdd6a4b8f0cda299df9b760824bbb623f15f8f0c95a"3261dependencies = [4347dependencies = [3262 "atomic",4348 "atomic",3263 "bytes 1.0.1",4349 "bytes 1.0.1",3264 "futures 0.3.15",4350 "futures 0.3.15",4351=======4352version = "0.37.1"4353source = "registry+https://github.com/rust-lang/crates.io-index"4354checksum = "08053fbef67cd777049ef7a95ebaca2ece370b4ed7712c3fa404d69a88cb741b"4355dependencies = [4356 "atomic",4357 "bytes 1.0.1",4358 "futures 0.3.14",4359>>>>>>> origin/develop3265 "lazy_static",4360 "lazy_static",3266 "libp2p-core",4361 "libp2p-core",3267 "libp2p-deflate",4362 "libp2p-deflate",3276 "libp2p-ping",4371 "libp2p-ping",3277 "libp2p-plaintext",4372 "libp2p-plaintext",3278 "libp2p-pnet",4373 "libp2p-pnet",4374 "libp2p-relay",3279 "libp2p-request-response",4375 "libp2p-request-response",3280 "libp2p-swarm",4376 "libp2p-swarm",3281 "libp2p-swarm-derive",4377 "libp2p-swarm-derive",3286 "libp2p-yamux",4382 "libp2p-yamux",3287 "parity-multiaddr",4383 "parity-multiaddr",3288 "parking_lot 0.11.1",4384 "parking_lot 0.11.1",4385<<<<<<< HEAD3289 "pin-project 1.0.7",4386 "pin-project 1.0.7",4387=======4388 "pin-project 1.0.6",4389>>>>>>> origin/develop3290 "smallvec 1.6.1",4390 "smallvec 1.6.1",3291 "wasm-timer",4391 "wasm-timer",3292]4392]329343933294[[package]]4394[[package]]3295name = "libp2p-core"4395name = "libp2p-core"3296version = "0.27.1"4396version = "0.28.2"3297source = "registry+https://github.com/rust-lang/crates.io-index"4397source = "registry+https://github.com/rust-lang/crates.io-index"3298checksum = "8a2d56aadc2c2bf22cd7797f86e56a65b5b3994a0136b65be3106938acae7a26"4398checksum = "71dd51b562e14846e65bad00e5808d0644376e6588668c490d3c48e1dfeb4a9a"3299dependencies = [4399dependencies = [3300 "asn1_der",4400 "asn1_der",3301 "bs58",4401 "bs58",3302 "ed25519-dalek",4402 "ed25519-dalek",3303 "either",4403 "either",3304 "fnv",4404 "fnv",4405<<<<<<< HEAD3305 "futures 0.3.15",4406 "futures 0.3.15",4407=======4408 "futures 0.3.14",4409>>>>>>> origin/develop3306 "futures-timer 3.0.2",4410 "futures-timer 3.0.2",3307 "lazy_static",4411 "lazy_static",3308 "libsecp256k1",4412 "libsecp256k1",3311 "multistream-select",4415 "multistream-select",3312 "parity-multiaddr",4416 "parity-multiaddr",3313 "parking_lot 0.11.1",4417 "parking_lot 0.11.1",4418<<<<<<< HEAD3314 "pin-project 1.0.7",4419 "pin-project 1.0.7",4420=======4421 "pin-project 1.0.6",4422>>>>>>> origin/develop3315 "prost",4423 "prost",3316 "prost-build",4424 "prost-build",3317 "rand 0.7.3",4425 "rand 0.7.3",332744353328[[package]]4436[[package]]3329name = "libp2p-deflate"4437name = "libp2p-deflate"3330version = "0.27.1"4438version = "0.28.0"3331source = "registry+https://github.com/rust-lang/crates.io-index"4439source = "registry+https://github.com/rust-lang/crates.io-index"3332checksum = "6d42eed63305f0420736fa487f9acef720c4528bd7852a6a760f5ccde4813345"4440checksum = "a2181a641cd15f9b6ba71b1335800f309012a0a97a29ffaabbbf40e9d3d58f08"3333dependencies = [4441dependencies = [3334 "flate2",4442 "flate2",4443<<<<<<< HEAD3335 "futures 0.3.15",4444 "futures 0.3.15",4445=======4446 "futures 0.3.14",4447>>>>>>> origin/develop3336 "libp2p-core",4448 "libp2p-core",3337]4449]333844503339[[package]]4451[[package]]3340name = "libp2p-dns"4452name = "libp2p-dns"3341version = "0.27.0"4453version = "0.28.1"3342source = "registry+https://github.com/rust-lang/crates.io-index"4454source = "registry+https://github.com/rust-lang/crates.io-index"3343checksum = "5153b6db68fd4baa3b304e377db744dd8fea8ff4e4504509ee636abcde88d3e3"4455checksum = "62e63dab8b5ff35e0c101a3e51e843ba782c07bbb1682f5fd827622e0d02b98b"3344dependencies = [4456dependencies = [4457<<<<<<< HEAD3345 "futures 0.3.15",4458 "futures 0.3.15",4459=======4460 "async-std-resolver",4461 "futures 0.3.14",4462>>>>>>> origin/develop3346 "libp2p-core",4463 "libp2p-core",3347 "log",4464 "log",4465 "smallvec 1.6.1",4466 "trust-dns-resolver",3348]4467]334944683350[[package]]4469[[package]]3351name = "libp2p-floodsub"4470name = "libp2p-floodsub"3352version = "0.27.0"4471version = "0.29.0"3353source = "registry+https://github.com/rust-lang/crates.io-index"4472source = "registry+https://github.com/rust-lang/crates.io-index"3354checksum = "b3c63dfa06581b24b1d12bf9815b43689a784424be217d6545c800c7c75a207f"4473checksum = "48a9b570f6766301d9c4aa00fce3554cad1598e2f466debbc4dde909028417cf"3355dependencies = [4474dependencies = [3356 "cuckoofilter",4475 "cuckoofilter",3357 "fnv",4476 "fnv",4477<<<<<<< HEAD3358 "futures 0.3.15",4478 "futures 0.3.15",4479=======4480 "futures 0.3.14",4481>>>>>>> origin/develop3359 "libp2p-core",4482 "libp2p-core",3360 "libp2p-swarm",4483 "libp2p-swarm",3361 "log",4484 "log",336744903368[[package]]4491[[package]]3369name = "libp2p-gossipsub"4492name = "libp2p-gossipsub"4493<<<<<<< HEAD3370version = "0.28.0"4494version = "0.28.0"3371source = "registry+https://github.com/rust-lang/crates.io-index"4495source = "registry+https://github.com/rust-lang/crates.io-index"3372checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1"4496checksum = "502dc5fcbfec4aa1c63ef3f7307ffe20e90c1a1387bf23ed0bec087f2dde58a1"4497=======4498version = "0.30.1"4499source = "registry+https://github.com/rust-lang/crates.io-index"4500checksum = "e7b0c8506a6ec3344b9e706d7c7a6dba826f8ede735cfe13dde12a8c263c4af9"4501>>>>>>> origin/develop3373dependencies = [4502dependencies = [3374 "asynchronous-codec 0.6.0",4503 "asynchronous-codec 0.6.0",3375 "base64 0.13.0",4504 "base64 0.13.0",3376 "byteorder",4505 "byteorder",3377 "bytes 1.0.1",4506 "bytes 1.0.1",3378 "fnv",4507 "fnv",4508<<<<<<< HEAD3379 "futures 0.3.15",4509 "futures 0.3.15",4510=======4511 "futures 0.3.14",4512>>>>>>> origin/develop3380 "hex_fmt",4513 "hex_fmt",3381 "libp2p-core",4514 "libp2p-core",3382 "libp2p-swarm",4515 "libp2p-swarm",339345263394[[package]]4527[[package]]3395name = "libp2p-identify"4528name = "libp2p-identify"3396version = "0.27.0"4529version = "0.29.0"3397source = "registry+https://github.com/rust-lang/crates.io-index"4530source = "registry+https://github.com/rust-lang/crates.io-index"3398checksum = "b40fb36a059b7a8cce1514bd8b546fa612e006c9937caa7f5950cb20021fe91e"4531checksum = "5f668f00efd9883e8b7bcc582eaf0164615792608f886f6577da18bcbeea0a46"3399dependencies = [4532dependencies = [4533<<<<<<< HEAD3400 "futures 0.3.15",4534 "futures 0.3.15",4535=======4536 "futures 0.3.14",4537>>>>>>> origin/develop3401 "libp2p-core",4538 "libp2p-core",3402 "libp2p-swarm",4539 "libp2p-swarm",3403 "log",4540 "log",340945463410[[package]]4547[[package]]3411name = "libp2p-kad"4548name = "libp2p-kad"3412version = "0.28.1"4549version = "0.30.0"3413source = "registry+https://github.com/rust-lang/crates.io-index"4550source = "registry+https://github.com/rust-lang/crates.io-index"3414checksum = "cf3da6c9acbcc05f93235d201d7d45ef4e8b88a45d8836f98becd8b4d443f066"4551checksum = "b07312ebe5ee4fd2404447a0609814574df55c65d4e20838b957bbd34907d820"3415dependencies = [4552dependencies = [3416 "arrayvec 0.5.2",4553 "arrayvec 0.5.2",3417 "asynchronous-codec 0.6.0",4554 "asynchronous-codec 0.6.0",3418 "bytes 1.0.1",4555 "bytes 1.0.1",3419 "either",4556 "either",3420 "fnv",4557 "fnv",4558<<<<<<< HEAD3421 "futures 0.3.15",4559 "futures 0.3.15",4560=======4561 "futures 0.3.14",4562>>>>>>> origin/develop3422 "libp2p-core",4563 "libp2p-core",3423 "libp2p-swarm",4564 "libp2p-swarm",3424 "log",4565 "log",343545763436[[package]]4577[[package]]3437name = "libp2p-mdns"4578name = "libp2p-mdns"3438version = "0.28.1"4579version = "0.30.1"3439source = "registry+https://github.com/rust-lang/crates.io-index"4580source = "registry+https://github.com/rust-lang/crates.io-index"3440checksum = "0e9e6374814d1b118d97ccabdfc975c8910bd16dc38a8bc058eeb08bf2080fe1"4581checksum = "41e282f974c4bea56db8acca50387f05189406e346318cb30190b0bde662961e"3441dependencies = [4582dependencies = [3442 "async-io",4583 "async-io",3443 "data-encoding",4584 "data-encoding",3444 "dns-parser",4585 "dns-parser",4586<<<<<<< HEAD3445 "futures 0.3.15",4587 "futures 0.3.15",4588=======4589 "futures 0.3.14",4590>>>>>>> origin/develop3446 "if-watch",4591 "if-watch",3447 "lazy_static",4592 "lazy_static",3448 "libp2p-core",4593 "libp2p-core",3449 "libp2p-swarm",4594 "libp2p-swarm",3450 "log",4595 "log",3451 "rand 0.7.3",4596 "rand 0.8.3",3452 "smallvec 1.6.1",4597 "smallvec 1.6.1",4598<<<<<<< HEAD3453 "socket2 0.3.19",4599 "socket2 0.3.19",4600=======4601 "socket2 0.4.0",4602>>>>>>> origin/develop3454 "void",4603 "void",3455]4604]345646053457[[package]]4606[[package]]3458name = "libp2p-mplex"4607name = "libp2p-mplex"3459version = "0.27.1"4608version = "0.28.0"3460source = "registry+https://github.com/rust-lang/crates.io-index"4609source = "registry+https://github.com/rust-lang/crates.io-index"3461checksum = "350ce8b3923594aedabd5d6e3f875d058435052a29c3f32df378bc70d10be464"4610checksum = "85e9b544335d1ed30af71daa96edbefadef6f19c7a55f078b9fc92c87163105d"3462dependencies = [4611dependencies = [3463 "asynchronous-codec 0.6.0",4612 "asynchronous-codec 0.6.0",3464 "bytes 1.0.1",4613 "bytes 1.0.1",4614<<<<<<< HEAD3465 "futures 0.3.15",4615 "futures 0.3.15",4616=======4617 "futures 0.3.14",4618>>>>>>> origin/develop3466 "libp2p-core",4619 "libp2p-core",3467 "log",4620 "log",3468 "nohash-hasher",4621 "nohash-hasher",347446273475[[package]]4628[[package]]3476name = "libp2p-noise"4629name = "libp2p-noise"3477version = "0.29.0"4630version = "0.30.0"3478source = "registry+https://github.com/rust-lang/crates.io-index"4631source = "registry+https://github.com/rust-lang/crates.io-index"3479checksum = "4aca322b52a0c5136142a7c3971446fb1e9964923a526c9cc6ef3b7c94e57778"4632checksum = "36db0f0db3b0433f5b9463f1c0cd9eadc0a3734a9170439ce501ff99733a88bd"3480dependencies = [4633dependencies = [3481 "bytes 1.0.1",4634 "bytes 1.0.1",3482 "curve25519-dalek 3.1.0",4635 "curve25519-dalek 3.1.0",4636<<<<<<< HEAD3483 "futures 0.3.15",4637 "futures 0.3.15",4638=======4639 "futures 0.3.14",4640>>>>>>> origin/develop3484 "lazy_static",4641 "lazy_static",3485 "libp2p-core",4642 "libp2p-core",3486 "log",4643 "log",349646533497[[package]]4654[[package]]3498name = "libp2p-ping"4655name = "libp2p-ping"3499version = "0.27.0"4656version = "0.29.0"3500source = "registry+https://github.com/rust-lang/crates.io-index"4657source = "registry+https://github.com/rust-lang/crates.io-index"3501checksum = "6f3813276d0708c8db0f500d8beda1bda9ad955723b9cb272c41f4727256f73c"4658checksum = "bf4bfaffac63bf3c7ec11ed9d8879d455966ddea7e78ee14737f0b6dce0d1cd1"3502dependencies = [4659dependencies = [4660<<<<<<< HEAD3503 "futures 0.3.15",4661 "futures 0.3.15",4662=======4663 "futures 0.3.14",4664>>>>>>> origin/develop3504 "libp2p-core",4665 "libp2p-core",3505 "libp2p-swarm",4666 "libp2p-swarm",3506 "log",4667 "log",351146723512[[package]]4673[[package]]3513name = "libp2p-plaintext"4674name = "libp2p-plaintext"3514version = "0.27.1"4675version = "0.28.0"3515source = "registry+https://github.com/rust-lang/crates.io-index"4676source = "registry+https://github.com/rust-lang/crates.io-index"3516checksum = "9d58defcadb646ae4b033e130b48d87410bf76394dc3335496cae99dac803e61"4677checksum = "0c8c37b4d2a075b4be8442760a5f8c037180f0c8dd5b5734b9978ab868b3aa11"3517dependencies = [4678dependencies = [3518 "asynchronous-codec 0.6.0",4679 "asynchronous-codec 0.6.0",3519 "bytes 1.0.1",4680 "bytes 1.0.1",4681<<<<<<< HEAD3520 "futures 0.3.15",4682 "futures 0.3.15",4683=======4684 "futures 0.3.14",4685>>>>>>> origin/develop3521 "libp2p-core",4686 "libp2p-core",3522 "log",4687 "log",3523 "prost",4688 "prost",3532source = "registry+https://github.com/rust-lang/crates.io-index"4697source = "registry+https://github.com/rust-lang/crates.io-index"3533checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599"4698checksum = "6ce3374f3b28162db9d3442c9347c4f14cb01e8290052615c7d341d40eae0599"3534dependencies = [4699dependencies = [4700<<<<<<< HEAD3535 "futures 0.3.15",4701 "futures 0.3.15",3536 "log",4702 "log",3537 "pin-project 1.0.7",4703 "pin-project 1.0.7",4704=======4705 "futures 0.3.14",4706 "log",4707 "pin-project 1.0.6",4708>>>>>>> origin/develop3538 "rand 0.7.3",4709 "rand 0.7.3",3539 "salsa20",4710 "salsa20",3540 "sha3 0.9.1",4711 "sha3 0.9.1",3541]4712]354247133543[[package]]4714[[package]]4715name = "libp2p-relay"4716version = "0.2.0"4717source = "registry+https://github.com/rust-lang/crates.io-index"4718checksum = "0b8786aca3f18671d8776289706a5521f6c9124a820f69e358de214b9939440d"4719dependencies = [4720 "asynchronous-codec 0.6.0",4721 "bytes 1.0.1",4722 "futures 0.3.14",4723 "futures-timer 3.0.2",4724 "libp2p-core",4725 "libp2p-swarm",4726 "log",4727 "pin-project 1.0.6",4728 "prost",4729 "prost-build",4730 "rand 0.7.3",4731 "smallvec 1.6.1",4732 "unsigned-varint 0.7.0",4733 "void",4734 "wasm-timer",4735]47364737[[package]]3544name = "libp2p-request-response"4738name = "libp2p-request-response"3545version = "0.9.1"4739version = "0.11.0"3546source = "registry+https://github.com/rust-lang/crates.io-index"4740source = "registry+https://github.com/rust-lang/crates.io-index"3547checksum = "10e5552827c33d8326502682da73a0ba4bfa40c1b55b216af3c303f32169dd89"4741checksum = "1cdbe172f08e6d0f95fa8634e273d4c4268c4063de2e33e7435194b0130c62e3"3548dependencies = [4742dependencies = [3549 "async-trait",4743 "async-trait",3550 "bytes 1.0.1",4744 "bytes 1.0.1",4745<<<<<<< HEAD3551 "futures 0.3.15",4746 "futures 0.3.15",4747=======4748 "futures 0.3.14",4749>>>>>>> origin/develop3552 "libp2p-core",4750 "libp2p-core",3553 "libp2p-swarm",4751 "libp2p-swarm",3554 "log",4752 "log",356247603563[[package]]4761[[package]]3564name = "libp2p-swarm"4762name = "libp2p-swarm"3565version = "0.27.2"4763version = "0.29.0"3566source = "registry+https://github.com/rust-lang/crates.io-index"4764source = "registry+https://github.com/rust-lang/crates.io-index"3567checksum = "7955b973e1fd2bd61ffd43ce261c1223f61f4aacd5bae362a924993f9a25fd98"4765checksum = "1e04d8e1eef675029ec728ba14e8d0da7975d84b6679b699b4ae91a1de9c3a92"3568dependencies = [4766dependencies = [3569 "either",4767 "either",4768<<<<<<< HEAD3570 "futures 0.3.15",4769 "futures 0.3.15",4770=======4771 "futures 0.3.14",4772>>>>>>> origin/develop3571 "libp2p-core",4773 "libp2p-core",3572 "log",4774 "log",3573 "rand 0.7.3",4775 "rand 0.7.3",357847803579[[package]]4781[[package]]3580name = "libp2p-swarm-derive"4782name = "libp2p-swarm-derive"4783<<<<<<< HEAD3581version = "0.22.0"4784version = "0.22.0"3582source = "registry+https://github.com/rust-lang/crates.io-index"4785source = "registry+https://github.com/rust-lang/crates.io-index"3583checksum = "c564ebaa36a64839f51eaddb0243aaaa29ce64affb56129193cc3248b72af273"4786checksum = "c564ebaa36a64839f51eaddb0243aaaa29ce64affb56129193cc3248b72af273"4787=======4788version = "0.23.0"4789source = "registry+https://github.com/rust-lang/crates.io-index"4790checksum = "365b0a699fea5168676840567582a012ea297b1ca02eee467e58301b9c9c5eed"4791>>>>>>> origin/develop3584dependencies = [4792dependencies = [3585 "quote",4793 "quote",3586 "syn",4794 "syn",3587]4795]358847963589[[package]]4797[[package]]3590name = "libp2p-tcp"4798name = "libp2p-tcp"3591version = "0.27.1"4799version = "0.28.0"3592source = "registry+https://github.com/rust-lang/crates.io-index"4800source = "registry+https://github.com/rust-lang/crates.io-index"3593checksum = "88a5aef80e519a6cb8e2663605142f97baaaea1a252eecbf8756184765f7471b"4801checksum = "2b1a27d21c477951799e99d5c105d78868258502ce092988040a808d5a19bbd9"3594dependencies = [4802dependencies = [3595 "async-io",4803 "async-io",4804<<<<<<< HEAD3596 "futures 0.3.15",4805 "futures 0.3.15",4806=======4807 "futures 0.3.14",4808>>>>>>> origin/develop3597 "futures-timer 3.0.2",4809 "futures-timer 3.0.2",3598 "if-watch",4810 "if-watch",3599 "ipnet",4811 "ipnet",3600 "libc",4812 "libc",3601 "libp2p-core",4813 "libp2p-core",3602 "log",4814 "log",4815<<<<<<< HEAD3603 "socket2 0.3.19",4816 "socket2 0.3.19",4817=======4818 "socket2 0.4.0",4819>>>>>>> origin/develop3604]4820]360548213606[[package]]4822[[package]]3607name = "libp2p-uds"4823name = "libp2p-uds"3608version = "0.27.0"4824version = "0.28.0"3609source = "registry+https://github.com/rust-lang/crates.io-index"4825source = "registry+https://github.com/rust-lang/crates.io-index"3610checksum = "80ac51ce419f60be966e02103c17f67ff5dc4422ba83ba54d251d6c62a4ed487"4826checksum = "ffd6564bb3b7ff203661ccbb69003c2b551e34cef974f2d6c6a28306a12170b5"3611dependencies = [4827dependencies = [3612 "async-std",4828 "async-std",4829<<<<<<< HEAD3613 "futures 0.3.15",4830 "futures 0.3.15",4831=======4832 "futures 0.3.14",4833>>>>>>> origin/develop3614 "libp2p-core",4834 "libp2p-core",3615 "log",4835 "log",3616]4836]361748373618[[package]]4838[[package]]3619name = "libp2p-wasm-ext"4839name = "libp2p-wasm-ext"3620version = "0.27.0"4840version = "0.28.1"3621source = "registry+https://github.com/rust-lang/crates.io-index"4841source = "registry+https://github.com/rust-lang/crates.io-index"3622checksum = "6149c46cb76935c80bc8be6ec6e3ebd5f5e1679765a255fb34331d54610f15dd"4842checksum = "cef45d61e43c313531b5e903e4e8415212ff6338e0c54c47da5b9b412b5760de"3623dependencies = [4843dependencies = [4844<<<<<<< HEAD3624 "futures 0.3.15",4845 "futures 0.3.15",4846=======4847 "futures 0.3.14",4848>>>>>>> origin/develop3625 "js-sys",4849 "js-sys",3626 "libp2p-core",4850 "libp2p-core",3627 "parity-send-wrapper",4851 "parity-send-wrapper",363148553632[[package]]4856[[package]]3633name = "libp2p-websocket"4857name = "libp2p-websocket"3634version = "0.28.0"4858version = "0.29.0"3635source = "registry+https://github.com/rust-lang/crates.io-index"4859source = "registry+https://github.com/rust-lang/crates.io-index"3636checksum = "d3b1c6a3431045da8b925ed83384e4c5163e14b990572307fca9c507435d4d22"4860checksum = "cace60995ef6f637e4752cccbb2590f6bc358e8741a0d066307636c69a4b3a74"3637dependencies = [4861dependencies = [3638 "either",4862 "either",4863<<<<<<< HEAD3639 "futures 0.3.15",4864 "futures 0.3.15",4865=======4866 "futures 0.3.14",4867>>>>>>> origin/develop3640 "futures-rustls",4868 "futures-rustls",3641 "libp2p-core",4869 "libp2p-core",3642 "log",4870 "log",3643 "quicksink",4871 "quicksink",3644 "rw-stream-sink",4872 "rw-stream-sink",3645 "soketto",4873 "soketto",4874<<<<<<< HEAD3646 "url 2.2.2",4875 "url 2.2.2",4876=======4877 "url 2.2.1",4878>>>>>>> origin/develop3647 "webpki-roots",4879 "webpki-roots",3648]4880]364948813650[[package]]4882[[package]]3651name = "libp2p-yamux"4883name = "libp2p-yamux"4884<<<<<<< HEAD3652version = "0.30.1"4885version = "0.30.1"3653source = "registry+https://github.com/rust-lang/crates.io-index"4886source = "registry+https://github.com/rust-lang/crates.io-index"3654checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a"4887checksum = "4819358c542a86ff95f6ae691efb4b94ddaf477079b01a686f5705b79bfc232a"3655dependencies = [4888dependencies = [3656 "futures 0.3.15",4889 "futures 0.3.15",4890=======4891version = "0.32.0"4892source = "registry+https://github.com/rust-lang/crates.io-index"4893checksum = "f35da42cfc6d5cb0dcf3ad6881bc68d146cdf38f98655e09e33fbba4d13eabc4"4894dependencies = [4895 "futures 0.3.14",4896>>>>>>> origin/develop3657 "libp2p-core",4897 "libp2p-core",3658 "parking_lot 0.11.1",4898 "parking_lot 0.11.1",3659 "thiserror",4899 "thiserror",373549753736[[package]]4976[[package]]3737name = "lock_api"4977name = "lock_api"4978<<<<<<< HEAD3738version = "0.4.4"4979version = "0.4.4"3739source = "registry+https://github.com/rust-lang/crates.io-index"4980source = "registry+https://github.com/rust-lang/crates.io-index"3740checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"4981checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"4982=======4983version = "0.4.3"4984source = "registry+https://github.com/rust-lang/crates.io-index"4985checksum = "5a3c91c24eae6777794bb1997ad98bbb87daf92890acab859f7eaa4320333176"4986>>>>>>> origin/develop3741dependencies = [4987dependencies = [3742 "scopeguard",4988 "scopeguard",3743]4989]3762]5008]376350093764[[package]]5010[[package]]5011name = "lru-cache"5012version = "0.1.2"5013source = "registry+https://github.com/rust-lang/crates.io-index"5014checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"5015dependencies = [5016 "linked-hash-map",5017]50185019[[package]]3765name = "mach"5020name = "mach"3766version = "0.3.2"5021version = "0.3.2"3767source = "registry+https://github.com/rust-lang/crates.io-index"5022source = "registry+https://github.com/rust-lang/crates.io-index"3777checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"5032checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"377850333779[[package]]5034[[package]]5035name = "match_cfg"5036version = "0.1.0"5037source = "registry+https://github.com/rust-lang/crates.io-index"5038checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"50395040[[package]]3780name = "matchers"5041name = "matchers"3781version = "0.0.1"5042version = "0.0.1"3782source = "registry+https://github.com/rust-lang/crates.io-index"5043source = "registry+https://github.com/rust-lang/crates.io-index"3860]5121]386151223862[[package]]5123[[package]]5124name = "memory-lru"5125version = "0.1.0"5126source = "registry+https://github.com/rust-lang/crates.io-index"5127checksum = "beeb98b3d1ed2c0054bd81b5ba949a0243c3ccad751d45ea898fa8059fa2860a"5128dependencies = [5129 "lru",5130]51315132[[package]]3863name = "memory_units"5133name = "memory_units"3864version = "0.3.0"5134version = "0.3.0"3865source = "registry+https://github.com/rust-lang/crates.io-index"5135source = "registry+https://github.com/rust-lang/crates.io-index"3878]5148]387951493880[[package]]5150[[package]]5151name = "metered-channel"5152version = "0.1.0"5153source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"5154dependencies = [5155 "derive_more",5156 "futures 0.3.14",5157 "futures-timer 3.0.2",5158]51595160[[package]]5161name = "mick-jaeger"5162version = "0.1.4"5163source = "registry+https://github.com/rust-lang/crates.io-index"5164checksum = "c023c3f16109e7f33aa451f773fd61070e265b4977d0b6e344a51049296dd7df"5165dependencies = [5166 "futures 0.3.14",5167 "rand 0.7.3",5168 "thrift",5169]51705171[[package]]3881name = "minicbor"5172name = "minicbor"5173<<<<<<< HEAD3882version = "0.7.2"5174version = "0.7.2"3883source = "registry+https://github.com/rust-lang/crates.io-index"5175source = "registry+https://github.com/rust-lang/crates.io-index"3884checksum = "1c2b2c73f9640fccab53947e2b3474d5071fcbc8f82cac51ddf6c8041a30a9ea"5176checksum = "1c2b2c73f9640fccab53947e2b3474d5071fcbc8f82cac51ddf6c8041a30a9ea"5177=======5178version = "0.8.1"5179source = "registry+https://github.com/rust-lang/crates.io-index"5180checksum = "51aa5bb0ca22415daca596a227b507f880ad1b2318a87fa9325312a5d285ca0d"5181>>>>>>> origin/develop3885dependencies = [5182dependencies = [3886 "minicbor-derive",5183 "minicbor-derive",3887]5184]4043checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8"5340checksum = "7d91ec0a2440aaff5f78ec35631a7027d50386c6163aa975f7caa0d5da4b6ff8"4044dependencies = [5341dependencies = [4045 "bytes 1.0.1",5342 "bytes 1.0.1",5343<<<<<<< HEAD4046 "futures 0.3.15",5344 "futures 0.3.15",4047 "log",5345 "log",4048 "pin-project 1.0.7",5346 "pin-project 1.0.7",5347=======5348 "futures 0.3.14",5349 "log",5350 "pin-project 1.0.6",5351>>>>>>> origin/develop4049 "smallvec 1.6.1",5352 "smallvec 1.6.1",4050 "unsigned-varint 0.7.0",5353 "unsigned-varint 0.7.0",4051]5354]4065 "num-traits",5368 "num-traits",4066 "rand 0.7.3",5369 "rand 0.7.3",4067 "rand_distr",5370 "rand_distr",5371<<<<<<< HEAD5372=======4068 "typenum",5373 "typenum",4069]5374]407053754082 "num-traits",5387 "num-traits",4083 "serde",5388 "serde",4084 "simba",5389 "simba",5390>>>>>>> origin/develop4085 "typenum",5391 "typenum",4086]5392]408753934088[[package]]5394[[package]]5395name = "nalgebra"5396version = "0.25.4"5397source = "registry+https://github.com/rust-lang/crates.io-index"5398checksum = "c70c9e8c5f213c8e93fc8c112ade4edd3ee62062fb897776c23dcebac7932900"5399dependencies = [5400 "approx 0.4.0",5401 "generic-array 0.14.4",5402 "matrixmultiply 0.3.1",5403 "num-complex 0.3.1",5404 "num-rational 0.3.2",5405 "num-traits",5406 "serde",5407 "simba",5408 "typenum",5409]54105411[[package]]5412<<<<<<< HEAD4089name = "names"5413name = "names"4090version = "0.11.0"5414version = "0.11.0"4091source = "registry+https://github.com/rust-lang/crates.io-index"5415source = "registry+https://github.com/rust-lang/crates.io-index"4092checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da"5416checksum = "ef320dab323286b50fb5cdda23f61c796a72a89998ab565ca32525c5c556f2da"4093dependencies = [5417dependencies = [4094 "rand 0.3.23",5418 "rand 0.3.23",5419=======5420name = "nb-connect"5421version = "1.1.0"5422source = "registry+https://github.com/rust-lang/crates.io-index"5423checksum = "a19900e7eee95eb2b3c2e26d12a874cc80aaf750e31be6fcbe743ead369fa45d"5424dependencies = [5425 "libc",5426 "socket2 0.4.0",5427>>>>>>> origin/develop4095]5428]409654294097[[package]]5430[[package]]4109name = "nft"5442name = "nft"4110version = "3.0.0"5443version = "3.0.0"4111dependencies = [5444dependencies = [5445<<<<<<< HEAD4112 "fc-consensus",5446 "fc-consensus",4113 "fc-db",5447 "fc-db",4114 "fc-mapping-sync",5448 "fc-mapping-sync",4115 "fc-rpc",5449 "fc-rpc",4116 "fc-rpc-core",5450 "fc-rpc-core",5451=======5452 "cumulus-client-cli",5453 "cumulus-client-collator",5454 "cumulus-client-consensus-aura",5455 "cumulus-client-consensus-common",5456 "cumulus-client-network",5457 "cumulus-client-service",5458 "cumulus-primitives-core",5459 "cumulus-primitives-parachain-inherent",5460>>>>>>> origin/develop4117 "flexi_logger",5461 "flexi_logger",4118 "fp-rpc",5462 "fp-rpc",4119 "frame-benchmarking",5463 "frame-benchmarking",4120 "frame-benchmarking-cli",5464 "frame-benchmarking-cli",5465<<<<<<< HEAD4121 "futures 0.3.15",5466 "futures 0.3.15",4122 "jsonrpc-core 15.1.0",5467 "jsonrpc-core 15.1.0",4123 "jsonrpc-pubsub 15.1.0",5468 "jsonrpc-pubsub 15.1.0",5469=======5470 "futures 0.3.14",5471 "jsonrpc-core",5472>>>>>>> origin/develop4124 "log",5473 "log",5474 "nft-data-structs",4125 "nft-runtime",5475 "nft-runtime",5476 "pallet-contracts",4126 "pallet-contracts-rpc",5477 "pallet-contracts-rpc",4127 "pallet-ethereum",5478 "pallet-ethereum",4128 "pallet-nft",5479 "pallet-nft",4129 "pallet-transaction-payment-rpc",5480 "pallet-transaction-payment-rpc",5481 "parity-scale-codec",4130 "parking_lot 0.10.2",5482 "parking_lot 0.10.2",5483 "polkadot-cli",5484 "polkadot-parachain",5485 "polkadot-primitives",5486 "polkadot-service",5487 "polkadot-test-service",4131 "sc-basic-authorship",5488 "sc-basic-authorship",5489 "sc-chain-spec",4132 "sc-cli",5490 "sc-cli",4133 "sc-client-api",5491 "sc-client-api",4134 "sc-consensus",5492 "sc-consensus",4141 "sc-rpc-api",5499 "sc-rpc-api",4142 "sc-service",5500 "sc-service",4143 "sc-telemetry",5501 "sc-telemetry",5502 "sc-tracing",4144 "sc-transaction-pool",5503 "sc-transaction-pool",4145 "serde",5504 "serde",4146 "serde_json",5505 "serde_json",4152 "sp-core",5511 "sp-core",4153 "sp-finality-grandpa",5512 "sp-finality-grandpa",4154 "sp-inherents",5513 "sp-inherents",5514 "sp-keystore",5515 "sp-offchain",4155 "sp-runtime",5516 "sp-runtime",5517<<<<<<< HEAD5518=======5519 "sp-session",5520>>>>>>> origin/develop4156 "sp-timestamp",5521 "sp-timestamp",4157 "sp-transaction-pool",5522 "sp-transaction-pool",5523 "sp-trie",4158 "structopt",5524 "structopt",4159 "substrate-build-script-utils",5525 "substrate-build-script-utils",4160 "substrate-frame-rpc-system",5526 "substrate-frame-rpc-system",5527 "substrate-prometheus-endpoint",4161]5528]416255294163[[package]]5530[[package]]5531name = "nft-data-structs"5532version = "0.9.0"5533dependencies = [5534 "frame-support",5535 "frame-system",5536 "pallet-contracts",5537 "parity-scale-codec",5538 "serde",5539 "sp-core",5540 "sp-runtime",5541]55425543[[package]]4164name = "nft-runtime"5544name = "nft-runtime"4165version = "3.0.0"5545version = "3.0.0"4166dependencies = [5546dependencies = [5547<<<<<<< HEAD4167 "fp-rpc",5548 "fp-rpc",5549=======5550 "cumulus-pallet-aura-ext",5551 "cumulus-pallet-dmp-queue",5552 "cumulus-pallet-parachain-system",5553 "cumulus-pallet-xcm",5554 "cumulus-pallet-xcmp-queue",5555 "cumulus-primitives-core",5556 "cumulus-primitives-utility",5557>>>>>>> origin/develop4168 "frame-benchmarking",5558 "frame-benchmarking",4169 "frame-executive",5559 "frame-executive",4170 "frame-support",5560 "frame-support",4171 "frame-system",5561 "frame-system",4172 "frame-system-benchmarking",5562 "frame-system-benchmarking",4173 "frame-system-rpc-runtime-api",5563 "frame-system-rpc-runtime-api",4174 "hex-literal",5564 "hex-literal",5565 "nft-data-structs",4175 "pallet-aura",5566 "pallet-aura",4176 "pallet-balances",5567 "pallet-balances",4177 "pallet-contracts",5568 "pallet-contracts",4178 "pallet-contracts-primitives",5569 "pallet-contracts-primitives",4179 "pallet-contracts-rpc-runtime-api",5570 "pallet-contracts-rpc-runtime-api",5571<<<<<<< HEAD4180 "pallet-ethereum",5572 "pallet-ethereum",4181 "pallet-evm",5573 "pallet-evm",4182 "pallet-grandpa",5574 "pallet-grandpa",5575=======5576>>>>>>> origin/develop4183 "pallet-inflation",5577 "pallet-inflation",4184 "pallet-nft",5578 "pallet-nft",5579 "pallet-nft-charge-transaction",5580 "pallet-nft-transaction-payment",4185 "pallet-randomness-collective-flip",5581 "pallet-randomness-collective-flip",5582 "pallet-scheduler 3.0.0",4186 "pallet-sudo",5583 "pallet-sudo",4187 "pallet-timestamp",5584 "pallet-timestamp",4188 "pallet-transaction-payment",5585 "pallet-transaction-payment",4189 "pallet-transaction-payment-rpc-runtime-api",5586 "pallet-transaction-payment-rpc-runtime-api",4190 "pallet-treasury",5587 "pallet-treasury",4191 "pallet-vesting",5588 "pallet-vesting",5589<<<<<<< HEAD4192 "parity-scale-codec 2.1.1",5590 "parity-scale-codec 2.1.1",5591=======5592 "pallet-xcm",5593 "parachain-info",5594 "parity-scale-codec",5595 "polkadot-parachain",5596>>>>>>> origin/develop4193 "serde",5597 "serde",4194 "smallvec 1.6.1",5598 "smallvec 1.6.1",4195 "sp-api",5599 "sp-api",4198 "sp-consensus-aura",5602 "sp-consensus-aura",4199 "sp-core",5603 "sp-core",4200 "sp-inherents",5604 "sp-inherents",5605 "sp-io",4201 "sp-offchain",5606 "sp-offchain",4202 "sp-runtime",5607 "sp-runtime",4203 "sp-session",5608 "sp-session",4204 "sp-std",5609 "sp-std",4205 "sp-transaction-pool",5610 "sp-transaction-pool",4206 "sp-version",5611 "sp-version",4207 "substrate-wasm-builder",5612 "substrate-wasm-builder 4.0.0",5613 "xcm",5614 "xcm-builder",5615 "xcm-executor",4208]5616]420956174210[[package]]5618[[package]]431457224315[[package]]5723[[package]]4316name = "object"5724name = "object"4317version = "0.22.0"5725version = "0.23.0"4318source = "registry+https://github.com/rust-lang/crates.io-index"5726source = "registry+https://github.com/rust-lang/crates.io-index"4319checksum = "8d3b63360ec3cb337817c2dbd47ab4a0f170d285d8e5a2064600f3def1402397"5727checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4"4320dependencies = [5728dependencies = [4321 "crc32fast",5729 "crc32fast",4322 "indexmap",5730 "indexmap",4323]5731]432457324325[[package]]5733[[package]]5734<<<<<<< HEAD4326name = "object"5735name = "object"4327version = "0.24.0"5736version = "0.24.0"4328source = "registry+https://github.com/rust-lang/crates.io-index"5737source = "registry+https://github.com/rust-lang/crates.io-index"4329checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170"5738checksum = "1a5b3dd1c072ee7963717671d1ca129f1048fda25edea6b752bfc71ac8854170"433057394331[[package]]5740[[package]]5741=======5742>>>>>>> origin/develop4332name = "once_cell"5743name = "once_cell"4333version = "1.7.2"5744version = "1.7.2"4334source = "registry+https://github.com/rust-lang/crates.io-index"5745source = "registry+https://github.com/rust-lang/crates.io-index"4356checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"5767checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"435757684358[[package]]5769[[package]]5770name = "ordered-float"5771version = "1.1.1"5772source = "registry+https://github.com/rust-lang/crates.io-index"5773checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7"5774dependencies = [5775 "num-traits",5776]57775778[[package]]4359name = "owning_ref"5779name = "owning_ref"4360version = "0.4.1"5780version = "0.4.1"4361source = "registry+https://github.com/rust-lang/crates.io-index"5781source = "registry+https://github.com/rust-lang/crates.io-index"4367[[package]]5787[[package]]4368name = "pallet-aura"5788name = "pallet-aura"4369version = "3.0.0"5789version = "3.0.0"5790<<<<<<< HEAD4370source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5791source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5792=======5793source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"5794>>>>>>> origin/develop4371dependencies = [5795dependencies = [4372 "frame-support",5796 "frame-support",4373 "frame-system",5797 "frame-system",4374 "pallet-session",5798 "pallet-session",4375 "pallet-timestamp",5799 "pallet-timestamp",5800<<<<<<< HEAD4376 "parity-scale-codec 2.1.1",5801 "parity-scale-codec 2.1.1",4377 "serde",5802 "serde",5803=======5804 "parity-scale-codec",5805>>>>>>> origin/develop4378 "sp-application-crypto",5806 "sp-application-crypto",4379 "sp-consensus-aura",5807 "sp-consensus-aura",4380 "sp-runtime",5808 "sp-runtime",4381 "sp-std",5809 "sp-std",4382]5810]438358114384[[package]]5812[[package]]4385name = "pallet-authorship"5813name = "pallet-authority-discovery"4386version = "3.0.0"5814version = "3.0.0"5815<<<<<<< HEAD4387source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5816source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4388dependencies = [5817dependencies = [4389 "frame-support",5818 "frame-support",4392 "parity-scale-codec 2.1.1",5821 "parity-scale-codec 2.1.1",4393 "sp-authorship",5822 "sp-authorship",4394 "sp-inherents",5823 "sp-inherents",5824=======5825source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"5826dependencies = [5827 "frame-support",5828 "frame-system",5829 "pallet-session",5830 "parity-scale-codec",5831 "sp-application-crypto",5832 "sp-authority-discovery",5833>>>>>>> origin/develop4395 "sp-runtime",5834 "sp-runtime",4396 "sp-std",5835 "sp-std",4397]5836]439858374399[[package]]5838[[package]]4400name = "pallet-balances"5839name = "pallet-authorship"4401version = "3.0.0"5840version = "3.0.0"5841<<<<<<< HEAD4402source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5842source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5843=======5844source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"5845>>>>>>> origin/develop4403dependencies = [5846dependencies = [4404 "frame-benchmarking",4405 "frame-support",5847 "frame-support",4406 "frame-system",5848 "frame-system",5849<<<<<<< HEAD4407 "log",5850 "log",4408 "parity-scale-codec 2.1.1",5851 "parity-scale-codec 2.1.1",4409 "serde",5852 "serde",5853=======5854 "impl-trait-for-tuples",5855 "parity-scale-codec",5856 "sp-authorship",5857>>>>>>> origin/develop4410 "sp-runtime",5858 "sp-runtime",4411 "sp-std",5859 "sp-std",4412]5860]441358614414[[package]]5862[[package]]4415name = "pallet-contracts"5863name = "pallet-babe"4416version = "3.0.0"5864version = "3.0.0"5865<<<<<<< HEAD4417source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5866source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5867=======5868source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"5869>>>>>>> origin/develop4418dependencies = [5870dependencies = [5871 "frame-benchmarking",4419 "frame-support",5872 "frame-support",4420 "frame-system",5873 "frame-system",4421 "log",5874 "log",5875<<<<<<< HEAD4422 "pallet-contracts-primitives",5876 "pallet-contracts-primitives",4423 "pallet-contracts-proc-macro",5877 "pallet-contracts-proc-macro",4424 "parity-scale-codec 2.1.1",5878 "parity-scale-codec 2.1.1",4425 "parity-wasm 0.41.0",5879 "parity-wasm 0.41.0",4426 "pwasm-utils 0.16.0",5880 "pwasm-utils 0.16.0",4427 "serde",5881 "serde",4428 "sp-core",5882 "sp-core",5883=======5884 "pallet-authorship",5885 "pallet-session",5886 "pallet-timestamp",5887 "parity-scale-codec",5888 "sp-application-crypto",5889 "sp-consensus-babe",5890 "sp-consensus-vrf",5891>>>>>>> origin/develop4429 "sp-io",5892 "sp-io",4430 "sp-runtime",5893 "sp-runtime",4431 "sp-sandbox",5894 "sp-session",5895 "sp-staking",4432 "sp-std",5896 "sp-std",4433 "wasmi-validation",4434]5897]443558984436[[package]]5899[[package]]4437name = "pallet-contracts-primitives"5900name = "pallet-balances"4438version = "3.0.0"5901version = "3.0.0"5902<<<<<<< HEAD4439source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5903source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4440dependencies = [5904dependencies = [4441 "bitflags",5905 "bitflags",4442 "parity-scale-codec 2.1.1",5906 "parity-scale-codec 2.1.1",5907=======5908source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"5909dependencies = [5910 "frame-benchmarking",5911 "frame-support",5912 "frame-system",5913 "log",5914 "parity-scale-codec",5915>>>>>>> origin/develop4443 "sp-runtime",5916 "sp-runtime",4444 "sp-std",5917 "sp-std",4445]5918]444659194447[[package]]5920[[package]]5921<<<<<<< HEAD4448name = "pallet-contracts-proc-macro"5922name = "pallet-contracts-proc-macro"4449version = "3.0.0"5923version = "3.0.0"4450source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5924source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4465 "pallet-contracts-primitives",5939 "pallet-contracts-primitives",4466 "pallet-contracts-rpc-runtime-api",5940 "pallet-contracts-rpc-runtime-api",4467 "parity-scale-codec 2.1.1",5941 "parity-scale-codec 2.1.1",5942=======5943name = "pallet-beefy"5944version = "0.1.0"5945source = "git+https://github.com/paritytech/grandpa-bridge-gadget?branch=polkadot-v0.9.3#063e18a1f82945d5a304906db92bfbb571bac459"5946dependencies = [5947 "beefy-primitives",5948 "frame-support",5949 "frame-system",5950 "pallet-session",5951 "parity-scale-codec",5952>>>>>>> origin/develop4468 "serde",5953 "serde",4469 "sp-api",4470 "sp-blockchain",4471 "sp-core",4472 "sp-rpc",4473 "sp-runtime",5954 "sp-runtime",5955 "sp-std",4474]5956]447559574476[[package]]5958[[package]]4477name = "pallet-contracts-rpc-runtime-api"5959name = "pallet-bounties"4478version = "3.0.0"5960version = "3.0.0"5961<<<<<<< HEAD4479source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5962source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4480dependencies = [5963dependencies = [4481 "pallet-contracts-primitives",5964 "pallet-contracts-primitives",4482 "parity-scale-codec 2.1.1",5965 "parity-scale-codec 2.1.1",4483 "sp-api",5966 "sp-api",5967=======5968source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"5969dependencies = [5970 "frame-support",5971 "frame-system",5972 "pallet-treasury",5973 "parity-scale-codec",5974>>>>>>> origin/develop4484 "sp-runtime",5975 "sp-runtime",4485 "sp-std",5976 "sp-std",4486]5977]448759784488[[package]]5979[[package]]5980<<<<<<< HEAD4489name = "pallet-ethereum"5981name = "pallet-ethereum"4490version = "2.0.0-dev"5982version = "2.0.0-dev"4491source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"5983source = "git+https://github.com/usetech-llc/frontier.git?branch=injected-transactions#7b3b742c4e95eb7ae6c5435137670365f17ae1fa"4543name = "pallet-grandpa"6035name = "pallet-grandpa"4544version = "3.0.0"6036version = "3.0.0"4545source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6037source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6038=======6039name = "pallet-bridge-grandpa"6040version = "0.1.0"6041source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"6042>>>>>>> origin/develop4546dependencies = [6043dependencies = [4547 "frame-benchmarking",6044 "bp-header-chain",6045 "bp-runtime",6046 "bp-test-utils",6047 "finality-grandpa",4548 "frame-support",6048 "frame-support",4549 "frame-system",6049 "frame-system",4550 "log",6050 "log",6051<<<<<<< HEAD4551 "pallet-authorship",6052 "pallet-authorship",4552 "pallet-session",6053 "pallet-session",4553 "parity-scale-codec 2.1.1",6054 "parity-scale-codec 2.1.1",6055=======6056 "num-traits",6057 "parity-scale-codec",6058>>>>>>> origin/develop4554 "serde",6059 "serde",4555 "sp-application-crypto",4556 "sp-core",4557 "sp-finality-grandpa",6060 "sp-finality-grandpa",4558 "sp-runtime",6061 "sp-runtime",4559 "sp-session",4560 "sp-staking",4561 "sp-std",6062 "sp-std",6063 "sp-trie",4562]6064]456360654564[[package]]6066[[package]]4565name = "pallet-inflation"6067name = "pallet-collective"4566version = "3.0.0"6068version = "3.0.0"6069source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"4567dependencies = [6070dependencies = [4568 "frame-benchmarking",4569 "frame-support",6071 "frame-support",4570 "frame-system",6072 "frame-system",6073<<<<<<< HEAD4571 "pallet-balances",6074 "pallet-balances",4572 "pallet-randomness-collective-flip",6075 "pallet-randomness-collective-flip",4573 "pallet-timestamp",6076 "pallet-timestamp",4574 "parity-scale-codec 2.1.1",6077 "parity-scale-codec 2.1.1",4575 "serde",6078 "serde",6079=======6080 "log",6081 "parity-scale-codec",6082>>>>>>> origin/develop4576 "sp-core",6083 "sp-core",4577 "sp-io",6084 "sp-io",4578 "sp-runtime",6085 "sp-runtime",4579 "sp-std",6086 "sp-std",4580]6087]458160884582[[package]]6089[[package]]4583name = "pallet-nft"6090name = "pallet-contracts"4584version = "3.0.0"6091version = "3.0.0"6092source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"4585dependencies = [6093dependencies = [6094<<<<<<< HEAD4586 "ethereum",6095 "ethereum",4587 "ethereum-tx-sign",6096 "ethereum-tx-sign",4588 "evm-coder",6097 "evm-coder",4603 "rlp 0.5.0",6112 "rlp 0.5.0",4604 "serde",6113 "serde",4605 "sp-api",6114 "sp-api",6115=======6116 "frame-support",6117 "frame-system",6118 "log",6119 "pallet-contracts-primitives",6120 "pallet-contracts-proc-macro",6121 "parity-scale-codec",6122 "parity-wasm 0.42.2",6123 "pwasm-utils 0.17.1",6124 "serde",6125 "smallvec 1.6.1",6126>>>>>>> origin/develop4606 "sp-core",6127 "sp-core",4607 "sp-io",6128 "sp-io",4608 "sp-runtime",6129 "sp-runtime",6130 "sp-sandbox",4609 "sp-std",6131 "sp-std",6132 "wasmi-validation 0.4.0",4610]6133]461161344612[[package]]6135[[package]]4613name = "pallet-randomness-collective-flip"6136name = "pallet-contracts-primitives"4614version = "3.0.0"6137version = "3.0.0"6138<<<<<<< HEAD4615source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6139source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4616dependencies = [6140dependencies = [4617 "frame-support",6141 "frame-support",4618 "frame-system",6142 "frame-system",4619 "parity-scale-codec 2.1.1",6143 "parity-scale-codec 2.1.1",4620 "safe-mix",6144 "safe-mix",6145=======6146source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6147dependencies = [6148 "bitflags",6149 "parity-scale-codec",6150 "serde",6151 "sp-core",6152>>>>>>> origin/develop4621 "sp-runtime",6153 "sp-runtime",4622 "sp-std",6154 "sp-std",4623]6155]462461564625[[package]]6157[[package]]4626name = "pallet-session"6158name = "pallet-contracts-proc-macro"4627version = "3.0.0"6159version = "3.0.0"6160<<<<<<< HEAD4628source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6161source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4629dependencies = [6162dependencies = [4630 "frame-support",6163 "frame-support",4631 "frame-system",6164 "frame-system",4632 "impl-trait-for-tuples 0.2.1",6165 "impl-trait-for-tuples 0.2.1",4633 "pallet-timestamp",6166 "pallet-timestamp",4634 "parity-scale-codec 2.1.1",6167 "parity-scale-codec 2.1.1",6168=======6169source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6170dependencies = [6171 "proc-macro2",6172 "quote",6173 "syn",6174]61756176[[package]]6177name = "pallet-contracts-rpc"6178version = "3.0.0"6179source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6180dependencies = [6181 "jsonrpc-core",6182 "jsonrpc-core-client",6183 "jsonrpc-derive",6184 "pallet-contracts-primitives",6185 "pallet-contracts-rpc-runtime-api",6186 "parity-scale-codec",6187>>>>>>> origin/develop4635 "serde",6188 "serde",6189 "sp-api",6190 "sp-blockchain",4636 "sp-core",6191 "sp-core",4637 "sp-io",6192 "sp-rpc",4638 "sp-runtime",6193 "sp-runtime",4639 "sp-session",4640 "sp-staking",4641 "sp-std",4642 "sp-trie",4643]6194]464461954645[[package]]6196[[package]]4646name = "pallet-sudo"6197name = "pallet-contracts-rpc-runtime-api"4647version = "3.0.0"6198version = "3.0.0"6199<<<<<<< HEAD4648source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6200source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4649dependencies = [6201dependencies = [4650 "frame-support",6202 "frame-support",4651 "frame-system",6203 "frame-system",4652 "parity-scale-codec 2.1.1",6204 "parity-scale-codec 2.1.1",4653 "serde",6205 "serde",4654 "sp-io",6206 "sp-io",6207=======6208source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6209dependencies = [6210 "pallet-contracts-primitives",6211 "parity-scale-codec",6212 "sp-api",6213>>>>>>> origin/develop4655 "sp-runtime",6214 "sp-runtime",4656 "sp-std",6215 "sp-std",4657]6216]465862174659[[package]]6218[[package]]4660name = "pallet-timestamp"6219name = "pallet-democracy"4661version = "3.0.0"6220version = "3.0.0"6221<<<<<<< HEAD4662source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6222source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6223=======6224source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6225>>>>>>> origin/develop4663dependencies = [6226dependencies = [4664 "frame-benchmarking",6227 "frame-benchmarking",4665 "frame-support",6228 "frame-support",4666 "frame-system",6229 "frame-system",6230<<<<<<< HEAD4667 "impl-trait-for-tuples 0.2.1",6231 "impl-trait-for-tuples 0.2.1",4668 "log",6232 "log",4669 "parity-scale-codec 2.1.1",6233 "parity-scale-codec 2.1.1",6234=======6235 "parity-scale-codec",6236>>>>>>> origin/develop4670 "serde",6237 "serde",4671 "sp-inherents",4672 "sp-io",6238 "sp-io",4673 "sp-runtime",6239 "sp-runtime",4674 "sp-std",6240 "sp-std",4675 "sp-timestamp",4676]6241]467762424678[[package]]6243[[package]]4679name = "pallet-transaction-payment"6244name = "pallet-election-provider-multi-phase"4680version = "3.0.0"6245version = "3.0.0"6246<<<<<<< HEAD4681source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6247source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6248=======6249source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6250>>>>>>> origin/develop4682dependencies = [6251dependencies = [6252 "frame-election-provider-support",4683 "frame-support",6253 "frame-support",4684 "frame-system",6254 "frame-system",6255<<<<<<< HEAD4685 "parity-scale-codec 2.1.1",6256 "parity-scale-codec 2.1.1",4686 "serde",6257 "serde",4687 "smallvec 1.6.1",6258 "smallvec 1.6.1",6259=======6260 "log",6261 "parity-scale-codec",6262 "sp-arithmetic",6263>>>>>>> origin/develop4688 "sp-core",6264 "sp-core",4689 "sp-io",6265 "sp-io",6266 "sp-npos-elections",4690 "sp-runtime",6267 "sp-runtime",4691 "sp-std",6268 "sp-std",6269 "static_assertions",4692]6270]469362714694[[package]]6272[[package]]6273<<<<<<< HEAD4695name = "pallet-transaction-payment-rpc"6274name = "pallet-transaction-payment-rpc"4696version = "3.0.0"6275version = "3.0.0"4697source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6276source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4703 "parity-scale-codec 2.1.1",6282 "parity-scale-codec 2.1.1",4704 "sp-api",6283 "sp-api",4705 "sp-blockchain",6284 "sp-blockchain",6285=======6286name = "pallet-elections-phragmen"6287version = "4.0.0"6288source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6289dependencies = [6290 "frame-support",6291 "frame-system",6292 "log",6293 "parity-scale-codec",6294>>>>>>> origin/develop4706 "sp-core",6295 "sp-core",4707 "sp-rpc",6296 "sp-io",6297 "sp-npos-elections",4708 "sp-runtime",6298 "sp-runtime",6299 "sp-std",4709]6300]471063014711[[package]]6302[[package]]4712name = "pallet-transaction-payment-rpc-runtime-api"6303name = "pallet-gilt"4713version = "3.0.0"6304version = "3.0.0"6305<<<<<<< HEAD4714source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6306source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"4715dependencies = [6307dependencies = [4716 "pallet-transaction-payment",6308 "pallet-transaction-payment",4717 "parity-scale-codec 2.1.1",6309 "parity-scale-codec 2.1.1",4718 "sp-api",6310 "sp-api",6311=======6312source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6313dependencies = [6314 "frame-benchmarking",6315 "frame-support",6316 "frame-system",6317 "parity-scale-codec",6318 "sp-arithmetic",6319>>>>>>> origin/develop4719 "sp-runtime",6320 "sp-runtime",6321 "sp-std",4720]6322]472163234722[[package]]6324[[package]]4723name = "pallet-treasury"6325name = "pallet-grandpa"4724version = "3.0.0"6326version = "3.0.0"6327<<<<<<< HEAD4725source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6328source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6329=======6330source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6331>>>>>>> origin/develop4726dependencies = [6332dependencies = [6333 "frame-benchmarking",4727 "frame-support",6334 "frame-support",4728 "frame-system",6335 "frame-system",6336<<<<<<< HEAD4729 "impl-trait-for-tuples 0.2.1",6337 "impl-trait-for-tuples 0.2.1",4730 "pallet-balances",6338 "pallet-balances",4731 "parity-scale-codec 2.1.1",6339 "parity-scale-codec 2.1.1",4732 "serde",6340 "serde",6341=======6342 "log",6343 "pallet-authorship",6344 "pallet-session",6345 "parity-scale-codec",6346 "sp-application-crypto",6347 "sp-core",6348 "sp-finality-grandpa",6349>>>>>>> origin/develop4733 "sp-runtime",6350 "sp-runtime",6351 "sp-session",6352 "sp-staking",4734 "sp-std",6353 "sp-std",4735]6354]473663554737[[package]]6356[[package]]4738name = "pallet-vesting"6357name = "pallet-identity"4739version = "3.0.0"6358version = "3.0.0"6359<<<<<<< HEAD4740source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6360source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6361=======6362source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6363>>>>>>> origin/develop4741dependencies = [6364dependencies = [4742 "enumflags2",6365 "enumflags2",6366 "frame-benchmarking",4743 "frame-support",6367 "frame-support",4744 "frame-system",6368 "frame-system",6369<<<<<<< HEAD4745 "parity-scale-codec 2.1.1",6370 "parity-scale-codec 2.1.1",4746 "serde",6371 "serde",6372=======6373 "parity-scale-codec",6374 "sp-io",6375>>>>>>> origin/develop4747 "sp-runtime",6376 "sp-runtime",4748 "sp-std",6377 "sp-std",4749]6378]475063794751[[package]]6380[[package]]6381<<<<<<< HEAD4752name = "parity-db"6382name = "parity-db"4753version = "0.2.3"6383version = "0.2.3"4754source = "registry+https://github.com/rust-lang/crates.io-index"6384source = "registry+https://github.com/rust-lang/crates.io-index"4759 "fs2",6389 "fs2",4760 "hex",6390 "hex",4761 "libc",6391 "libc",6392=======6393name = "pallet-im-online"6394version = "3.0.0"6395source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6396dependencies = [6397 "frame-support",6398 "frame-system",6399>>>>>>> origin/develop4762 "log",6400 "log",4763 "memmap2",6401 "pallet-authorship",4764 "parking_lot 0.11.1",6402 "parity-scale-codec",6403 "sp-application-crypto",4765 "rand 0.8.3",6404 "sp-core",6405 "sp-io",6406 "sp-runtime",6407 "sp-staking",6408 "sp-std",4766]6409]476764104768[[package]]6411[[package]]6412<<<<<<< HEAD4769name = "parity-multiaddr"6413name = "parity-multiaddr"4770version = "0.11.2"6414version = "0.11.2"4771source = "registry+https://github.com/rust-lang/crates.io-index"6415source = "registry+https://github.com/rust-lang/crates.io-index"4805 "bitvec 0.20.4",6449 "bitvec 0.20.4",4806 "byte-slice-cast 1.0.0",6450 "byte-slice-cast 1.0.0",4807 "parity-scale-codec-derive",6451 "parity-scale-codec-derive",6452=======6453name = "pallet-indices"6454version = "3.0.0"6455source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6456dependencies = [6457 "frame-support",6458 "frame-system",6459 "parity-scale-codec",6460 "sp-core",6461 "sp-io",6462 "sp-keyring",6463 "sp-runtime",6464 "sp-std",6465]64666467[[package]]6468name = "pallet-inflation"6469version = "3.0.0"6470dependencies = [6471 "frame-benchmarking",6472 "frame-support",6473 "frame-system",6474 "pallet-balances",6475 "pallet-randomness-collective-flip",6476 "pallet-timestamp",6477 "parity-scale-codec",6478>>>>>>> origin/develop4808 "serde",6479 "serde",6480 "sp-core",6481 "sp-io",6482 "sp-runtime",6483 "sp-std",4809]6484]481064854811[[package]]6486[[package]]6487<<<<<<< HEAD4812name = "parity-scale-codec-derive"6488name = "parity-scale-codec-derive"4813version = "2.1.0"6489version = "2.1.0"4814source = "registry+https://github.com/rust-lang/crates.io-index"6490source = "registry+https://github.com/rust-lang/crates.io-index"4818 "proc-macro2",6494 "proc-macro2",4819 "quote",6495 "quote",4820 "syn",6496 "syn",6497=======6498name = "pallet-membership"6499version = "3.0.0"6500source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6501dependencies = [6502 "frame-benchmarking",6503 "frame-support",6504 "frame-system",6505 "log",6506 "parity-scale-codec",6507 "sp-io",6508 "sp-runtime",6509 "sp-std",6510>>>>>>> origin/develop4821]6511]482265124823[[package]]6513[[package]]6514name = "pallet-mmr"6515version = "3.0.0"6516source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6517dependencies = [6518<<<<<<< HEAD6519 "bytes 0.4.12",6520 "futures 0.1.31",6521 "libc",6522 "log",6523 "mio-named-pipes",6524 "miow 0.3.7",6525 "rand 0.7.3",6526 "tokio 0.1.22",6527 "tokio-named-pipes",6528 "tokio-uds",6529 "winapi 0.3.9",6530=======6531 "ckb-merkle-mountain-range",6532 "frame-benchmarking",6533 "frame-support",6534 "frame-system",6535 "pallet-mmr-primitives",6536 "parity-scale-codec",6537 "sp-core",6538 "sp-io",6539 "sp-runtime",6540 "sp-std",6541>>>>>>> origin/develop6542]65436544[[package]]6545name = "pallet-mmr-primitives"6546version = "3.0.0"6547source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6548dependencies = [6549<<<<<<< HEAD6550 "cfg-if 1.0.0",6551 "hashbrown",6552 "impl-trait-for-tuples 0.2.1",6553 "parity-util-mem-derive",6554 "parking_lot 0.11.1",6555 "primitive-types 0.9.0",6556 "smallvec 1.6.1",6557 "winapi 0.3.9",6558=======6559 "frame-support",6560 "frame-system",6561 "log",6562 "parity-scale-codec",6563 "serde",6564 "sp-api",6565 "sp-core",6566 "sp-runtime",6567 "sp-std",6568>>>>>>> origin/develop6569]65706571[[package]]6572name = "pallet-mmr-rpc"6573version = "3.0.0"6574source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6575dependencies = [6576 "jsonrpc-core",6577 "jsonrpc-core-client",6578 "jsonrpc-derive",6579 "pallet-mmr-primitives",6580 "parity-scale-codec",6581 "serde",6582 "sp-api",6583 "sp-blockchain",6584 "sp-core",6585 "sp-rpc",6586 "sp-runtime",6587]65886589[[package]]6590name = "pallet-multisig"6591version = "3.0.0"6592source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6593dependencies = [6594 "frame-support",6595 "frame-system",6596 "parity-scale-codec",6597 "sp-core",6598 "sp-io",6599 "sp-runtime",6600 "sp-std",6601]66026603[[package]]6604name = "pallet-nft"6605version = "3.0.0"6606dependencies = [6607<<<<<<< HEAD6608 "byteorder",6609 "bytes 0.4.12",6610 "httparse",6611 "log",6612 "mio",6613 "mio-extras",6614 "rand 0.7.3",6615 "sha-1 0.8.2",6616 "slab",6617 "url 2.2.2",6618=======6619 "frame-benchmarking",6620 "frame-support",6621 "frame-system",6622 "nft-data-structs",6623 "pallet-balances",6624 "pallet-contracts",6625 "pallet-randomness-collective-flip",6626 "pallet-timestamp",6627 "pallet-transaction-payment",6628 "parity-scale-codec",6629 "serde",6630 "sp-core",6631 "sp-io",6632 "sp-runtime",6633 "sp-std",6634>>>>>>> origin/develop6635]66366637[[package]]6638name = "pallet-nft-charge-transaction"6639version = "3.0.0"6640dependencies = [6641 "frame-benchmarking",6642 "frame-support",6643 "frame-system",6644 "nft-data-structs",6645 "pallet-balances",6646 "pallet-contracts",6647 "pallet-nft",6648 "pallet-nft-transaction-payment",6649 "pallet-randomness-collective-flip",6650 "pallet-timestamp",6651 "pallet-transaction-payment",6652 "parity-scale-codec",6653 "serde",6654 "sp-core",6655 "sp-io",6656 "sp-runtime",6657 "sp-std",6658]66596660[[package]]6661name = "pallet-nft-transaction-payment"6662version = "3.0.0"6663dependencies = [6664 "frame-benchmarking",6665 "frame-support",6666 "frame-system",6667 "nft-data-structs",6668 "pallet-balances",6669 "pallet-contracts",6670 "pallet-nft",6671 "pallet-randomness-collective-flip",6672 "pallet-timestamp",6673 "pallet-transaction-payment",6674 "parity-scale-codec",6675 "serde",6676 "sp-core",6677 "sp-io",6678 "sp-runtime",6679 "sp-std",6680]66816682[[package]]6683name = "pallet-nicks"6684version = "3.0.0"6685source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6686dependencies = [6687<<<<<<< HEAD6688 "instant",6689 "lock_api 0.4.4",6690 "parking_lot_core 0.8.3",6691=======6692 "frame-support",6693 "frame-system",6694 "parity-scale-codec",6695 "sp-io",6696 "sp-runtime",6697 "sp-std",6698>>>>>>> origin/develop6699]67006701[[package]]6702name = "pallet-offences"6703version = "3.0.0"6704source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6705dependencies = [6706 "frame-support",6707 "frame-system",6708 "log",6709 "pallet-balances",6710 "parity-scale-codec",6711 "serde",6712 "sp-runtime",6713 "sp-staking",6714 "sp-std",6715]67166717[[package]]6718name = "pallet-proxy"6719version = "3.0.0"6720source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6721dependencies = [6722 "frame-support",6723 "frame-system",6724 "parity-scale-codec",6725 "sp-core",6726 "sp-io",6727 "sp-runtime",6728 "sp-std",6729]67306731[[package]]6732name = "pallet-randomness-collective-flip"6733version = "3.0.0"6734source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6735dependencies = [6736<<<<<<< HEAD6737 "cfg-if 1.0.0",6738 "instant",6739 "libc",6740 "redox_syscall 0.2.8",6741 "smallvec 1.6.1",6742 "winapi 0.3.9",6743]67446745[[package]]6746name = "paste"6747version = "1.0.5"6748source = "registry+https://github.com/rust-lang/crates.io-index"6749checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58"6750=======6751 "frame-support",6752 "frame-system",6753 "parity-scale-codec",6754 "safe-mix",6755 "sp-runtime",6756 "sp-std",6757]67586759[[package]]6760name = "pallet-recovery"6761version = "3.0.0"6762source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6763dependencies = [6764 "enumflags2",6765 "frame-support",6766 "frame-system",6767 "parity-scale-codec",6768 "sp-io",6769 "sp-runtime",6770 "sp-std",6771]67726773[[package]]6774name = "pallet-scheduler"6775version = "3.0.0"6776dependencies = [6777 "frame-benchmarking",6778 "frame-support",6779 "frame-system",6780 "log",6781 "nft-data-structs",6782 "pallet-contracts",6783 "pallet-nft",6784 "pallet-nft-transaction-payment",6785 "parity-scale-codec",6786 "serde",6787 "sp-core",6788 "sp-io",6789 "sp-runtime",6790 "sp-std",6791 "substrate-test-utils",6792]6793>>>>>>> origin/develop67946795[[package]]6796name = "pallet-scheduler"6797version = "3.0.0"6798source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6799dependencies = [6800 "frame-benchmarking",6801 "frame-support",6802 "frame-system",6803 "log",6804 "parity-scale-codec",6805 "sp-io",6806 "sp-runtime",6807 "sp-std",6808]68096810[[package]]6811name = "pallet-session"6812version = "3.0.0"6813source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6814dependencies = [6815 "frame-support",6816 "frame-system",6817 "impl-trait-for-tuples",6818 "pallet-timestamp",6819 "parity-scale-codec",6820 "sp-core",6821 "sp-io",6822 "sp-runtime",6823 "sp-session",6824 "sp-staking",6825 "sp-std",6826 "sp-trie",6827]68286829[[package]]6830name = "pallet-society"6831version = "3.0.0"6832source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6833dependencies = [6834 "frame-support",6835 "frame-system",6836 "parity-scale-codec",6837 "rand_chacha 0.2.2",6838 "sp-runtime",6839 "sp-std",6840]68416842[[package]]6843name = "pallet-staking"6844version = "3.0.0"6845source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6846dependencies = [6847 "frame-election-provider-support",6848 "frame-support",6849 "frame-system",6850 "log",6851 "pallet-authorship",6852 "pallet-session",6853 "parity-scale-codec",6854 "paste",6855 "serde",6856 "sp-application-crypto",6857 "sp-io",6858 "sp-runtime",6859 "sp-staking",6860 "sp-std",6861 "static_assertions",6862]68636864[[package]]6865name = "pallet-staking-reward-curve"6866version = "3.0.0"6867source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6868dependencies = [6869 "proc-macro-crate 1.0.0",6870 "proc-macro2",6871 "quote",6872 "syn",6873]68746875[[package]]6876name = "pallet-staking-reward-fn"6877version = "3.0.0"6878source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6879dependencies = [6880 "log",6881 "sp-arithmetic",6882]68836884[[package]]6885name = "pallet-sudo"6886version = "3.0.0"6887source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6888dependencies = [6889 "frame-support",6890 "frame-system",6891 "parity-scale-codec",6892 "sp-io",6893 "sp-runtime",6894 "sp-std",6895]68966897[[package]]6898name = "pallet-timestamp"6899version = "3.0.0"6900source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6901dependencies = [6902 "frame-benchmarking",6903 "frame-support",6904 "frame-system",6905 "impl-trait-for-tuples",6906 "log",6907 "parity-scale-codec",6908 "sp-inherents",6909 "sp-io",6910 "sp-runtime",6911 "sp-std",6912 "sp-timestamp",6913]69146915[[package]]6916name = "pallet-tips"6917version = "3.0.0"6918source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6919dependencies = [6920 "frame-support",6921 "frame-system",6922 "pallet-treasury",6923 "parity-scale-codec",6924 "serde",6925 "sp-runtime",6926 "sp-std",6927]69286929[[package]]6930name = "pallet-transaction-payment"6931version = "3.0.0"6932source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6933dependencies = [6934 "frame-support",6935 "frame-system",6936 "parity-scale-codec",6937 "serde",6938 "smallvec 1.6.1",6939 "sp-core",6940 "sp-io",6941 "sp-runtime",6942 "sp-std",6943]69446945[[package]]6946name = "pallet-transaction-payment-rpc"6947version = "3.0.0"6948source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6949dependencies = [6950 "jsonrpc-core",6951 "jsonrpc-core-client",6952 "jsonrpc-derive",6953 "pallet-transaction-payment-rpc-runtime-api",6954 "parity-scale-codec",6955 "sp-api",6956 "sp-blockchain",6957 "sp-core",6958 "sp-rpc",6959 "sp-runtime",6960]69616962[[package]]6963<<<<<<< HEAD6964name = "pin-project"6965version = "0.4.28"6966source = "registry+https://github.com/rust-lang/crates.io-index"6967checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f"6968dependencies = [6969 "pin-project-internal 0.4.28",6970]69716972[[package]]6973name = "pin-project"6974version = "1.0.7"6975source = "registry+https://github.com/rust-lang/crates.io-index"6976checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4"6977dependencies = [6978 "pin-project-internal 1.0.7",6979]69806981[[package]]6982name = "pin-project-internal"6983version = "0.4.28"6984source = "registry+https://github.com/rust-lang/crates.io-index"6985checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e"6986=======6987name = "pallet-transaction-payment-rpc-runtime-api"6988version = "3.0.0"6989source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"6990dependencies = [6991 "pallet-transaction-payment",6992 "parity-scale-codec",6993 "sp-api",6994 "sp-runtime",6995]69966997[[package]]6998name = "pallet-treasury"6999version = "3.0.0"7000source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"7001dependencies = [7002 "frame-support",7003 "frame-system",7004 "impl-trait-for-tuples",7005 "pallet-balances",7006 "parity-scale-codec",7007 "serde",7008 "sp-runtime",7009 "sp-std",7010]70117012[[package]]7013name = "pallet-utility"7014version = "3.0.0"7015source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"7016>>>>>>> origin/develop7017dependencies = [7018 "frame-support",7019 "frame-system",7020 "parity-scale-codec",7021 "sp-core",7022 "sp-io",7023 "sp-runtime",7024 "sp-std",7025]70267027[[package]]7028<<<<<<< HEAD7029name = "pin-project-internal"7030version = "1.0.7"7031source = "registry+https://github.com/rust-lang/crates.io-index"7032checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f"7033=======7034name = "pallet-vesting"7035version = "3.0.0"7036source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"7037>>>>>>> origin/develop7038dependencies = [7039 "enumflags2",7040 "frame-support",7041 "frame-system",7042 "parity-scale-codec",7043 "sp-runtime",7044 "sp-std",7045]70467047[[package]]7048<<<<<<< HEAD7049name = "pin-project-lite"7050version = "0.1.12"7051source = "registry+https://github.com/rust-lang/crates.io-index"7052checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"70537054[[package]]7055name = "pin-project-lite"7056version = "0.2.6"7057source = "registry+https://github.com/rust-lang/crates.io-index"7058checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"7059=======7060name = "pallet-xcm"7061version = "0.1.0"7062source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7063dependencies = [7064 "frame-support",7065 "frame-system",7066 "parity-scale-codec",7067 "serde",7068 "sp-runtime",7069 "sp-std",7070 "xcm",7071 "xcm-executor",7072]70737074[[package]]7075name = "parachain-info"7076version = "0.1.0"7077source = "git+https://github.com/paritytech/cumulus.git?branch=polkadot-v0.9.3#78b31b21122995b49f3c2cfe2791f188e33e5917"7078dependencies = [7079 "cumulus-primitives-core",7080 "frame-support",7081 "frame-system",7082 "parity-scale-codec",7083 "serde",7084]70857086[[package]]7087name = "parity-db"7088version = "0.2.3"7089source = "registry+https://github.com/rust-lang/crates.io-index"7090checksum = "495197c078e54b8735181aa35c00a327f7f3a3cc00a1ee8c95926dd010f0ec6b"7091dependencies = [7092 "blake2-rfc",7093 "crc32fast",7094 "fs2",7095 "hex",7096 "libc",7097 "log",7098 "memmap2",7099 "parking_lot 0.11.1",7100 "rand 0.8.3",7101]71027103[[package]]7104name = "parity-multiaddr"7105version = "0.11.2"7106source = "registry+https://github.com/rust-lang/crates.io-index"7107checksum = "58341485071825827b7f03cf7efd1cb21e6a709bea778fb50227fd45d2f361b4"7108dependencies = [7109 "arrayref",7110 "bs58",7111 "byteorder",7112 "data-encoding",7113 "multihash",7114 "percent-encoding 2.1.0",7115 "serde",7116 "static_assertions",7117 "unsigned-varint 0.7.0",7118 "url 2.2.1",7119]7120>>>>>>> origin/develop71217122[[package]]7123name = "parity-scale-codec"7124version = "2.1.1"7125source = "registry+https://github.com/rust-lang/crates.io-index"7126checksum = "e0f518afaa5a47d0d6386229b0a6e01e86427291d643aa4cabb4992219f504f8"7127dependencies = [7128 "arrayvec 0.7.0",7129 "bitvec",7130 "byte-slice-cast",7131 "parity-scale-codec-derive",7132 "serde",7133]71347135[[package]]7136name = "parity-scale-codec-derive"7137version = "2.1.0"7138source = "registry+https://github.com/rust-lang/crates.io-index"7139checksum = "f44c5f94427bd0b5076e8f7e15ca3f60a4d8ac0077e4793884e6fdfd8915344e"7140dependencies = [7141 "proc-macro-crate 0.1.5",7142 "proc-macro2",7143 "quote",7144 "syn",7145]71467147[[package]]4824name = "parity-send-wrapper"7148name = "parity-send-wrapper"4825version = "0.1.0"7149version = "0.1.0"4826source = "registry+https://github.com/rust-lang/crates.io-index"7150source = "registry+https://github.com/rust-lang/crates.io-index"4852checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42"7176checksum = "664a8c6b8e62d8f9f2f937e391982eb433ab285b4cd9545b342441e04a906e42"4853dependencies = [7177dependencies = [4854 "cfg-if 1.0.0",7178 "cfg-if 1.0.0",7179 "ethereum-types",4855 "hashbrown",7180 "hashbrown",4856 "impl-trait-for-tuples 0.2.1",7181 "impl-trait-for-tuples",7182 "lru",4857 "parity-util-mem-derive",7183 "parity-util-mem-derive",4858 "parking_lot 0.11.1",7184 "parking_lot 0.11.1",4859 "primitive-types 0.9.0",7185 "primitive-types",4860 "smallvec 1.6.1",7186 "smallvec 1.6.1",4861 "winapi 0.3.9",7187 "winapi 0.3.9",4862]7188]4888checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865"7214checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865"488972154890[[package]]7216[[package]]7217name = "parity-wasm"7218version = "0.42.2"7219source = "registry+https://github.com/rust-lang/crates.io-index"7220checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92"72217222[[package]]4891name = "parity-ws"7223name = "parity-ws"4892version = "0.10.0"7224version = "0.10.0"4893source = "registry+https://github.com/rust-lang/crates.io-index"7225source = "registry+https://github.com/rust-lang/crates.io-index"4902 "rand 0.7.3",7234 "rand 0.7.3",4903 "sha-1 0.8.2",7235 "sha-1 0.8.2",4904 "slab",7236 "slab",4905 "url 2.2.2",7237 "url 2.2.1",4906]7238]490772394908[[package]]7240[[package]]4939checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"7271checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"4940dependencies = [7272dependencies = [4941 "instant",7273 "instant",4942 "lock_api 0.4.4",7274 "lock_api 0.4.3",4943 "parking_lot_core 0.8.3",7275 "parking_lot_core 0.8.3",4944]7276]494572774981 "cfg-if 1.0.0",7313 "cfg-if 1.0.0",4982 "instant",7314 "instant",4983 "libc",7315 "libc",4984 "redox_syscall 0.2.8",7316 "redox_syscall 0.2.6",4985 "smallvec 1.6.1",7317 "smallvec 1.6.1",4986 "winapi 0.3.9",7318 "winapi 0.3.9",4987]7319]509974315100[[package]]7432[[package]]5101name = "pin-project"7433name = "pin-project"5102version = "1.0.7"7434version = "1.0.6"5103source = "registry+https://github.com/rust-lang/crates.io-index"7435source = "registry+https://github.com/rust-lang/crates.io-index"5104checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4"7436checksum = "bc174859768806e91ae575187ada95c91a29e96a98dc5d2cd9a1fed039501ba6"5105dependencies = [7437dependencies = [5106 "pin-project-internal 1.0.7",7438 "pin-project-internal 1.0.6",5107]7439]510874405109[[package]]7441[[package]]511974515120[[package]]7452[[package]]5121name = "pin-project-internal"7453name = "pin-project-internal"5122version = "1.0.7"7454version = "1.0.6"5123source = "registry+https://github.com/rust-lang/crates.io-index"7455source = "registry+https://github.com/rust-lang/crates.io-index"5124checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f"7456checksum = "a490329918e856ed1b083f244e3bfe2d8c4f336407e4ea9e1a9f479ff09049e5"5125dependencies = [7457dependencies = [5126 "proc-macro2",7458 "proc-macro2",5127 "quote",7459 "quote",5159checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325"7491checksum = "989d43012e2ca1c4a02507c67282691a0a3207f9dc67cec596b43fe925b3d325"516074925161[[package]]7493[[package]]7494name = "polkadot-approval-distribution"7495version = "0.1.0"7496source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7497dependencies = [7498 "futures 0.3.14",7499 "polkadot-node-network-protocol",7500 "polkadot-node-primitives",7501 "polkadot-node-subsystem",7502 "polkadot-node-subsystem-util",7503 "polkadot-primitives",7504 "tracing",7505]75067507[[package]]7508name = "polkadot-availability-bitfield-distribution"7509version = "0.1.0"7510source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7511dependencies = [7512 "futures 0.3.14",7513 "polkadot-node-network-protocol",7514 "polkadot-node-subsystem",7515 "polkadot-node-subsystem-util",7516 "polkadot-primitives",7517 "tracing",7518]75197520[[package]]7521name = "polkadot-availability-distribution"7522version = "0.1.0"7523source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7524dependencies = [7525 "futures 0.3.14",7526 "lru",7527 "parity-scale-codec",7528 "polkadot-erasure-coding",7529 "polkadot-node-core-runtime-api",7530 "polkadot-node-network-protocol",7531 "polkadot-node-primitives",7532 "polkadot-node-subsystem",7533 "polkadot-node-subsystem-util",7534 "polkadot-primitives",7535 "rand 0.8.3",7536 "sp-application-crypto",7537 "sp-core",7538 "sp-keystore",7539 "thiserror",7540 "tracing",7541]75427543[[package]]7544name = "polkadot-availability-recovery"7545version = "0.1.0"7546source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7547dependencies = [7548 "futures 0.3.14",7549 "lru",7550 "parity-scale-codec",7551 "polkadot-erasure-coding",7552 "polkadot-node-network-protocol",7553 "polkadot-node-primitives",7554 "polkadot-node-subsystem",7555 "polkadot-node-subsystem-util",7556 "polkadot-primitives",7557 "rand 0.8.3",7558 "thiserror",7559 "tracing",7560]75617562[[package]]7563name = "polkadot-cli"7564version = "0.9.3"7565source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7566dependencies = [7567 "frame-benchmarking-cli",7568 "futures 0.3.14",7569 "log",7570 "polkadot-node-core-pvf",7571 "polkadot-service",7572 "sc-cli",7573 "sc-service",7574 "sp-core",7575 "sp-trie",7576 "structopt",7577 "substrate-build-script-utils",7578 "thiserror",7579 "try-runtime-cli",7580]75817582[[package]]7583name = "polkadot-collator-protocol"7584version = "0.1.0"7585source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7586dependencies = [7587 "always-assert",7588 "futures 0.3.14",7589 "futures-timer 3.0.2",7590 "polkadot-node-network-protocol",7591 "polkadot-node-primitives",7592 "polkadot-node-subsystem",7593 "polkadot-node-subsystem-util",7594 "polkadot-primitives",7595 "sp-core",7596 "sp-keystore",7597 "sp-runtime",7598 "thiserror",7599 "tracing",7600]76017602[[package]]7603name = "polkadot-core-primitives"7604version = "0.9.3"7605source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7606dependencies = [7607 "parity-scale-codec",7608 "parity-util-mem",7609 "sp-core",7610 "sp-runtime",7611 "sp-std",7612]76137614[[package]]7615name = "polkadot-erasure-coding"7616version = "0.9.3"7617source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7618dependencies = [7619 "parity-scale-codec",7620 "polkadot-node-primitives",7621 "polkadot-primitives",7622 "reed-solomon-novelpoly",7623 "sp-core",7624 "sp-trie",7625 "thiserror",7626]76277628[[package]]7629name = "polkadot-gossip-support"7630version = "0.1.0"7631source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7632dependencies = [7633 "futures 0.3.14",7634 "polkadot-node-network-protocol",7635 "polkadot-node-subsystem",7636 "polkadot-node-subsystem-util",7637 "polkadot-primitives",7638 "sp-application-crypto",7639 "sp-keystore",7640 "tracing",7641]76427643[[package]]7644name = "polkadot-network-bridge"7645version = "0.1.0"7646source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7647dependencies = [7648 "async-trait",7649 "futures 0.3.14",7650 "parity-scale-codec",7651 "parking_lot 0.11.1",7652 "polkadot-node-network-protocol",7653 "polkadot-node-subsystem",7654 "polkadot-node-subsystem-util",7655 "polkadot-primitives",7656 "sc-authority-discovery",7657 "sc-network",7658 "sp-consensus",7659 "strum",7660 "tracing",7661]76627663[[package]]7664name = "polkadot-node-collation-generation"7665version = "0.1.0"7666source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7667dependencies = [7668 "futures 0.3.14",7669 "parity-scale-codec",7670 "polkadot-erasure-coding",7671 "polkadot-node-primitives",7672 "polkadot-node-subsystem",7673 "polkadot-node-subsystem-util",7674 "polkadot-primitives",7675 "sp-core",7676 "sp-maybe-compressed-blob",7677 "thiserror",7678 "tracing",7679]76807681[[package]]7682name = "polkadot-node-core-approval-voting"7683version = "0.1.0"7684source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7685dependencies = [7686 "bitvec",7687 "derive_more",7688 "futures 0.3.14",7689 "futures-timer 3.0.2",7690 "kvdb",7691 "merlin",7692 "parity-scale-codec",7693 "polkadot-node-jaeger",7694 "polkadot-node-primitives",7695 "polkadot-node-subsystem",7696 "polkadot-node-subsystem-util",7697 "polkadot-overseer",7698 "polkadot-primitives",7699 "sc-client-api",7700 "sc-keystore",7701 "schnorrkel",7702 "sp-application-crypto",7703 "sp-blockchain",7704 "sp-consensus",7705 "sp-consensus-slots",7706 "sp-runtime",7707 "tracing",7708]77097710[[package]]7711name = "polkadot-node-core-av-store"7712version = "0.1.0"7713source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7714dependencies = [7715 "bitvec",7716 "futures 0.3.14",7717 "futures-timer 3.0.2",7718 "kvdb",7719 "parity-scale-codec",7720 "polkadot-erasure-coding",7721 "polkadot-node-primitives",7722 "polkadot-node-subsystem",7723 "polkadot-node-subsystem-util",7724 "polkadot-overseer",7725 "polkadot-primitives",7726 "thiserror",7727 "tracing",7728]77297730[[package]]7731name = "polkadot-node-core-backing"7732version = "0.1.0"7733source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7734dependencies = [7735 "bitvec",7736 "futures 0.3.14",7737 "polkadot-erasure-coding",7738 "polkadot-node-primitives",7739 "polkadot-node-subsystem",7740 "polkadot-node-subsystem-util",7741 "polkadot-primitives",7742 "polkadot-statement-table",7743 "sp-keystore",7744 "thiserror",7745 "tracing",7746]77477748[[package]]7749name = "polkadot-node-core-bitfield-signing"7750version = "0.1.0"7751source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7752dependencies = [7753 "futures 0.3.14",7754 "polkadot-node-subsystem",7755 "polkadot-node-subsystem-util",7756 "polkadot-primitives",7757 "sp-keystore",7758 "thiserror",7759 "tracing",7760 "wasm-timer",7761]77627763[[package]]7764name = "polkadot-node-core-candidate-selection"7765version = "0.1.0"7766source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7767dependencies = [7768 "futures 0.3.14",7769 "polkadot-node-primitives",7770 "polkadot-node-subsystem",7771 "polkadot-node-subsystem-util",7772 "polkadot-primitives",7773 "sp-keystore",7774 "thiserror",7775 "tracing",7776]77777778[[package]]7779name = "polkadot-node-core-candidate-validation"7780version = "0.1.0"7781source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7782dependencies = [7783 "async-trait",7784 "futures 0.3.14",7785 "parity-scale-codec",7786 "polkadot-node-core-pvf",7787 "polkadot-node-primitives",7788 "polkadot-node-subsystem",7789 "polkadot-node-subsystem-util",7790 "polkadot-parachain",7791 "polkadot-primitives",7792 "sp-maybe-compressed-blob",7793 "tracing",7794]77957796[[package]]7797name = "polkadot-node-core-chain-api"7798version = "0.1.0"7799source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7800dependencies = [7801 "futures 0.3.14",7802 "polkadot-node-subsystem",7803 "polkadot-node-subsystem-util",7804 "polkadot-primitives",7805 "sp-blockchain",7806 "tracing",7807]78087809[[package]]7810name = "polkadot-node-core-parachains-inherent"7811version = "0.1.0"7812source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7813dependencies = [7814 "async-trait",7815 "futures 0.3.14",7816 "futures-timer 3.0.2",7817 "polkadot-node-subsystem",7818 "polkadot-overseer",7819 "polkadot-primitives",7820 "sp-blockchain",7821 "sp-inherents",7822 "sp-runtime",7823 "thiserror",7824 "tracing",7825]78267827[[package]]7828name = "polkadot-node-core-provisioner"7829version = "0.1.0"7830source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7831dependencies = [7832 "bitvec",7833 "futures 0.3.14",7834 "futures-timer 3.0.2",7835 "polkadot-node-subsystem",7836 "polkadot-node-subsystem-util",7837 "polkadot-primitives",7838 "thiserror",7839 "tracing",7840]78417842[[package]]7843name = "polkadot-node-core-pvf"7844version = "0.1.0"7845source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7846dependencies = [7847 "always-assert",7848 "assert_matches",7849 "async-process",7850 "async-std",7851 "futures 0.3.14",7852 "futures-timer 3.0.2",7853 "libc",7854 "parity-scale-codec",7855 "pin-project 1.0.6",7856 "polkadot-core-primitives",7857 "polkadot-parachain",7858 "rand 0.8.3",7859 "sc-executor",7860 "sc-executor-common",7861 "sc-executor-wasmtime",7862 "slotmap",7863 "sp-core",7864 "sp-externalities",7865 "sp-io",7866 "sp-wasm-interface",7867 "tracing",7868]78697870[[package]]7871name = "polkadot-node-core-runtime-api"7872version = "0.1.0"7873source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7874dependencies = [7875 "futures 0.3.14",7876 "memory-lru",7877 "parity-util-mem",7878 "polkadot-node-subsystem",7879 "polkadot-node-subsystem-util",7880 "polkadot-primitives",7881 "sp-api",7882 "sp-authority-discovery",7883 "sp-consensus-babe",7884 "sp-core",7885 "tracing",7886]78877888[[package]]7889name = "polkadot-node-jaeger"7890version = "0.1.0"7891source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7892dependencies = [7893 "async-std",7894 "lazy_static",7895 "log",7896 "mick-jaeger",7897 "parity-scale-codec",7898 "parking_lot 0.11.1",7899 "polkadot-node-primitives",7900 "polkadot-primitives",7901 "sc-network",7902 "sp-core",7903 "thiserror",7904]79057906[[package]]7907name = "polkadot-node-network-protocol"7908version = "0.1.0"7909source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7910dependencies = [7911 "futures 0.3.14",7912 "parity-scale-codec",7913 "polkadot-node-jaeger",7914 "polkadot-node-primitives",7915 "polkadot-primitives",7916 "sc-network",7917 "strum",7918 "thiserror",7919]79207921[[package]]7922name = "polkadot-node-primitives"7923version = "0.1.0"7924source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7925dependencies = [7926 "futures 0.3.14",7927 "parity-scale-codec",7928 "polkadot-parachain",7929 "polkadot-primitives",7930 "polkadot-statement-table",7931 "schnorrkel",7932 "serde",7933 "sp-application-crypto",7934 "sp-consensus-babe",7935 "sp-consensus-vrf",7936 "sp-core",7937 "sp-maybe-compressed-blob",7938 "sp-runtime",7939 "thiserror",7940 "zstd",7941]79427943[[package]]7944name = "polkadot-node-subsystem"7945version = "0.1.0"7946source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7947dependencies = [7948 "async-std",7949 "async-trait",7950 "derive_more",7951 "futures 0.3.14",7952 "futures-timer 3.0.2",7953 "lazy_static",7954 "log",7955 "mick-jaeger",7956 "parity-scale-codec",7957 "parking_lot 0.11.1",7958 "pin-project 1.0.6",7959 "polkadot-node-jaeger",7960 "polkadot-node-network-protocol",7961 "polkadot-node-primitives",7962 "polkadot-primitives",7963 "polkadot-procmacro-subsystem-dispatch-gen",7964 "polkadot-statement-table",7965 "sc-network",7966 "smallvec 1.6.1",7967 "sp-core",7968 "substrate-prometheus-endpoint",7969 "thiserror",7970 "tracing",7971]79727973[[package]]7974name = "polkadot-node-subsystem-util"7975version = "0.1.0"7976source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"7977dependencies = [7978 "async-trait",7979 "futures 0.3.14",7980 "futures-timer 3.0.2",7981 "lru",7982 "metered-channel",7983 "parity-scale-codec",7984 "pin-project 1.0.6",7985 "polkadot-node-jaeger",7986 "polkadot-node-network-protocol",7987 "polkadot-node-primitives",7988 "polkadot-node-subsystem",7989 "polkadot-primitives",7990 "rand 0.8.3",7991 "sc-network",7992 "sp-application-crypto",7993 "sp-core",7994 "sp-keystore",7995 "streamunordered",7996 "substrate-prometheus-endpoint",7997 "thiserror",7998 "tracing",7999]80008001[[package]]8002name = "polkadot-overseer"8003version = "0.1.0"8004source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8005dependencies = [8006 "async-trait",8007 "futures 0.3.14",8008 "futures-timer 3.0.2",8009 "polkadot-node-primitives",8010 "polkadot-node-subsystem",8011 "polkadot-node-subsystem-util",8012 "polkadot-primitives",8013 "polkadot-procmacro-overseer-subsystems-gen",8014 "sc-client-api",8015 "sp-api",8016 "tracing",8017]80188019[[package]]8020name = "polkadot-parachain"8021version = "0.9.3"8022source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8023dependencies = [8024 "derive_more",8025 "parity-scale-codec",8026 "parity-util-mem",8027 "polkadot-core-primitives",8028 "serde",8029 "sp-core",8030 "sp-runtime",8031 "sp-std",8032]80338034[[package]]8035name = "polkadot-primitives"8036version = "0.9.3"8037source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8038dependencies = [8039 "bitvec",8040 "frame-system",8041 "hex-literal",8042 "parity-scale-codec",8043 "parity-util-mem",8044 "polkadot-core-primitives",8045 "polkadot-parachain",8046 "serde",8047 "sp-api",8048 "sp-application-crypto",8049 "sp-arithmetic",8050 "sp-authority-discovery",8051 "sp-core",8052 "sp-inherents",8053 "sp-io",8054 "sp-keystore",8055 "sp-runtime",8056 "sp-staking",8057 "sp-std",8058 "sp-trie",8059 "sp-version",8060 "thiserror",8061]80628063[[package]]8064name = "polkadot-procmacro-overseer-subsystems-gen"8065version = "0.1.0"8066source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8067dependencies = [8068 "assert_matches",8069 "proc-macro2",8070 "quote",8071 "syn",8072]80738074[[package]]8075name = "polkadot-procmacro-subsystem-dispatch-gen"8076version = "0.1.0"8077source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8078dependencies = [8079 "assert_matches",8080 "proc-macro2",8081 "quote",8082 "syn",8083]80848085[[package]]8086name = "polkadot-rpc"8087version = "0.9.3"8088source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8089dependencies = [8090 "beefy-gadget",8091 "beefy-gadget-rpc",8092 "jsonrpc-core",8093 "pallet-mmr-rpc",8094 "pallet-transaction-payment-rpc",8095 "parity-scale-codec",8096 "polkadot-primitives",8097 "sc-chain-spec",8098 "sc-client-api",8099 "sc-consensus-babe",8100 "sc-consensus-babe-rpc",8101 "sc-consensus-epochs",8102 "sc-finality-grandpa",8103 "sc-finality-grandpa-rpc",8104 "sc-keystore",8105 "sc-rpc",8106 "sc-sync-state-rpc",8107 "sp-api",8108 "sp-block-builder",8109 "sp-blockchain",8110 "sp-consensus",8111 "sp-consensus-babe",8112 "sp-keystore",8113 "sp-runtime",8114 "sp-transaction-pool",8115 "substrate-frame-rpc-system",8116]81178118[[package]]8119name = "polkadot-runtime"8120version = "0.9.3"8121source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8122dependencies = [8123 "beefy-primitives",8124 "bitvec",8125 "frame-executive",8126 "frame-support",8127 "frame-system",8128 "frame-system-rpc-runtime-api",8129 "frame-try-runtime",8130 "log",8131 "pallet-authority-discovery",8132 "pallet-authorship",8133 "pallet-babe",8134 "pallet-balances",8135 "pallet-bounties",8136 "pallet-collective",8137 "pallet-democracy",8138 "pallet-election-provider-multi-phase",8139 "pallet-elections-phragmen",8140 "pallet-grandpa",8141 "pallet-identity",8142 "pallet-im-online",8143 "pallet-indices",8144 "pallet-membership",8145 "pallet-mmr-primitives",8146 "pallet-multisig",8147 "pallet-nicks",8148 "pallet-offences",8149 "pallet-proxy",8150 "pallet-randomness-collective-flip",8151 "pallet-scheduler 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3)",8152 "pallet-session",8153 "pallet-staking",8154 "pallet-staking-reward-curve",8155 "pallet-timestamp",8156 "pallet-tips",8157 "pallet-transaction-payment",8158 "pallet-transaction-payment-rpc-runtime-api",8159 "pallet-treasury",8160 "pallet-utility",8161 "pallet-vesting",8162 "parity-scale-codec",8163 "polkadot-primitives",8164 "polkadot-runtime-common",8165 "rustc-hex",8166 "serde",8167 "serde_derive",8168 "smallvec 1.6.1",8169 "sp-api",8170 "sp-authority-discovery",8171 "sp-block-builder",8172 "sp-consensus-babe",8173 "sp-core",8174 "sp-inherents",8175 "sp-io",8176 "sp-npos-elections",8177 "sp-offchain",8178 "sp-runtime",8179 "sp-session",8180 "sp-staking",8181 "sp-std",8182 "sp-transaction-pool",8183 "sp-version",8184 "static_assertions",8185 "substrate-wasm-builder 3.0.0",8186]81878188[[package]]8189name = "polkadot-runtime-common"8190version = "0.9.3"8191source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8192dependencies = [8193 "beefy-primitives",8194 "bitvec",8195 "frame-support",8196 "frame-system",8197 "impl-trait-for-tuples",8198 "libsecp256k1",8199 "log",8200 "pallet-authorship",8201 "pallet-balances",8202 "pallet-beefy",8203 "pallet-mmr",8204 "pallet-offences",8205 "pallet-session",8206 "pallet-staking",8207 "pallet-timestamp",8208 "pallet-transaction-payment",8209 "pallet-treasury",8210 "pallet-vesting",8211 "parity-scale-codec",8212 "polkadot-primitives",8213 "polkadot-runtime-parachains",8214 "rustc-hex",8215 "serde",8216 "serde_derive",8217 "slot-range-helper",8218 "sp-api",8219 "sp-core",8220 "sp-inherents",8221 "sp-io",8222 "sp-runtime",8223 "sp-session",8224 "sp-staking",8225 "sp-std",8226 "static_assertions",8227 "xcm",8228]82298230[[package]]8231name = "polkadot-runtime-parachains"8232version = "0.9.3"8233source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8234dependencies = [8235 "bitvec",8236 "derive_more",8237 "frame-support",8238 "frame-system",8239 "log",8240 "pallet-authority-discovery",8241 "pallet-authorship",8242 "pallet-balances",8243 "pallet-offences",8244 "pallet-session",8245 "pallet-staking",8246 "pallet-timestamp",8247 "pallet-vesting",8248 "parity-scale-codec",8249 "polkadot-primitives",8250 "rand 0.8.3",8251 "rand_chacha 0.3.0",8252 "rustc-hex",8253 "serde",8254 "sp-api",8255 "sp-core",8256 "sp-inherents",8257 "sp-io",8258 "sp-keystore",8259 "sp-runtime",8260 "sp-session",8261 "sp-staking",8262 "sp-std",8263 "xcm",8264 "xcm-executor",8265]82668267[[package]]8268name = "polkadot-service"8269version = "0.9.3"8270source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8271dependencies = [8272 "beefy-gadget",8273 "beefy-primitives",8274 "frame-benchmarking",8275 "frame-system-rpc-runtime-api",8276 "futures 0.3.14",8277 "hex-literal",8278 "kusama-runtime",8279 "kvdb",8280 "kvdb-rocksdb",8281 "pallet-babe",8282 "pallet-im-online",8283 "pallet-mmr-primitives",8284 "pallet-staking",8285 "pallet-transaction-payment-rpc-runtime-api",8286 "polkadot-approval-distribution",8287 "polkadot-availability-bitfield-distribution",8288 "polkadot-availability-distribution",8289 "polkadot-availability-recovery",8290 "polkadot-collator-protocol",8291 "polkadot-gossip-support",8292 "polkadot-network-bridge",8293 "polkadot-node-collation-generation",8294 "polkadot-node-core-approval-voting",8295 "polkadot-node-core-av-store",8296 "polkadot-node-core-backing",8297 "polkadot-node-core-bitfield-signing",8298 "polkadot-node-core-candidate-selection",8299 "polkadot-node-core-candidate-validation",8300 "polkadot-node-core-chain-api",8301 "polkadot-node-core-parachains-inherent",8302 "polkadot-node-core-provisioner",8303 "polkadot-node-core-runtime-api",8304 "polkadot-node-primitives",8305 "polkadot-node-subsystem",8306 "polkadot-node-subsystem-util",8307 "polkadot-overseer",8308 "polkadot-parachain",8309 "polkadot-primitives",8310 "polkadot-rpc",8311 "polkadot-runtime",8312 "polkadot-runtime-parachains",8313 "polkadot-statement-distribution",8314 "rococo-runtime",8315 "sc-authority-discovery",8316 "sc-basic-authorship",8317 "sc-block-builder",8318 "sc-chain-spec",8319 "sc-client-api",8320 "sc-client-db",8321 "sc-consensus",8322 "sc-consensus-babe",8323 "sc-consensus-slots",8324 "sc-consensus-uncles",8325 "sc-executor",8326 "sc-finality-grandpa",8327 "sc-finality-grandpa-warp-sync",8328 "sc-keystore",8329 "sc-network",8330 "sc-service",8331 "sc-telemetry",8332 "sc-transaction-pool",8333 "serde",8334 "sp-api",8335 "sp-authority-discovery",8336 "sp-block-builder",8337 "sp-blockchain",8338 "sp-consensus",8339 "sp-consensus-babe",8340 "sp-core",8341 "sp-finality-grandpa",8342 "sp-inherents",8343 "sp-io",8344 "sp-keystore",8345 "sp-offchain",8346 "sp-runtime",8347 "sp-session",8348 "sp-state-machine",8349 "sp-storage",8350 "sp-timestamp",8351 "sp-transaction-pool",8352 "sp-trie",8353 "substrate-prometheus-endpoint",8354 "thiserror",8355 "tracing",8356 "westend-runtime",8357]83588359[[package]]8360name = "polkadot-statement-distribution"8361version = "0.1.0"8362source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8363dependencies = [8364 "arrayvec 0.5.2",8365 "futures 0.3.14",8366 "indexmap",8367 "parity-scale-codec",8368 "polkadot-node-network-protocol",8369 "polkadot-node-primitives",8370 "polkadot-node-subsystem",8371 "polkadot-node-subsystem-util",8372 "polkadot-primitives",8373 "sc-network",8374 "sp-keystore",8375 "sp-staking",8376 "thiserror",8377 "tracing",8378]83798380[[package]]8381name = "polkadot-statement-table"8382version = "0.9.3"8383source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8384dependencies = [8385 "parity-scale-codec",8386 "polkadot-primitives",8387 "sp-core",8388]83898390[[package]]8391name = "polkadot-test-runtime"8392version = "0.9.3"8393source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8394dependencies = [8395 "beefy-primitives",8396 "bitvec",8397 "frame-election-provider-support",8398 "frame-executive",8399 "frame-support",8400 "frame-system",8401 "frame-system-rpc-runtime-api",8402 "log",8403 "pallet-authority-discovery",8404 "pallet-authorship",8405 "pallet-babe",8406 "pallet-balances",8407 "pallet-grandpa",8408 "pallet-indices",8409 "pallet-mmr-primitives",8410 "pallet-nicks",8411 "pallet-offences",8412 "pallet-randomness-collective-flip",8413 "pallet-session",8414 "pallet-staking",8415 "pallet-staking-reward-curve",8416 "pallet-sudo",8417 "pallet-timestamp",8418 "pallet-transaction-payment",8419 "pallet-transaction-payment-rpc-runtime-api",8420 "pallet-vesting",8421 "parity-scale-codec",8422 "polkadot-parachain",8423 "polkadot-primitives",8424 "polkadot-runtime-common",8425 "polkadot-runtime-parachains",8426 "rustc-hex",8427 "serde",8428 "serde_derive",8429 "smallvec 1.6.1",8430 "sp-api",8431 "sp-authority-discovery",8432 "sp-block-builder",8433 "sp-consensus-babe",8434 "sp-core",8435 "sp-inherents",8436 "sp-io",8437 "sp-offchain",8438 "sp-runtime",8439 "sp-session",8440 "sp-staking",8441 "sp-std",8442 "sp-transaction-pool",8443 "sp-version",8444 "substrate-wasm-builder 3.0.0",8445]84468447[[package]]8448name = "polkadot-test-service"8449version = "0.9.3"8450source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"8451dependencies = [8452 "frame-benchmarking",8453 "frame-system",8454 "futures 0.1.31",8455 "futures 0.3.14",8456 "hex",8457 "pallet-balances",8458 "pallet-staking",8459 "pallet-transaction-payment",8460 "polkadot-node-primitives",8461 "polkadot-node-subsystem",8462 "polkadot-overseer",8463 "polkadot-parachain",8464 "polkadot-primitives",8465 "polkadot-rpc",8466 "polkadot-runtime-common",8467 "polkadot-runtime-parachains",8468 "polkadot-service",8469 "polkadot-test-runtime",8470 "rand 0.8.3",8471 "sc-authority-discovery",8472 "sc-chain-spec",8473 "sc-cli",8474 "sc-client-api",8475 "sc-consensus",8476 "sc-consensus-babe",8477 "sc-executor",8478 "sc-finality-grandpa",8479 "sc-network",8480 "sc-service",8481 "sc-tracing",8482 "sc-transaction-pool",8483 "sp-arithmetic",8484 "sp-authority-discovery",8485 "sp-blockchain",8486 "sp-consensus",8487 "sp-consensus-babe",8488 "sp-core",8489 "sp-finality-grandpa",8490 "sp-inherents",8491 "sp-keyring",8492 "sp-runtime",8493 "sp-state-machine",8494 "substrate-test-client",8495 "tempfile",8496 "tracing",8497]84988499[[package]]5162name = "polling"8500name = "polling"5163version = "2.0.3"8501version = "2.0.3"5164source = "registry+https://github.com/rust-lang/crates.io-index"8502source = "registry+https://github.com/rust-lang/crates.io-index"5217source = "registry+https://github.com/rust-lang/crates.io-index"8555source = "registry+https://github.com/rust-lang/crates.io-index"5218checksum = "2415937401cb030a2a0a4d922483f945fa068f52a7dbb22ce0fe5f2b6f6adace"8556checksum = "2415937401cb030a2a0a4d922483f945fa068f52a7dbb22ce0fe5f2b6f6adace"5219dependencies = [8557dependencies = [8558<<<<<<< HEAD5220 "fixed-hash 0.7.0",8559 "fixed-hash 0.7.0",5221 "impl-codec 0.5.0",8560 "impl-codec 0.5.0",5222 "impl-rlp 0.3.0",8561 "impl-rlp 0.3.0",8562=======8563 "fixed-hash",8564 "impl-codec",8565 "impl-rlp",8566>>>>>>> origin/develop5223 "impl-serde",8567 "impl-serde",5224 "uint 0.9.0",8568 "uint 0.9.0",5225]8569]5320dependencies = [8664dependencies = [5321 "bytes 1.0.1",8665 "bytes 1.0.1",5322 "heck",8666 "heck",5323 "itertools",8667 "itertools 0.9.0",5324 "log",8668 "log",5325 "multimap",8669 "multimap",5326 "petgraph",8670 "petgraph",5327 "prost",8671 "prost",5328 "prost-types",8672 "prost-types",5329 "tempfile",8673 "tempfile",8674<<<<<<< HEAD5330 "which",8675 "which",8676=======8677 "which 4.1.0",8678>>>>>>> origin/develop5331]8679]533286805333[[package]]8681[[package]]5337checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4"8685checksum = "169a15f3008ecb5160cba7d37bcd690a7601b6d30cfb87a117d45e59d52af5d4"5338dependencies = [8686dependencies = [5339 "anyhow",8687 "anyhow",5340 "itertools",8688 "itertools 0.9.0",5341 "proc-macro2",8689 "proc-macro2",5342 "quote",8690 "quote",5343 "syn",8691 "syn",537587235376[[package]]8724[[package]]5377name = "pwasm-utils"8725name = "pwasm-utils"5378version = "0.16.0"8726version = "0.17.1"5379source = "registry+https://github.com/rust-lang/crates.io-index"8727source = "registry+https://github.com/rust-lang/crates.io-index"5380checksum = "1c8ac87af529432d3a4f0e2b3bbf08af49f28f09cc73ed7e551161bdaef5f78d"8728checksum = "78778a25194f953d1766fc8c6a331ed56f070d09a0511267ee2c150cb71ea8c2"5381dependencies = [8729dependencies = [5382 "byteorder",8730 "byteorder",5383 "log",8731 "log",5384 "parity-wasm 0.41.0",8732 "parity-wasm 0.42.2",5385]8733]538687345387[[package]]8735[[package]]5567]8915]556889165569[[package]]8917[[package]]5570name = "raw-cpuid"5571version = "8.1.2"5572source = "registry+https://github.com/rust-lang/crates.io-index"5573checksum = "1fdf7d9dbd43f3d81d94a49c1c3df73cc2b3827995147e6cf7f89d4ec5483e73"5574dependencies = [5575 "bitflags",5576 "cc",5577 "rustc_version",5578]55795580[[package]]5581name = "rawpointer"8918name = "rawpointer"5582version = "0.2.1"8919version = "0.2.1"5583source = "registry+https://github.com/rust-lang/crates.io-index"8920source = "registry+https://github.com/rust-lang/crates.io-index"5603dependencies = [8940dependencies = [5604 "crossbeam-channel",8941 "crossbeam-channel",5605 "crossbeam-deque 0.8.0",8942 "crossbeam-deque 0.8.0",8943<<<<<<< HEAD5606 "crossbeam-utils 0.8.4",8944 "crossbeam-utils 0.8.4",8945=======8946 "crossbeam-utils 0.8.3",8947>>>>>>> origin/develop5607 "lazy_static",8948 "lazy_static",5608 "num_cpus",8949 "num_cpus",5609]8950]5622version = "0.1.57"8963version = "0.1.57"5623source = "registry+https://github.com/rust-lang/crates.io-index"8964source = "registry+https://github.com/rust-lang/crates.io-index"5624checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"8965checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"8966<<<<<<< HEAD8967=======562589685626[[package]]8969[[package]]5627name = "redox_syscall"8970name = "redox_syscall"8971version = "0.2.6"8972source = "registry+https://github.com/rust-lang/crates.io-index"8973checksum = "8270314b5ccceb518e7e578952f0b72b88222d02e8f77f5ecf7abbb673539041"8974dependencies = [8975 "bitflags",8976]8977>>>>>>> origin/develop89788979[[package]]8980name = "redox_syscall"5628version = "0.2.8"8981version = "0.2.8"5629source = "registry+https://github.com/rust-lang/crates.io-index"8982source = "registry+https://github.com/rust-lang/crates.io-index"5630checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"8983checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"5639checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"8992checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"5640dependencies = [8993dependencies = [5641 "getrandom 0.2.2",8994 "getrandom 0.2.2",8995<<<<<<< HEAD5642 "redox_syscall 0.2.8",8996 "redox_syscall 0.2.8",8997=======8998 "redox_syscall 0.2.6",5643]8999]564490005645[[package]]9001[[package]]9002name = "reed-solomon-novelpoly"9003version = "1.0.0"9004source = "registry+https://github.com/rust-lang/crates.io-index"9005checksum = "3bd8f48b2066e9f69ab192797d66da804d1935bf22763204ed3675740cb0f221"9006dependencies = [9007 "derive_more",9008 "fs-err",9009 "itertools 0.10.0",9010 "static_init",9011 "thiserror",9012>>>>>>> origin/develop9013]90149015[[package]]5646name = "ref-cast"9016name = "ref-cast"5647version = "1.0.6"9017version = "1.0.6"5648source = "registry+https://github.com/rust-lang/crates.io-index"9018source = "registry+https://github.com/rust-lang/crates.io-index"5670dependencies = [9040dependencies = [5671 "log",9041 "log",5672 "rustc-hash",9042 "rustc-hash",9043 "serde",5673 "smallvec 1.6.1",9044 "smallvec 1.6.1",5674]9045]567590465676[[package]]9047[[package]]5677name = "regex"9048name = "regex"9049<<<<<<< HEAD5678version = "1.5.4"9050version = "1.5.4"5679source = "registry+https://github.com/rust-lang/crates.io-index"9051source = "registry+https://github.com/rust-lang/crates.io-index"5680checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"9052checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"9053=======9054version = "1.4.5"9055source = "registry+https://github.com/rust-lang/crates.io-index"9056checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"9057>>>>>>> origin/develop5681dependencies = [9058dependencies = [5682 "aho-corasick",9059 "aho-corasick",5683 "memchr",9060 "memchr",569690735697[[package]]9074[[package]]5698name = "regex-syntax"9075name = "regex-syntax"9076<<<<<<< HEAD5699version = "0.6.25"9077version = "0.6.25"5700source = "registry+https://github.com/rust-lang/crates.io-index"9078source = "registry+https://github.com/rust-lang/crates.io-index"5701checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"9079checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"9080=======9081version = "0.6.23"9082source = "registry+https://github.com/rust-lang/crates.io-index"9083checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"9084>>>>>>> origin/develop570290855703[[package]]9086[[package]]5704name = "region"9087name = "region"5713]9096]571490975715[[package]]9098[[package]]9099name = "remote-externalities"9100version = "0.9.0"9101source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9102dependencies = [9103 "env_logger 0.8.3",9104 "hex-literal",9105 "jsonrpsee-http-client",9106 "jsonrpsee-proc-macros",9107 "log",9108 "parity-scale-codec",9109 "sp-core",9110 "sp-io",9111 "sp-runtime",9112]91139114[[package]]5716name = "remove_dir_all"9115name = "remove_dir_all"5717version = "0.5.3"9116version = "0.5.3"5718source = "registry+https://github.com/rust-lang/crates.io-index"9117source = "registry+https://github.com/rust-lang/crates.io-index"5722]9121]572391225724[[package]]9123[[package]]9124name = "resolv-conf"9125version = "0.7.0"9126source = "registry+https://github.com/rust-lang/crates.io-index"9127checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"9128dependencies = [9129 "hostname",9130 "quick-error 1.2.3",9131]91329133[[package]]5725name = "retain_mut"9134name = "retain_mut"5726version = "0.1.3"9135version = "0.1.3"5727source = "registry+https://github.com/rust-lang/crates.io-index"9136source = "registry+https://github.com/rust-lang/crates.io-index"574491535745[[package]]9154[[package]]5746name = "rlp"9155name = "rlp"9156<<<<<<< HEAD5747version = "0.4.6"9157version = "0.4.6"5748source = "registry+https://github.com/rust-lang/crates.io-index"9158source = "registry+https://github.com/rust-lang/crates.io-index"5749checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"9159checksum = "1190dcc8c3a512f1eef5d09bb8c84c7f39e1054e174d1795482e18f5272f2e73"575391635754[[package]]9164[[package]]5755name = "rlp"9165name = "rlp"9166=======9167>>>>>>> origin/develop5756version = "0.5.0"9168version = "0.5.0"5757source = "registry+https://github.com/rust-lang/crates.io-index"9169source = "registry+https://github.com/rust-lang/crates.io-index"5758checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8"9170checksum = "e54369147e3e7796c9b885c7304db87ca3d09a0a98f72843d532868675bbfba8"5762]9174]576391755764[[package]]9176[[package]]9177<<<<<<< HEAD5765name = "rlp-derive"9178name = "rlp-derive"5766version = "0.1.0"9179version = "0.1.0"5767source = "registry+https://github.com/rust-lang/crates.io-index"9180source = "registry+https://github.com/rust-lang/crates.io-index"5773]9186]577491875775[[package]]9188[[package]]9189=======9190>>>>>>> origin/develop5776name = "rocksdb"9191name = "rocksdb"5777version = "0.16.0"9192version = "0.16.0"5778source = "registry+https://github.com/rust-lang/crates.io-index"9193source = "registry+https://github.com/rust-lang/crates.io-index"5783]9198]578491995785[[package]]9200[[package]]9201name = "rococo-runtime"9202version = "0.9.3"9203source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"9204dependencies = [9205 "beefy-primitives",9206 "bp-rococo",9207 "bp-wococo",9208 "frame-executive",9209 "frame-support",9210 "frame-system",9211 "frame-system-rpc-runtime-api",9212 "hex-literal",9213 "log",9214 "pallet-authority-discovery",9215 "pallet-authorship",9216 "pallet-babe",9217 "pallet-balances",9218 "pallet-beefy",9219 "pallet-bridge-grandpa",9220 "pallet-collective",9221 "pallet-grandpa",9222 "pallet-im-online",9223 "pallet-indices",9224 "pallet-membership",9225 "pallet-mmr",9226 "pallet-mmr-primitives",9227 "pallet-offences",9228 "pallet-proxy",9229 "pallet-session",9230 "pallet-staking",9231 "pallet-staking-reward-curve",9232 "pallet-sudo",9233 "pallet-timestamp",9234 "pallet-transaction-payment",9235 "pallet-transaction-payment-rpc-runtime-api",9236 "pallet-utility",9237 "pallet-xcm",9238 "parity-scale-codec",9239 "polkadot-parachain",9240 "polkadot-primitives",9241 "polkadot-runtime-common",9242 "polkadot-runtime-parachains",9243 "serde",9244 "serde_derive",9245 "smallvec 1.6.1",9246 "sp-api",9247 "sp-authority-discovery",9248 "sp-block-builder",9249 "sp-consensus-babe",9250 "sp-core",9251 "sp-inherents",9252 "sp-io",9253 "sp-offchain",9254 "sp-runtime",9255 "sp-session",9256 "sp-staking",9257 "sp-std",9258 "sp-transaction-pool",9259 "sp-version",9260 "substrate-wasm-builder 3.0.0",9261 "xcm",9262 "xcm-builder",9263 "xcm-executor",9264]92659266[[package]]5786name = "rpassword"9267name = "rpassword"5787version = "5.0.1"9268version = "5.0.1"5788source = "registry+https://github.com/rust-lang/crates.io-index"9269source = "registry+https://github.com/rust-lang/crates.io-index"5793]9274]579492755795[[package]]9276[[package]]9277<<<<<<< HEAD9278=======9279name = "rust-argon2"9280version = "0.8.3"9281source = "registry+https://github.com/rust-lang/crates.io-index"9282checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"9283dependencies = [9284 "base64 0.13.0",9285 "blake2b_simd",9286 "constant_time_eq",9287 "crossbeam-utils 0.8.3",9288]92899290[[package]]9291>>>>>>> origin/develop5796name = "rustc-demangle"9292name = "rustc-demangle"5797version = "0.1.19"9293version = "0.1.19"5798source = "registry+https://github.com/rust-lang/crates.io-index"9294source = "registry+https://github.com/rust-lang/crates.io-index"5858]9354]585993555860[[package]]9356[[package]]9357name = "ruzstd"9358version = "0.2.2"9359source = "registry+https://github.com/rust-lang/crates.io-index"9360checksum = "3d425143485a37727c7a46e689bbe3b883a00f42b4a52c4ac0f44855c1009b00"9361dependencies = [9362 "byteorder",9363 "twox-hash",9364]93659366[[package]]5861name = "rw-stream-sink"9367name = "rw-stream-sink"5862version = "0.2.1"9368version = "0.2.1"5863source = "registry+https://github.com/rust-lang/crates.io-index"9369source = "registry+https://github.com/rust-lang/crates.io-index"5864checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"9370checksum = "4da5fcb054c46f5a5dff833b129285a93d3f0179531735e6c866e8cc307d2020"5865dependencies = [9371dependencies = [9372<<<<<<< HEAD5866 "futures 0.3.15",9373 "futures 0.3.15",9374=======9375 "futures 0.3.14",9376>>>>>>> origin/develop5867 "pin-project 0.4.28",9377 "pin-project 0.4.28",5868 "static_assertions",9378 "static_assertions",5869]9379]5902]9412]590394135904[[package]]9414[[package]]9415name = "sc-authority-discovery"9416version = "0.9.0"9417source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9418dependencies = [9419 "async-trait",9420 "derive_more",9421 "either",9422 "futures 0.3.14",9423 "futures-timer 3.0.2",9424 "ip_network",9425 "libp2p",9426 "log",9427 "parity-scale-codec",9428 "prost",9429 "prost-build",9430 "rand 0.7.3",9431 "sc-client-api",9432 "sc-network",9433 "serde_json",9434 "sp-api",9435 "sp-authority-discovery",9436 "sp-blockchain",9437 "sp-core",9438 "sp-keystore",9439 "sp-runtime",9440 "substrate-prometheus-endpoint",9441]94429443[[package]]5905name = "sc-basic-authorship"9444name = "sc-basic-authorship"5906version = "0.9.0"9445version = "0.9.0"9446<<<<<<< HEAD5907source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9447source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5908dependencies = [9448dependencies = [5909 "futures 0.3.15",9449 "futures 0.3.15",9450=======9451source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9452dependencies = [9453 "futures 0.3.14",9454>>>>>>> origin/develop5910 "futures-timer 3.0.2",9455 "futures-timer 3.0.2",5911 "log",9456 "log",5912 "parity-scale-codec 2.1.1",9457 "parity-scale-codec 2.1.1",5927[[package]]9472[[package]]5928name = "sc-block-builder"9473name = "sc-block-builder"5929version = "0.9.0"9474version = "0.9.0"9475<<<<<<< HEAD5930source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9476source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9477=======9478source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9479>>>>>>> origin/develop5931dependencies = [9480dependencies = [5932 "parity-scale-codec 2.1.1",9481 "parity-scale-codec 2.1.1",5933 "sc-client-api",9482 "sc-client-api",5943[[package]]9492[[package]]5944name = "sc-chain-spec"9493name = "sc-chain-spec"5945version = "3.0.0"9494version = "3.0.0"9495<<<<<<< HEAD5946source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9496source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9497=======9498source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9499>>>>>>> origin/develop5947dependencies = [9500dependencies = [5948 "impl-trait-for-tuples 0.2.1",9501 "impl-trait-for-tuples 0.2.1",5949 "parity-scale-codec 2.1.1",9502 "parity-scale-codec 2.1.1",5964[[package]]9517[[package]]5965name = "sc-chain-spec-derive"9518name = "sc-chain-spec-derive"5966version = "3.0.0"9519version = "3.0.0"9520<<<<<<< HEAD5967source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9521source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9522=======9523source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9524>>>>>>> origin/develop5968dependencies = [9525dependencies = [5969 "proc-macro-crate 1.0.0",9526 "proc-macro-crate 1.0.0",5970 "proc-macro2",9527 "proc-macro2",5975[[package]]9532[[package]]5976name = "sc-cli"9533name = "sc-cli"5977version = "0.9.0"9534version = "0.9.0"9535<<<<<<< HEAD5978source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9536source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"5979dependencies = [9537dependencies = [5980 "chrono",9538 "chrono",5981 "fdlimit",9539 "fdlimit",5982 "futures 0.3.15",9540 "futures 0.3.15",9541=======9542source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9543dependencies = [9544 "chrono",9545 "fdlimit",9546 "futures 0.3.14",9547>>>>>>> origin/develop5983 "hex",9548 "hex",5984 "libp2p",9549 "libp2p",5985 "log",9550 "log",6013[[package]]9578[[package]]6014name = "sc-client-api"9579name = "sc-client-api"6015version = "3.0.0"9580version = "3.0.0"9581<<<<<<< HEAD6016source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9582source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6017dependencies = [9583dependencies = [6018 "derive_more",9584 "derive_more",6019 "fnv",9585 "fnv",6020 "futures 0.3.15",9586 "futures 0.3.15",9587=======9588source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9589dependencies = [9590 "derive_more",9591 "fnv",9592 "futures 0.3.14",9593>>>>>>> origin/develop6021 "hash-db",9594 "hash-db",6022 "kvdb",9595 "kvdb",6023 "lazy_static",9596 "lazy_static",6047[[package]]9620[[package]]6048name = "sc-client-db"9621name = "sc-client-db"6049version = "0.9.0"9622version = "0.9.0"9623<<<<<<< HEAD6050source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9624source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9625=======9626source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9627>>>>>>> origin/develop6051dependencies = [9628dependencies = [6052 "blake2-rfc",9629 "blake2-rfc",6053 "hash-db",9630 "hash-db",6077[[package]]9654[[package]]6078name = "sc-consensus"9655name = "sc-consensus"6079version = "0.9.0"9656version = "0.9.0"9657<<<<<<< HEAD6080source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9658source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9659=======9660source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9661>>>>>>> origin/develop6081dependencies = [9662dependencies = [9663 "parking_lot 0.11.1",6082 "sc-client-api",9664 "sc-client-api",6083 "sp-blockchain",9665 "sp-blockchain",6084 "sp-consensus",9666 "sp-consensus",6088[[package]]9670[[package]]6089name = "sc-consensus-aura"9671name = "sc-consensus-aura"6090version = "0.9.0"9672version = "0.9.0"9673<<<<<<< HEAD6091source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9674source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9675=======9676source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9677>>>>>>> origin/develop6092dependencies = [9678dependencies = [9679 "async-trait",6093 "derive_more",9680 "derive_more",9681<<<<<<< HEAD6094 "futures 0.3.15",9682 "futures 0.3.15",6095 "futures-timer 3.0.2",9683 "futures-timer 3.0.2",6096 "log",9684 "log",6097 "parity-scale-codec 2.1.1",9685 "parity-scale-codec 2.1.1",6098 "parking_lot 0.11.1",9686 "parking_lot 0.11.1",9687=======9688 "futures 0.3.14",9689 "futures-timer 3.0.2",9690 "log",9691 "parity-scale-codec",9692>>>>>>> origin/develop6099 "sc-block-builder",9693 "sc-block-builder",6100 "sc-client-api",9694 "sc-client-api",6101 "sc-consensus-slots",9695 "sc-consensus-slots",6112 "sp-io",9706 "sp-io",6113 "sp-keystore",9707 "sp-keystore",6114 "sp-runtime",9708 "sp-runtime",6115 "sp-timestamp",6116 "sp-version",9709 "sp-version",6117 "substrate-prometheus-endpoint",9710 "substrate-prometheus-endpoint",6118]9711]611997126120[[package]]9713[[package]]6121name = "sc-consensus-babe"9714name = "sc-consensus-babe"6122version = "0.9.0"9715version = "0.9.0"9716<<<<<<< HEAD6123source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9717source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9718=======9719source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9720>>>>>>> origin/develop6124dependencies = [9721dependencies = [9722 "async-trait",6125 "derive_more",9723 "derive_more",6126 "fork-tree",9724 "fork-tree",9725<<<<<<< HEAD6127 "futures 0.3.15",9726 "futures 0.3.15",9727=======9728 "futures 0.3.14",9729>>>>>>> origin/develop6128 "futures-timer 3.0.2",9730 "futures-timer 3.0.2",6129 "log",9731 "log",6130 "merlin",9732 "merlin",6157 "sp-io",9759 "sp-io",6158 "sp-keystore",9760 "sp-keystore",6159 "sp-runtime",9761 "sp-runtime",6160 "sp-timestamp",6161 "sp-utils",9762 "sp-utils",6162 "sp-version",9763 "sp-version",6163 "substrate-prometheus-endpoint",9764 "substrate-prometheus-endpoint",6164]9765]616597666166[[package]]9767[[package]]9768name = "sc-consensus-babe-rpc"9769version = "0.9.0"9770source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9771dependencies = [9772 "derive_more",9773 "futures 0.3.14",9774 "jsonrpc-core",9775 "jsonrpc-core-client",9776 "jsonrpc-derive",9777 "sc-consensus-babe",9778 "sc-consensus-epochs",9779 "sc-rpc-api",9780 "serde",9781 "sp-api",9782 "sp-application-crypto",9783 "sp-blockchain",9784 "sp-consensus",9785 "sp-consensus-babe",9786 "sp-core",9787 "sp-keystore",9788 "sp-runtime",9789]97909791[[package]]6167name = "sc-consensus-epochs"9792name = "sc-consensus-epochs"6168version = "0.9.0"9793version = "0.9.0"9794<<<<<<< HEAD6169source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9795source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6170dependencies = [9796dependencies = [6171 "fork-tree",9797 "fork-tree",6172 "parity-scale-codec 2.1.1",9798 "parity-scale-codec 2.1.1",6173 "parking_lot 0.11.1",9799 "parking_lot 0.11.1",9800=======9801source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9802dependencies = [9803 "fork-tree",9804 "parity-scale-codec",9805>>>>>>> origin/develop6174 "sc-client-api",9806 "sc-client-api",9807 "sc-consensus",6175 "sp-blockchain",9808 "sp-blockchain",6176 "sp-runtime",9809 "sp-runtime",6177]9810]617898116179[[package]]9812[[package]]6180name = "sc-consensus-slots"9813name = "sc-consensus-slots"6181version = "0.9.0"9814version = "0.9.0"9815<<<<<<< HEAD6182source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9816source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6183dependencies = [9817dependencies = [6184 "futures 0.3.15",9818 "futures 0.3.15",9819=======9820source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9821dependencies = [9822 "async-trait",9823 "futures 0.3.14",9824>>>>>>> origin/develop6185 "futures-timer 3.0.2",9825 "futures-timer 3.0.2",9826 "impl-trait-for-tuples",6186 "log",9827 "log",9828<<<<<<< HEAD6187 "parity-scale-codec 2.1.1",9829 "parity-scale-codec 2.1.1",6188 "parking_lot 0.11.1",9830 "parking_lot 0.11.1",9831=======9832 "parity-scale-codec",9833>>>>>>> origin/develop6189 "sc-client-api",9834 "sc-client-api",6190 "sc-telemetry",9835 "sc-telemetry",6191 "sp-api",9836 "sp-api",6198 "sp-inherents",9843 "sp-inherents",6199 "sp-runtime",9844 "sp-runtime",6200 "sp-state-machine",9845 "sp-state-machine",9846 "sp-timestamp",6201 "sp-trie",9847 "sp-trie",6202 "thiserror",9848 "thiserror",6203]9849]620498506205[[package]]9851[[package]]6206name = "sc-consensus-uncles"9852name = "sc-consensus-uncles"6207version = "0.9.0"9853version = "0.9.0"9854<<<<<<< HEAD6208source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9855source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9856=======9857source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9858>>>>>>> origin/develop6209dependencies = [9859dependencies = [6210 "log",6211 "sc-client-api",9860 "sc-client-api",6212 "sp-authorship",9861 "sp-authorship",6213 "sp-consensus",6214 "sp-core",6215 "sp-inherents",6216 "sp-runtime",9862 "sp-runtime",9863 "thiserror",6217]9864]621898656219[[package]]9866[[package]]6220name = "sc-executor"9867name = "sc-executor"6221version = "0.9.0"9868version = "0.9.0"9869<<<<<<< HEAD6222source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9870source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9871=======9872source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9873>>>>>>> origin/develop6223dependencies = [9874dependencies = [6224 "derive_more",9875 "derive_more",6225 "lazy_static",9876 "lazy_static",6248[[package]]9899[[package]]6249name = "sc-executor-common"9900name = "sc-executor-common"6250version = "0.9.0"9901version = "0.9.0"9902<<<<<<< HEAD6251source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9903source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9904=======9905source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9906>>>>>>> origin/develop6252dependencies = [9907dependencies = [6253 "derive_more",9908 "derive_more",6254 "parity-scale-codec 2.1.1",9909 "parity-scale-codec 2.1.1",6255 "parity-wasm 0.41.0",9910 "parity-wasm 0.41.0",9911 "pwasm-utils 0.14.0",6256 "sp-allocator",9912 "sp-allocator",6257 "sp-core",9913 "sp-core",9914 "sp-maybe-compressed-blob",6258 "sp-serializer",9915 "sp-serializer",6259 "sp-wasm-interface",9916 "sp-wasm-interface",6260 "thiserror",9917 "thiserror",6264[[package]]9921[[package]]6265name = "sc-executor-wasmi"9922name = "sc-executor-wasmi"6266version = "0.9.0"9923version = "0.9.0"9924<<<<<<< HEAD6267source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9925source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9926=======9927source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9928>>>>>>> origin/develop6268dependencies = [9929dependencies = [6269 "log",9930 "log",6270 "parity-scale-codec 2.1.1",9931 "parity-scale-codec 2.1.1",6279[[package]]9940[[package]]6280name = "sc-executor-wasmtime"9941name = "sc-executor-wasmtime"6281version = "0.9.0"9942version = "0.9.0"9943<<<<<<< HEAD6282source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9944source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9945=======9946source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9947>>>>>>> origin/develop6283dependencies = [9948dependencies = [6284 "log",9949 "log",6285 "parity-scale-codec 2.1.1",9950 "parity-scale-codec 2.1.1",6297[[package]]9962[[package]]6298name = "sc-finality-grandpa"9963name = "sc-finality-grandpa"6299version = "0.9.0"9964version = "0.9.0"9965<<<<<<< HEAD6300source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9966source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"9967=======9968source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"9969>>>>>>> origin/develop6301dependencies = [9970dependencies = [9971 "async-trait",6302 "derive_more",9972 "derive_more",6303 "dyn-clone",9973 "dyn-clone",6304 "finality-grandpa",9974 "finality-grandpa",6305 "fork-tree",9975 "fork-tree",9976<<<<<<< HEAD6306 "futures 0.3.15",9977 "futures 0.3.15",9978=======9979 "futures 0.3.14",9980>>>>>>> origin/develop6307 "futures-timer 3.0.2",9981 "futures-timer 3.0.2",6308 "linked-hash-map",9982 "linked-hash-map",6309 "log",9983 "log",6310 "parity-scale-codec 2.1.1",9984 "parity-scale-codec 2.1.1",6311 "parking_lot 0.11.1",9985 "parking_lot 0.11.1",9986<<<<<<< HEAD6312 "pin-project 1.0.7",9987 "pin-project 1.0.7",6313 "rand 0.7.3",9988 "rand 0.7.3",6314 "sc-block-builder",9989 "sc-block-builder",9990=======9991 "pin-project 1.0.6",9992 "rand 0.7.3",9993 "sc-block-builder",6315 "sc-client-api",9994 "sc-client-api",6316 "sc-consensus",9995 "sc-consensus",6317 "sc-keystore",9996 "sc-keystore",6334]10013]6335100146336[[package]]10015[[package]]10016name = "sc-finality-grandpa-rpc"10017version = "0.9.0"10018source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10019dependencies = [10020 "derive_more",10021 "finality-grandpa",10022 "futures 0.3.14",10023 "jsonrpc-core",10024 "jsonrpc-core-client",10025 "jsonrpc-derive",10026 "jsonrpc-pubsub",10027 "log",10028 "parity-scale-codec",10029 "sc-client-api",10030 "sc-finality-grandpa",10031 "sc-rpc",10032 "serde",10033 "serde_json",10034 "sp-blockchain",10035 "sp-core",10036 "sp-runtime",10037]1003810039[[package]]10040name = "sc-finality-grandpa-warp-sync"10041version = "0.9.0"10042source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10043dependencies = [10044 "derive_more",10045 "futures 0.3.14",10046 "log",10047 "num-traits",10048 "parity-scale-codec",10049 "parking_lot 0.11.1",10050 "prost",10051>>>>>>> origin/develop10052 "sc-client-api",10053 "sc-finality-grandpa",10054 "sc-network",10055 "sc-service",10056 "sp-blockchain",10057 "sp-finality-grandpa",10058 "sp-runtime",10059]1006010061[[package]]6337name = "sc-informant"10062name = "sc-informant"6338version = "0.9.0"10063version = "0.9.0"10064<<<<<<< HEAD6339source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10065source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6340dependencies = [10066dependencies = [6341 "ansi_term 0.12.1",10067 "ansi_term 0.12.1",6342 "futures 0.3.15",10068 "futures 0.3.15",10069=======10070source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10071dependencies = [10072 "ansi_term 0.12.1",10073 "futures 0.3.14",10074>>>>>>> origin/develop6343 "log",10075 "log",6344 "parity-util-mem",10076 "parity-util-mem",6345 "sc-client-api",10077 "sc-client-api",6354[[package]]10086[[package]]6355name = "sc-keystore"10087name = "sc-keystore"6356version = "3.0.0"10088version = "3.0.0"10089<<<<<<< HEAD6357source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10090source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6358dependencies = [10091dependencies = [6359 "async-trait",10092 "async-trait",6360 "derive_more",10093 "derive_more",6361 "futures 0.3.15",10094 "futures 0.3.15",10095=======10096source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10097dependencies = [10098 "async-trait",10099 "derive_more",10100 "futures 0.3.14",10101>>>>>>> origin/develop6362 "futures-util",10102 "futures-util",6363 "hex",10103 "hex",6364 "merlin",10104 "merlin",6374[[package]]10114[[package]]6375name = "sc-light"10115name = "sc-light"6376version = "3.0.0"10116version = "3.0.0"10117<<<<<<< HEAD6377source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10118source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10119=======10120source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10121>>>>>>> origin/develop6378dependencies = [10122dependencies = [6379 "hash-db",10123 "hash-db",6380 "lazy_static",10124 "lazy_static",6393[[package]]10137[[package]]6394name = "sc-network"10138name = "sc-network"6395version = "0.9.0"10139version = "0.9.0"10140<<<<<<< HEAD6396source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10141source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10142=======10143source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10144>>>>>>> origin/develop6397dependencies = [10145dependencies = [6398 "async-std",10146 "async-std",6399 "async-trait",10147 "async-trait",6407 "erased-serde",10155 "erased-serde",6408 "fnv",10156 "fnv",6409 "fork-tree",10157 "fork-tree",10158<<<<<<< HEAD6410 "futures 0.3.15",10159 "futures 0.3.15",10160=======10161 "futures 0.3.14",10162>>>>>>> origin/develop6411 "futures-timer 3.0.2",10163 "futures-timer 3.0.2",6412 "hex",10164 "hex",6413 "ip_network",10165 "ip_network",6419 "nohash-hasher",10171 "nohash-hasher",6420 "parity-scale-codec 2.1.1",10172 "parity-scale-codec 2.1.1",6421 "parking_lot 0.11.1",10173 "parking_lot 0.11.1",10174<<<<<<< HEAD6422 "pin-project 1.0.7",10175 "pin-project 1.0.7",10176=======10177 "pin-project 1.0.6",10178>>>>>>> origin/develop6423 "prost",10179 "prost",6424 "prost-build",10180 "prost-build",6425 "rand 0.7.3",10181 "rand 0.7.3",6446[[package]]10202[[package]]6447name = "sc-network-gossip"10203name = "sc-network-gossip"6448version = "0.9.0"10204version = "0.9.0"10205<<<<<<< HEAD6449source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10206source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6450dependencies = [10207dependencies = [6451 "futures 0.3.15",10208 "futures 0.3.15",10209=======10210source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10211dependencies = [10212 "futures 0.3.14",10213>>>>>>> origin/develop6452 "futures-timer 3.0.2",10214 "futures-timer 3.0.2",6453 "libp2p",10215 "libp2p",6454 "log",10216 "log",6455 "lru",10217 "lru",6456 "sc-network",10218 "sc-network",6457 "sp-runtime",10219 "sp-runtime",6458 "substrate-prometheus-endpoint",10220 "substrate-prometheus-endpoint",10221 "tracing",6459 "wasm-timer",10222 "wasm-timer",6460]10223]6461102246462[[package]]10225[[package]]6463name = "sc-offchain"10226name = "sc-offchain"6464version = "3.0.0"10227version = "3.0.0"10228<<<<<<< HEAD6465source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10229source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6466dependencies = [10230dependencies = [6467 "bytes 0.5.6",10231 "bytes 0.5.6",6468 "fnv",10232 "fnv",6469 "futures 0.3.15",10233 "futures 0.3.15",10234=======10235source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10236dependencies = [10237 "bytes 0.5.6",10238 "fnv",10239 "futures 0.3.14",10240>>>>>>> origin/develop6470 "futures-timer 3.0.2",10241 "futures-timer 3.0.2",6471 "hex",10242 "hex",6472 "hyper 0.13.10",10243 "hyper 0.13.10",6490[[package]]10261[[package]]6491name = "sc-peerset"10262name = "sc-peerset"6492version = "3.0.0"10263version = "3.0.0"10264<<<<<<< HEAD6493source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10265source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6494dependencies = [10266dependencies = [6495 "futures 0.3.15",10267 "futures 0.3.15",10268=======10269source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10270dependencies = [10271 "futures 0.3.14",10272>>>>>>> origin/develop6496 "libp2p",10273 "libp2p",6497 "log",10274 "log",6498 "serde_json",10275 "serde_json",6503[[package]]10280[[package]]6504name = "sc-proposer-metrics"10281name = "sc-proposer-metrics"6505version = "0.9.0"10282version = "0.9.0"10283<<<<<<< HEAD6506source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10284source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10285=======10286source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10287>>>>>>> origin/develop6507dependencies = [10288dependencies = [6508 "log",10289 "log",6509 "substrate-prometheus-endpoint",10290 "substrate-prometheus-endpoint",6512[[package]]10293[[package]]6513name = "sc-rpc"10294name = "sc-rpc"6514version = "3.0.0"10295version = "3.0.0"10296<<<<<<< HEAD6515source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10297source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6516dependencies = [10298dependencies = [6517 "futures 0.3.15",10299 "futures 0.3.15",10300=======10301source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10302dependencies = [10303 "futures 0.3.14",10304>>>>>>> origin/develop6518 "hash-db",10305 "hash-db",6519 "jsonrpc-core 15.1.0",10306 "jsonrpc-core 15.1.0",6520 "jsonrpc-pubsub 15.1.0",10307 "jsonrpc-pubsub 15.1.0",6538 "sp-runtime",10325 "sp-runtime",6539 "sp-session",10326 "sp-session",6540 "sp-state-machine",10327 "sp-state-machine",10328 "sp-tracing",6541 "sp-transaction-pool",10329 "sp-transaction-pool",6542 "sp-utils",10330 "sp-utils",6543 "sp-version",10331 "sp-version",6546[[package]]10334[[package]]6547name = "sc-rpc-api"10335name = "sc-rpc-api"6548version = "0.9.0"10336version = "0.9.0"10337<<<<<<< HEAD6549source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10338source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6550dependencies = [10339dependencies = [6551 "derive_more",10340 "derive_more",6554 "jsonrpc-core-client 15.1.0",10343 "jsonrpc-core-client 15.1.0",6555 "jsonrpc-derive 15.1.0",10344 "jsonrpc-derive 15.1.0",6556 "jsonrpc-pubsub 15.1.0",10345 "jsonrpc-pubsub 15.1.0",10346=======10347source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10348dependencies = [10349 "derive_more",10350 "futures 0.3.14",10351 "jsonrpc-core",10352 "jsonrpc-core-client",10353 "jsonrpc-derive",10354 "jsonrpc-pubsub",10355>>>>>>> origin/develop6557 "log",10356 "log",6558 "parity-scale-codec 2.1.1",10357 "parity-scale-codec 2.1.1",6559 "parking_lot 0.11.1",10358 "parking_lot 0.11.1",6563 "sp-core",10362 "sp-core",6564 "sp-rpc",10363 "sp-rpc",6565 "sp-runtime",10364 "sp-runtime",10365 "sp-tracing",6566 "sp-transaction-pool",10366 "sp-transaction-pool",6567 "sp-version",10367 "sp-version",6568]10368]6569103696570[[package]]10370[[package]]6571name = "sc-rpc-server"10371name = "sc-rpc-server"6572version = "3.0.0"10372version = "3.0.0"10373<<<<<<< HEAD6573source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10374source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6574dependencies = [10375dependencies = [6575 "futures 0.1.31",10376 "futures 0.1.31",6576 "jsonrpc-core 15.1.0",10377 "jsonrpc-core 15.1.0",10378=======10379source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10380dependencies = [10381 "futures 0.1.31",10382 "jsonrpc-core",10383>>>>>>> origin/develop6577 "jsonrpc-http-server",10384 "jsonrpc-http-server",6578 "jsonrpc-ipc-server",10385 "jsonrpc-ipc-server",6579 "jsonrpc-pubsub 15.1.0",10386 "jsonrpc-pubsub 15.1.0",6588[[package]]10395[[package]]6589name = "sc-service"10396name = "sc-service"6590version = "0.9.0"10397version = "0.9.0"10398<<<<<<< HEAD6591source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10399source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10400=======10401source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10402>>>>>>> origin/develop6592dependencies = [10403dependencies = [10404 "async-trait",6593 "directories",10405 "directories",6594 "exit-future",10406 "exit-future",6595 "futures 0.1.31",10407 "futures 0.1.31",10408<<<<<<< HEAD6596 "futures 0.3.15",10409 "futures 0.3.15",10410=======10411 "futures 0.3.14",10412>>>>>>> origin/develop6597 "futures-timer 3.0.2",10413 "futures-timer 3.0.2",6598 "hash-db",10414 "hash-db",6599 "jsonrpc-core 15.1.0",10415 "jsonrpc-core 15.1.0",6603 "parity-scale-codec 2.1.1",10419 "parity-scale-codec 2.1.1",6604 "parity-util-mem",10420 "parity-util-mem",6605 "parking_lot 0.11.1",10421 "parking_lot 0.11.1",10422<<<<<<< HEAD6606 "pin-project 1.0.7",10423 "pin-project 1.0.7",10424=======10425 "pin-project 1.0.6",10426>>>>>>> origin/develop6607 "rand 0.7.3",10427 "rand 0.7.3",6608 "sc-block-builder",10428 "sc-block-builder",6609 "sc-chain-spec",10429 "sc-chain-spec",6651[[package]]10471[[package]]6652name = "sc-state-db"10472name = "sc-state-db"6653version = "0.9.0"10473version = "0.9.0"10474<<<<<<< HEAD6654source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10475source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10476=======10477source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10478>>>>>>> origin/develop6655dependencies = [10479dependencies = [6656 "log",10480 "log",6657 "parity-scale-codec 2.1.1",10481 "parity-scale-codec 2.1.1",6664]10488]6665104896666[[package]]10490[[package]]10491name = "sc-sync-state-rpc"10492version = "0.9.0"10493source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10494dependencies = [10495 "jsonrpc-core",10496 "jsonrpc-core-client",10497 "jsonrpc-derive",10498 "sc-chain-spec",10499 "sc-client-api",10500 "sc-consensus-babe",10501 "sc-consensus-epochs",10502 "sc-finality-grandpa",10503 "sc-rpc-api",10504 "serde_json",10505 "sp-blockchain",10506 "sp-runtime",10507 "thiserror",10508]1050910510[[package]]6667name = "sc-telemetry"10511name = "sc-telemetry"6668version = "3.0.0"10512version = "3.0.0"10513<<<<<<< HEAD6669source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10514source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6670dependencies = [10515dependencies = [6671 "chrono",10516 "chrono",6674 "log",10519 "log",6675 "parking_lot 0.11.1",10520 "parking_lot 0.11.1",6676 "pin-project 1.0.7",10521 "pin-project 1.0.7",10522=======10523source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10524dependencies = [10525 "chrono",10526 "futures 0.3.14",10527 "libp2p",10528 "log",10529 "parking_lot 0.11.1",10530 "pin-project 1.0.6",10531>>>>>>> origin/develop6677 "rand 0.7.3",10532 "rand 0.7.3",6678 "serde",10533 "serde",6679 "serde_json",10534 "serde_json",6686[[package]]10541[[package]]6687name = "sc-tracing"10542name = "sc-tracing"6688version = "3.0.0"10543version = "3.0.0"10544<<<<<<< HEAD6689source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10545source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10546=======10547source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10548>>>>>>> origin/develop6690dependencies = [10549dependencies = [6691 "ansi_term 0.12.1",10550 "ansi_term 0.12.1",6692 "atty",10551 "atty",6697 "parking_lot 0.11.1",10556 "parking_lot 0.11.1",6698 "regex",10557 "regex",6699 "rustc-hash",10558 "rustc-hash",10559<<<<<<< HEAD10560=======10561 "sc-client-api",10562 "sc-rpc-server",10563 "sc-telemetry",10564>>>>>>> origin/develop6700 "sc-tracing-proc-macro",10565 "sc-tracing-proc-macro",6701 "serde",10566 "serde",6702 "serde_json",10567 "serde_json",10568 "sp-api",10569 "sp-block-builder",10570 "sp-blockchain",10571 "sp-core",10572 "sp-rpc",10573 "sp-runtime",10574 "sp-storage",6703 "sp-tracing",10575 "sp-tracing",6704 "thiserror",10576 "thiserror",6705 "tracing",10577 "tracing",6706 "tracing-core",6707 "tracing-log",10578 "tracing-log",6708 "tracing-subscriber",10579 "tracing-subscriber",6709 "wasm-bindgen",10580 "wasm-bindgen",10581 "wasm-timer",6710 "web-sys",10582 "web-sys",6711]10583]6712105846713[[package]]10585[[package]]6714name = "sc-tracing-proc-macro"10586name = "sc-tracing-proc-macro"6715version = "3.0.0"10587version = "3.0.0"10588<<<<<<< HEAD6716source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10589source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10590=======10591source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10592>>>>>>> origin/develop6717dependencies = [10593dependencies = [6718 "proc-macro-crate 1.0.0",10594 "proc-macro-crate 1.0.0",6719 "proc-macro2",10595 "proc-macro2",6724[[package]]10600[[package]]6725name = "sc-transaction-graph"10601name = "sc-transaction-graph"6726version = "3.0.0"10602version = "3.0.0"10603<<<<<<< HEAD6727source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10604source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6728dependencies = [10605dependencies = [6729 "derive_more",10606 "derive_more",6730 "futures 0.3.15",10607 "futures 0.3.15",10608=======10609source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10610dependencies = [10611 "derive_more",10612 "futures 0.3.14",10613>>>>>>> origin/develop6731 "linked-hash-map",10614 "linked-hash-map",6732 "log",10615 "log",6733 "parity-util-mem",10616 "parity-util-mem",6746[[package]]10629[[package]]6747name = "sc-transaction-pool"10630name = "sc-transaction-pool"6748version = "3.0.0"10631version = "3.0.0"10632<<<<<<< HEAD6749source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"10633source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"6750dependencies = [10634dependencies = [6751 "futures 0.3.15",10635 "futures 0.3.15",10636=======10637source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"10638dependencies = [10639 "futures 0.3.14",10640>>>>>>> origin/develop6752 "futures-diagnose",10641 "futures-diagnose",6753 "intervalier",10642 "intervalier",6754 "log",10643 "log",6935108246936[[package]]10825[[package]]6937name = "serde"10826name = "serde"10827<<<<<<< HEAD6938version = "1.0.126"10828version = "1.0.126"6939source = "registry+https://github.com/rust-lang/crates.io-index"10829source = "registry+https://github.com/rust-lang/crates.io-index"6940checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"10830checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"10831=======10832version = "1.0.125"10833source = "registry+https://github.com/rust-lang/crates.io-index"10834checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171"10835>>>>>>> origin/develop6941dependencies = [10836dependencies = [6942 "serde_derive",10837 "serde_derive",6943]10838]6944108396945[[package]]10840[[package]]6946name = "serde_derive"10841name = "serde_derive"10842<<<<<<< HEAD6947version = "1.0.126"10843version = "1.0.126"6948source = "registry+https://github.com/rust-lang/crates.io-index"10844source = "registry+https://github.com/rust-lang/crates.io-index"6949checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"10845checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"10846=======10847version = "1.0.125"10848source = "registry+https://github.com/rust-lang/crates.io-index"10849checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d"10850>>>>>>> origin/develop6950dependencies = [10851dependencies = [6951 "proc-macro2",10852 "proc-macro2",6952 "quote",10853 "quote",6978108796979[[package]]10880[[package]]6980name = "sha-1"10881name = "sha-1"10882<<<<<<< HEAD6981version = "0.9.6"10883version = "0.9.6"6982source = "registry+https://github.com/rust-lang/crates.io-index"10884source = "registry+https://github.com/rust-lang/crates.io-index"6983checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16"10885checksum = "8c4cfa741c5832d0ef7fab46cabed29c2aae926db0b11bb2069edd8db5e64e16"10886=======10887version = "0.9.4"10888source = "registry+https://github.com/rust-lang/crates.io-index"10889checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"10890>>>>>>> origin/develop6984dependencies = [10891dependencies = [6985 "block-buffer 0.9.0",10892 "block-buffer 0.9.0",6986 "cfg-if 1.0.0",10893 "cfg-if 1.0.0",7098checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"11005checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"7099110067100[[package]]11007[[package]]11008name = "slog"11009version = "2.7.0"11010source = "registry+https://github.com/rust-lang/crates.io-index"11011checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06"11012dependencies = [11013 "erased-serde",11014]1101511016[[package]]11017name = "slot-range-helper"11018version = "0.9.3"11019source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"11020dependencies = [11021 "enumn",11022 "parity-scale-codec",11023 "paste",11024 "sp-runtime",11025 "sp-std",11026]1102711028[[package]]11029name = "slotmap"11030version = "1.0.3"11031source = "registry+https://github.com/rust-lang/crates.io-index"11032checksum = "585cd5dffe4e9e06f6dfdf66708b70aca3f781bed561f4f667b2d9c0d4559e36"11033dependencies = [11034 "version_check",11035]1103611037[[package]]7101name = "smallvec"11038name = "smallvec"7102version = "0.6.14"11039version = "0.6.14"7103source = "registry+https://github.com/rust-lang/crates.io-index"11040source = "registry+https://github.com/rust-lang/crates.io-index"7160 "base64 0.12.3",11097 "base64 0.12.3",7161 "bytes 0.5.6",11098 "bytes 0.5.6",7162 "flate2",11099 "flate2",11100<<<<<<< HEAD7163 "futures 0.3.15",11101 "futures 0.3.15",7164 "httparse",11102 "httparse",7165 "log",11103 "log",7166 "rand 0.7.3",11104 "rand 0.7.3",7167 "sha-1 0.9.6",11105 "sha-1 0.9.6",11106=======11107 "futures 0.3.14",11108 "httparse",11109 "log",11110 "rand 0.7.3",11111 "sha-1 0.9.4",11112>>>>>>> origin/develop7168]11113]7169111147170[[package]]11115[[package]]7171name = "sp-allocator"11116name = "sp-allocator"7172version = "3.0.0"11117version = "3.0.0"11118<<<<<<< HEAD7173source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11119source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11120=======11121source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11122>>>>>>> origin/develop7174dependencies = [11123dependencies = [7175 "log",11124 "log",7176 "sp-core",11125 "sp-core",7182[[package]]11131[[package]]7183name = "sp-api"11132name = "sp-api"7184version = "3.0.0"11133version = "3.0.0"11134<<<<<<< HEAD7185source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11135source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7186dependencies = [11136dependencies = [7187 "hash-db",11137 "hash-db",7188 "log",11138 "log",7189 "parity-scale-codec 2.1.1",11139 "parity-scale-codec 2.1.1",11140=======11141source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11142dependencies = [11143 "hash-db",11144 "log",11145 "parity-scale-codec",11146>>>>>>> origin/develop7190 "sp-api-proc-macro",11147 "sp-api-proc-macro",7191 "sp-core",11148 "sp-core",7192 "sp-runtime",11149 "sp-runtime",7199[[package]]11156[[package]]7200name = "sp-api-proc-macro"11157name = "sp-api-proc-macro"7201version = "3.0.0"11158version = "3.0.0"11159<<<<<<< HEAD7202source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11160source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11161=======11162source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11163>>>>>>> origin/develop7203dependencies = [11164dependencies = [7204 "blake2-rfc",11165 "blake2-rfc",7205 "proc-macro-crate 1.0.0",11166 "proc-macro-crate 1.0.0",7211[[package]]11172[[package]]7212name = "sp-application-crypto"11173name = "sp-application-crypto"7213version = "3.0.0"11174version = "3.0.0"11175<<<<<<< HEAD7214source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11176source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11177=======11178source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11179>>>>>>> origin/develop7215dependencies = [11180dependencies = [7216 "parity-scale-codec 2.1.1",11181 "parity-scale-codec 2.1.1",7217 "serde",11182 "serde",7223[[package]]11188[[package]]7224name = "sp-arithmetic"11189name = "sp-arithmetic"7225version = "3.0.0"11190version = "3.0.0"11191<<<<<<< HEAD7226source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11192source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11193=======11194source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11195>>>>>>> origin/develop7227dependencies = [11196dependencies = [7228 "integer-sqrt",11197 "integer-sqrt",7229 "num-traits",11198 "num-traits",7230 "parity-scale-codec 2.1.1",11199 "parity-scale-codec 2.1.1",7231 "serde",11200 "serde",7232 "sp-debug-derive",11201 "sp-debug-derive",7233 "sp-std",11202 "sp-std",11203 "static_assertions",7234]11204]7235112057236[[package]]11206[[package]]11207name = "sp-authority-discovery"11208version = "3.0.0"11209source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11210dependencies = [11211 "parity-scale-codec",11212 "sp-api",11213 "sp-application-crypto",11214 "sp-runtime",11215 "sp-std",11216]1121711218[[package]]7237name = "sp-authorship"11219name = "sp-authorship"7238version = "3.0.0"11220version = "3.0.0"11221<<<<<<< HEAD7239source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11222source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7240dependencies = [11223dependencies = [7241 "parity-scale-codec 2.1.1",11224 "parity-scale-codec 2.1.1",11225=======11226source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11227dependencies = [11228 "async-trait",11229 "parity-scale-codec",11230>>>>>>> origin/develop7242 "sp-inherents",11231 "sp-inherents",7243 "sp-runtime",11232 "sp-runtime",7244 "sp-std",11233 "sp-std",7247[[package]]11236[[package]]7248name = "sp-block-builder"11237name = "sp-block-builder"7249version = "3.0.0"11238version = "3.0.0"11239<<<<<<< HEAD7250source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11240source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11241=======11242source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11243>>>>>>> origin/develop7251dependencies = [11244dependencies = [7252 "parity-scale-codec 2.1.1",11245 "parity-scale-codec 2.1.1",7253 "sp-api",11246 "sp-api",7259[[package]]11252[[package]]7260name = "sp-blockchain"11253name = "sp-blockchain"7261version = "3.0.0"11254version = "3.0.0"11255<<<<<<< HEAD7262source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11256source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7263dependencies = [11257dependencies = [7264 "futures 0.3.15",11258 "futures 0.3.15",11259=======11260source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11261dependencies = [11262 "futures 0.3.14",11263>>>>>>> origin/develop7265 "log",11264 "log",7266 "lru",11265 "lru",7267 "parity-scale-codec 2.1.1",11266 "parity-scale-codec 2.1.1",7277[[package]]11276[[package]]7278name = "sp-chain-spec"11277name = "sp-chain-spec"7279version = "3.0.0"11278version = "3.0.0"11279<<<<<<< HEAD7280source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11280source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11281=======11282source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11283>>>>>>> origin/develop7281dependencies = [11284dependencies = [7282 "serde",11285 "serde",7283 "serde_json",11286 "serde_json",7286[[package]]11289[[package]]7287name = "sp-consensus"11290name = "sp-consensus"7288version = "0.9.0"11291version = "0.9.0"11292<<<<<<< HEAD7289source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11293source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7290dependencies = [11294dependencies = [7291 "futures 0.3.15",11295 "futures 0.3.15",11296=======11297source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11298dependencies = [11299 "async-trait",11300 "futures 0.3.14",11301>>>>>>> origin/develop7292 "futures-timer 3.0.2",11302 "futures-timer 3.0.2",7293 "libp2p",11303 "libp2p",7294 "log",11304 "log",7312[[package]]11322[[package]]7313name = "sp-consensus-aura"11323name = "sp-consensus-aura"7314version = "0.9.0"11324version = "0.9.0"11325<<<<<<< HEAD7315source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11326source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7316dependencies = [11327dependencies = [7317 "parity-scale-codec 2.1.1",11328 "parity-scale-codec 2.1.1",11329=======11330source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11331dependencies = [11332 "async-trait",11333 "parity-scale-codec",11334>>>>>>> origin/develop7318 "sp-api",11335 "sp-api",7319 "sp-application-crypto",11336 "sp-application-crypto",11337 "sp-consensus",7320 "sp-consensus-slots",11338 "sp-consensus-slots",7321 "sp-inherents",11339 "sp-inherents",7322 "sp-runtime",11340 "sp-runtime",7327[[package]]11345[[package]]7328name = "sp-consensus-babe"11346name = "sp-consensus-babe"7329version = "0.9.0"11347version = "0.9.0"11348<<<<<<< HEAD7330source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11349source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11350=======11351source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11352>>>>>>> origin/develop7331dependencies = [11353dependencies = [11354 "async-trait",7332 "merlin",11355 "merlin",11356<<<<<<< HEAD7333 "parity-scale-codec 2.1.1",11357 "parity-scale-codec 2.1.1",11358=======11359 "parity-scale-codec",11360>>>>>>> origin/develop7334 "serde",11361 "serde",7335 "sp-api",11362 "sp-api",7336 "sp-application-crypto",11363 "sp-application-crypto",7348[[package]]11375[[package]]7349name = "sp-consensus-slots"11376name = "sp-consensus-slots"7350version = "0.9.0"11377version = "0.9.0"11378<<<<<<< HEAD7351source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11379source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11380=======11381source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11382>>>>>>> origin/develop7352dependencies = [11383dependencies = [7353 "parity-scale-codec 2.1.1",11384 "parity-scale-codec 2.1.1",7354 "sp-arithmetic",11385 "sp-arithmetic",7358[[package]]11389[[package]]7359name = "sp-consensus-vrf"11390name = "sp-consensus-vrf"7360version = "0.9.0"11391version = "0.9.0"11392<<<<<<< HEAD7361source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11393source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11394=======11395source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11396>>>>>>> origin/develop7362dependencies = [11397dependencies = [7363 "parity-scale-codec 2.1.1",11398 "parity-scale-codec 2.1.1",7364 "schnorrkel",11399 "schnorrkel",7370[[package]]11405[[package]]7371name = "sp-core"11406name = "sp-core"7372version = "3.0.0"11407version = "3.0.0"11408<<<<<<< HEAD7373source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11409source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11410=======11411source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11412>>>>>>> origin/develop7374dependencies = [11413dependencies = [7375 "base58",11414 "base58",7376 "blake2-rfc",11415 "blake2-rfc",7377 "byteorder",11416 "byteorder",7378 "dyn-clonable",11417 "dyn-clonable",7379 "ed25519-dalek",11418 "ed25519-dalek",11419<<<<<<< HEAD7380 "futures 0.3.15",11420 "futures 0.3.15",11421=======11422 "futures 0.3.14",11423>>>>>>> origin/develop7381 "hash-db",11424 "hash-db",7382 "hash256-std-hasher",11425 "hash256-std-hasher",7383 "hex",11426 "hex",7414[[package]]11457[[package]]7415name = "sp-database"11458name = "sp-database"7416version = "3.0.0"11459version = "3.0.0"11460<<<<<<< HEAD7417source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11461source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11462=======11463source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11464>>>>>>> origin/develop7418dependencies = [11465dependencies = [7419 "kvdb",11466 "kvdb",7420 "parking_lot 0.11.1",11467 "parking_lot 0.11.1",7423[[package]]11470[[package]]7424name = "sp-debug-derive"11471name = "sp-debug-derive"7425version = "3.0.0"11472version = "3.0.0"11473<<<<<<< HEAD7426source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11474source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11475=======11476source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11477>>>>>>> origin/develop7427dependencies = [11478dependencies = [7428 "proc-macro2",11479 "proc-macro2",7429 "quote",11480 "quote",7433[[package]]11484[[package]]7434name = "sp-externalities"11485name = "sp-externalities"7435version = "0.9.0"11486version = "0.9.0"11487<<<<<<< HEAD7436source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11488source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11489=======11490source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11491>>>>>>> origin/develop7437dependencies = [11492dependencies = [7438 "environmental",11493 "environmental",7439 "parity-scale-codec 2.1.1",11494 "parity-scale-codec 2.1.1",7444[[package]]11499[[package]]7445name = "sp-finality-grandpa"11500name = "sp-finality-grandpa"7446version = "3.0.0"11501version = "3.0.0"11502<<<<<<< HEAD7447source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11503source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11504=======11505source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11506>>>>>>> origin/develop7448dependencies = [11507dependencies = [7449 "finality-grandpa",11508 "finality-grandpa",7450 "log",11509 "log",7461[[package]]11520[[package]]7462name = "sp-inherents"11521name = "sp-inherents"7463version = "3.0.0"11522version = "3.0.0"11523<<<<<<< HEAD7464source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11524source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7465dependencies = [11525dependencies = [7466 "parity-scale-codec 2.1.1",11526 "parity-scale-codec 2.1.1",7467 "parking_lot 0.11.1",11527 "parking_lot 0.11.1",11528=======11529source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11530dependencies = [11531 "async-trait",11532 "impl-trait-for-tuples",11533 "parity-scale-codec",11534>>>>>>> origin/develop7468 "sp-core",11535 "sp-core",11536 "sp-runtime",7469 "sp-std",11537 "sp-std",7470 "thiserror",11538 "thiserror",7471]11539]7472115407473[[package]]11541[[package]]7474name = "sp-io"11542name = "sp-io"7475version = "3.0.0"11543version = "3.0.0"11544<<<<<<< HEAD7476source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11545source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7477dependencies = [11546dependencies = [7478 "futures 0.3.15",11547 "futures 0.3.15",11548=======11549source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11550dependencies = [11551 "futures 0.3.14",11552>>>>>>> origin/develop7479 "hash-db",11553 "hash-db",7480 "libsecp256k1",11554 "libsecp256k1",7481 "log",11555 "log",7484 "sp-core",11558 "sp-core",7485 "sp-externalities",11559 "sp-externalities",7486 "sp-keystore",11560 "sp-keystore",11561 "sp-maybe-compressed-blob",7487 "sp-runtime-interface",11562 "sp-runtime-interface",7488 "sp-state-machine",11563 "sp-state-machine",7489 "sp-std",11564 "sp-std",7497[[package]]11572[[package]]7498name = "sp-keyring"11573name = "sp-keyring"7499version = "3.0.0"11574version = "3.0.0"11575<<<<<<< HEAD7500source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11576source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11577=======11578source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11579>>>>>>> origin/develop7501dependencies = [11580dependencies = [7502 "lazy_static",11581 "lazy_static",7503 "sp-core",11582 "sp-core",7508[[package]]11587[[package]]7509name = "sp-keystore"11588name = "sp-keystore"7510version = "0.9.0"11589version = "0.9.0"11590<<<<<<< HEAD7511source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11591source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7512dependencies = [11592dependencies = [7513 "async-trait",11593 "async-trait",7514 "derive_more",11594 "derive_more",7515 "futures 0.3.15",11595 "futures 0.3.15",11596=======11597source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11598dependencies = [11599 "async-trait",11600 "derive_more",11601 "futures 0.3.14",11602>>>>>>> origin/develop7516 "merlin",11603 "merlin",7517 "parity-scale-codec 2.1.1",11604 "parity-scale-codec 2.1.1",7518 "parking_lot 0.11.1",11605 "parking_lot 0.11.1",7523]11610]7524116117525[[package]]11612[[package]]11613name = "sp-maybe-compressed-blob"11614version = "3.0.0"11615source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11616dependencies = [11617 "ruzstd",11618 "zstd",11619]1162011621[[package]]11622name = "sp-npos-elections"11623version = "3.0.0"11624source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11625dependencies = [11626 "parity-scale-codec",11627 "serde",11628 "sp-arithmetic",11629 "sp-core",11630 "sp-npos-elections-compact",11631 "sp-std",11632]1163311634[[package]]11635name = "sp-npos-elections-compact"11636version = "3.0.0"11637source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11638dependencies = [11639 "proc-macro-crate 1.0.0",11640 "proc-macro2",11641 "quote",11642 "syn",11643]1164411645[[package]]7526name = "sp-offchain"11646name = "sp-offchain"7527version = "3.0.0"11647version = "3.0.0"11648<<<<<<< HEAD7528source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11649source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11650=======11651source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11652>>>>>>> origin/develop7529dependencies = [11653dependencies = [7530 "sp-api",11654 "sp-api",7531 "sp-core",11655 "sp-core",7535[[package]]11659[[package]]7536name = "sp-panic-handler"11660name = "sp-panic-handler"7537version = "3.0.0"11661version = "3.0.0"11662<<<<<<< HEAD7538source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11663source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11664=======11665source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11666>>>>>>> origin/develop7539dependencies = [11667dependencies = [7540 "backtrace",11668 "backtrace",7541]11669]7542116707543[[package]]11671[[package]]7544name = "sp-rpc"11672name = "sp-rpc"7545version = "3.0.0"11673version = "3.0.0"11674<<<<<<< HEAD7546source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11675source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11676=======11677source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11678>>>>>>> origin/develop7547dependencies = [11679dependencies = [11680 "rustc-hash",7548 "serde",11681 "serde",7549 "sp-core",11682 "sp-core",11683 "tracing-core",7550]11684]7551116857552[[package]]11686[[package]]7553name = "sp-runtime"11687name = "sp-runtime"7554version = "3.0.0"11688version = "3.0.0"11689<<<<<<< HEAD7555source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11690source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11691=======11692source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11693>>>>>>> origin/develop7556dependencies = [11694dependencies = [7557 "either",11695 "either",7558 "hash256-std-hasher",11696 "hash256-std-hasher",7573[[package]]11711[[package]]7574name = "sp-runtime-interface"11712name = "sp-runtime-interface"7575version = "3.0.0"11713version = "3.0.0"11714<<<<<<< HEAD7576source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11715source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11716=======11717source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11718>>>>>>> origin/develop7577dependencies = [11719dependencies = [7578 "impl-trait-for-tuples 0.2.1",11720 "impl-trait-for-tuples 0.2.1",7579 "parity-scale-codec 2.1.1",11721 "parity-scale-codec 2.1.1",7590[[package]]11732[[package]]7591name = "sp-runtime-interface-proc-macro"11733name = "sp-runtime-interface-proc-macro"7592version = "3.0.0"11734version = "3.0.0"11735<<<<<<< HEAD7593source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11736source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11737=======11738source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11739>>>>>>> origin/develop7594dependencies = [11740dependencies = [7595 "Inflector",11741 "Inflector",7596 "proc-macro-crate 1.0.0",11742 "proc-macro-crate 1.0.0",7602[[package]]11748[[package]]7603name = "sp-sandbox"11749name = "sp-sandbox"7604version = "0.9.0"11750version = "0.9.0"11751<<<<<<< HEAD7605source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11752source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11753=======11754source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11755>>>>>>> origin/develop7606dependencies = [11756dependencies = [7607 "parity-scale-codec 2.1.1",11757 "parity-scale-codec 2.1.1",7608 "sp-core",11758 "sp-core",7615[[package]]11765[[package]]7616name = "sp-serializer"11766name = "sp-serializer"7617version = "3.0.0"11767version = "3.0.0"11768<<<<<<< HEAD7618source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11769source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11770=======11771source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11772>>>>>>> origin/develop7619dependencies = [11773dependencies = [7620 "serde",11774 "serde",7621 "serde_json",11775 "serde_json",7624[[package]]11778[[package]]7625name = "sp-session"11779name = "sp-session"7626version = "3.0.0"11780version = "3.0.0"11781<<<<<<< HEAD7627source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11782source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11783=======11784source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11785>>>>>>> origin/develop7628dependencies = [11786dependencies = [7629 "parity-scale-codec 2.1.1",11787 "parity-scale-codec 2.1.1",7630 "sp-api",11788 "sp-api",7637[[package]]11795[[package]]7638name = "sp-staking"11796name = "sp-staking"7639version = "3.0.0"11797version = "3.0.0"11798<<<<<<< HEAD7640source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11799source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11800=======11801source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11802>>>>>>> origin/develop7641dependencies = [11803dependencies = [7642 "parity-scale-codec 2.1.1",11804 "parity-scale-codec 2.1.1",7643 "sp-runtime",11805 "sp-runtime",7647[[package]]11809[[package]]7648name = "sp-state-machine"11810name = "sp-state-machine"7649version = "0.9.0"11811version = "0.9.0"11812<<<<<<< HEAD7650source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11813source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11814=======11815source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11816>>>>>>> origin/develop7651dependencies = [11817dependencies = [7652 "hash-db",11818 "hash-db",7653 "log",11819 "log",7662 "sp-std",11828 "sp-std",7663 "sp-trie",11829 "sp-trie",7664 "thiserror",11830 "thiserror",11831 "tracing",7665 "trie-db",11832 "trie-db",7666 "trie-root",11833 "trie-root",7667]11834]7668118357669[[package]]11836[[package]]7670name = "sp-std"11837name = "sp-std"7671version = "3.0.0"11838version = "3.0.0"11839<<<<<<< HEAD7672source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11840source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11841=======11842source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11843>>>>>>> origin/develop7673118447674[[package]]11845[[package]]7675name = "sp-storage"11846name = "sp-storage"7676version = "3.0.0"11847version = "3.0.0"11848<<<<<<< HEAD7677source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11849source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11850=======11851source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11852>>>>>>> origin/develop7678dependencies = [11853dependencies = [7679 "impl-serde",11854 "impl-serde",7680 "parity-scale-codec 2.1.1",11855 "parity-scale-codec 2.1.1",7687[[package]]11862[[package]]7688name = "sp-tasks"11863name = "sp-tasks"7689version = "3.0.0"11864version = "3.0.0"11865<<<<<<< HEAD7690source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11866source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11867=======11868source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11869>>>>>>> origin/develop7691dependencies = [11870dependencies = [7692 "log",11871 "log",7693 "sp-core",11872 "sp-core",7700[[package]]11879[[package]]7701name = "sp-timestamp"11880name = "sp-timestamp"7702version = "3.0.0"11881version = "3.0.0"11882<<<<<<< HEAD7703source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11883source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7704dependencies = [11884dependencies = [7705 "parity-scale-codec 2.1.1",11885 "parity-scale-codec 2.1.1",11886=======11887source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11888dependencies = [11889 "async-trait",11890 "futures-timer 3.0.2",11891 "log",11892 "parity-scale-codec",11893>>>>>>> origin/develop7706 "sp-api",11894 "sp-api",7707 "sp-inherents",11895 "sp-inherents",7708 "sp-runtime",11896 "sp-runtime",7709 "sp-std",11897 "sp-std",11898 "thiserror",7710 "wasm-timer",11899 "wasm-timer",7711]11900]7712119017713[[package]]11902[[package]]7714name = "sp-tracing"11903name = "sp-tracing"7715version = "3.0.0"11904version = "3.0.0"11905<<<<<<< HEAD7716source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11906source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11907=======11908source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11909>>>>>>> origin/develop7717dependencies = [11910dependencies = [11911 "erased-serde",7718 "log",11912 "log",11913<<<<<<< HEAD7719 "parity-scale-codec 2.1.1",11914 "parity-scale-codec 2.1.1",11915=======11916 "parity-scale-codec",11917 "parking_lot 0.10.2",11918 "serde",11919 "serde_json",11920 "slog",11921>>>>>>> origin/develop7720 "sp-std",11922 "sp-std",7721 "tracing",11923 "tracing",7722 "tracing-core",11924 "tracing-core",7726[[package]]11928[[package]]7727name = "sp-transaction-pool"11929name = "sp-transaction-pool"7728version = "3.0.0"11930version = "3.0.0"11931<<<<<<< HEAD7729source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11932source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7730dependencies = [11933dependencies = [7731 "derive_more",11934 "derive_more",7732 "futures 0.3.15",11935 "futures 0.3.15",11936=======11937source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11938dependencies = [11939 "derive_more",11940 "futures 0.3.14",11941>>>>>>> origin/develop7733 "log",11942 "log",7734 "parity-scale-codec 2.1.1",11943 "parity-scale-codec 2.1.1",7735 "serde",11944 "serde",7742[[package]]11951[[package]]7743name = "sp-trie"11952name = "sp-trie"7744version = "3.0.0"11953version = "3.0.0"11954<<<<<<< HEAD7745source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11955source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11956=======11957source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11958>>>>>>> origin/develop7746dependencies = [11959dependencies = [7747 "hash-db",11960 "hash-db",7748 "memory-db",11961 "memory-db",7756[[package]]11969[[package]]7757name = "sp-utils"11970name = "sp-utils"7758version = "3.0.0"11971version = "3.0.0"11972<<<<<<< HEAD7759source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11973source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7760dependencies = [11974dependencies = [7761 "futures 0.3.15",11975 "futures 0.3.15",11976=======11977source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11978dependencies = [11979 "futures 0.3.14",11980>>>>>>> origin/develop7762 "futures-core",11981 "futures-core",7763 "futures-timer 3.0.2",11982 "futures-timer 3.0.2",7764 "lazy_static",11983 "lazy_static",7768[[package]]11987[[package]]7769name = "sp-version"11988name = "sp-version"7770version = "3.0.0"11989version = "3.0.0"11990<<<<<<< HEAD7771source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11991source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"11992=======11993source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"11994>>>>>>> origin/develop7772dependencies = [11995dependencies = [7773 "impl-serde",11996 "impl-serde",7774 "parity-scale-codec 2.1.1",11997 "parity-scale-codec 2.1.1",7775 "serde",11998 "serde",7776 "sp-runtime",11999 "sp-runtime",7777 "sp-std",12000 "sp-std",12001 "sp-version-proc-macro",7778]12002]7779120037780[[package]]12004[[package]]12005name = "sp-version-proc-macro"12006version = "3.0.0"12007source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12008dependencies = [12009 "parity-scale-codec",12010 "proc-macro-crate 1.0.0",12011 "proc-macro2",12012 "quote",12013 "syn",12014]1201512016[[package]]7781name = "sp-wasm-interface"12017name = "sp-wasm-interface"7782version = "3.0.0"12018version = "3.0.0"12019<<<<<<< HEAD7783source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"12020source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"12021=======12022source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12023>>>>>>> origin/develop7784dependencies = [12024dependencies = [7785 "impl-trait-for-tuples 0.2.1",12025 "impl-trait-for-tuples 0.2.1",7786 "parity-scale-codec 2.1.1",12026 "parity-scale-codec 2.1.1",7807checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"12047checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"7808120487809[[package]]12049[[package]]12050name = "static_init"12051version = "0.5.2"12052source = "registry+https://github.com/rust-lang/crates.io-index"12053checksum = "11b73400442027c4adedda20a9f9b7945234a5bd8d5f7e86da22bd5d0622369c"12054dependencies = [12055 "cfg_aliases",12056 "libc",12057 "parking_lot 0.11.1",12058 "static_init_macro",12059]1206012061[[package]]12062name = "static_init_macro"12063version = "0.5.0"12064source = "registry+https://github.com/rust-lang/crates.io-index"12065checksum = "f2261c91034a1edc3fc4d1b80e89d82714faede0515c14a75da10cb941546bbf"12066dependencies = [12067 "cfg_aliases",12068 "memchr",12069 "proc-macro2",12070 "quote",12071 "syn",12072]1207312074[[package]]7810name = "statrs"12075name = "statrs"7811version = "0.13.0"12076version = "0.13.0"7812source = "registry+https://github.com/rust-lang/crates.io-index"12077source = "registry+https://github.com/rust-lang/crates.io-index"7827]12092]7828120937829[[package]]12094[[package]]12095name = "streamunordered"12096version = "0.5.2"12097source = "registry+https://github.com/rust-lang/crates.io-index"12098checksum = "e68576e37c8a37f5372796df15202190349dd80e7ed6a79544c0232213e90e35"12099dependencies = [12100 "futures-core",12101 "futures-sink",12102 "futures-util",12103 "slab",12104]1210512106[[package]]7830name = "string"12107name = "string"7831version = "0.2.1"12108version = "0.2.1"7832source = "registry+https://github.com/rust-lang/crates.io-index"12109source = "registry+https://github.com/rust-lang/crates.io-index"7908[[package]]12185[[package]]7909name = "substrate-build-script-utils"12186name = "substrate-build-script-utils"7910version = "3.0.0"12187version = "3.0.0"7911source = "registry+https://github.com/rust-lang/crates.io-index"12188source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"7912checksum = "bd540ba72520174c2c73ce96bf507eeba3cc8a481f58be92525b69110e1fa645"7913dependencies = [12189dependencies = [7914 "platforms",12190 "platforms",7915]12191]7916121927917[[package]]12193[[package]]7918name = "substrate-frame-rpc-system"12194name = "substrate-frame-rpc-system"7919version = "3.0.0"12195version = "3.0.0"12196<<<<<<< HEAD7920source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"12197source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"7921dependencies = [12198dependencies = [7922 "frame-system-rpc-runtime-api",12199 "frame-system-rpc-runtime-api",7923 "futures 0.3.15",12200 "futures 0.3.15",7924 "jsonrpc-core 15.1.0",12201 "jsonrpc-core 15.1.0",7925 "jsonrpc-core-client 15.1.0",12202 "jsonrpc-core-client 15.1.0",7926 "jsonrpc-derive 15.1.0",12203 "jsonrpc-derive 15.1.0",12204=======12205source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12206dependencies = [12207 "frame-system-rpc-runtime-api",12208 "futures 0.3.14",12209 "jsonrpc-core",12210 "jsonrpc-core-client",12211 "jsonrpc-derive",12212>>>>>>> origin/develop7927 "log",12213 "log",7928 "parity-scale-codec 2.1.1",12214 "parity-scale-codec 2.1.1",7929 "sc-client-api",12215 "sc-client-api",7940[[package]]12226[[package]]7941name = "substrate-prometheus-endpoint"12227name = "substrate-prometheus-endpoint"7942version = "0.9.0"12228version = "0.9.0"12229<<<<<<< HEAD7943source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"12230source = "git+https://github.com/paritytech/substrate.git?branch=frontier#39b31316815ec6d709e7ad7c1a31c436d14c53e6"12231=======12232source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12233>>>>>>> origin/develop7944dependencies = [12234dependencies = [7945 "async-std",12235 "async-std",7946 "derive_more",12236 "derive_more",7952]12242]7953122437954[[package]]12244[[package]]12245name = "substrate-test-client"12246version = "2.0.1"12247source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12248dependencies = [12249 "async-trait",12250 "futures 0.1.31",12251 "futures 0.3.14",12252 "hash-db",12253 "hex",12254 "parity-scale-codec",12255 "sc-client-api",12256 "sc-client-db",12257 "sc-consensus",12258 "sc-executor",12259 "sc-light",12260 "sc-offchain",12261 "sc-service",12262 "serde",12263 "serde_json",12264 "sp-blockchain",12265 "sp-consensus",12266 "sp-core",12267 "sp-keyring",12268 "sp-keystore",12269 "sp-runtime",12270 "sp-state-machine",12271]1227212273[[package]]12274name = "substrate-test-utils"12275version = "3.0.0"12276source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12277dependencies = [12278 "futures 0.3.14",12279 "substrate-test-utils-derive",12280 "tokio 0.2.25",12281]1228212283[[package]]12284name = "substrate-test-utils-derive"12285version = "0.9.0"12286source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"12287dependencies = [12288 "proc-macro-crate 1.0.0",12289 "quote",12290 "syn",12291]1229212293[[package]]7955name = "substrate-wasm-builder"12294name = "substrate-wasm-builder"12295version = "3.0.0"12296source = "registry+https://github.com/rust-lang/crates.io-index"12297checksum = "79091baab813855ddf65b191de9fe53e656b6b67c1e9bd23fdcbff8788164684"12298dependencies = [12299 "ansi_term 0.12.1",12300 "atty",12301 "build-helper",12302 "cargo_metadata",12303 "tempfile",12304 "toml",12305 "walkdir",12306 "wasm-gc-api",12307]1230812309[[package]]12310name = "substrate-wasm-builder"7956version = "4.0.0"12311version = "4.0.0"7957source = "registry+https://github.com/rust-lang/crates.io-index"12312source = "registry+https://github.com/rust-lang/crates.io-index"7958checksum = "93a3d51ad6abbc408b03ea962062bfcc959b438a318d7d4bedd181e1effd0610"12313checksum = "93a3d51ad6abbc408b03ea962062bfcc959b438a318d7d4bedd181e1effd0610"7981123367982[[package]]12337[[package]]7983name = "syn"12338name = "syn"12339<<<<<<< HEAD7984version = "1.0.72"12340version = "1.0.72"7985source = "registry+https://github.com/rust-lang/crates.io-index"12341source = "registry+https://github.com/rust-lang/crates.io-index"7986checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"12342checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"12343=======12344version = "1.0.69"12345source = "registry+https://github.com/rust-lang/crates.io-index"12346checksum = "48fe99c6bd8b1cc636890bcc071842de909d902c81ac7dab53ba33c421ab8ffb"12347>>>>>>> origin/develop7987dependencies = [12348dependencies = [7988 "proc-macro2",12349 "proc-macro2",7989 "quote",12350 "quote",8029 "cfg-if 1.0.0",12390 "cfg-if 1.0.0",8030 "libc",12391 "libc",8031 "rand 0.8.3",12392 "rand 0.8.3",12393<<<<<<< HEAD8032 "redox_syscall 0.2.8",12394 "redox_syscall 0.2.8",12395=======12396 "redox_syscall 0.2.6",12397>>>>>>> origin/develop8033 "remove_dir_all",12398 "remove_dir_all",8034 "winapi 0.3.9",12399 "winapi 0.3.9",8035]12400]8091]12456]8092124578093[[package]]12458[[package]]12459name = "thrift"12460version = "0.13.0"12461source = "registry+https://github.com/rust-lang/crates.io-index"12462checksum = "0c6d965454947cc7266d22716ebfd07b18d84ebaf35eec558586bbb2a8cb6b5b"12463dependencies = [12464 "byteorder",12465 "integer-encoding",12466 "log",12467 "ordered-float",12468 "threadpool",12469]1247012471[[package]]8094name = "time"12472name = "time"8095version = "0.1.44"12473version = "0.1.44"8096source = "registry+https://github.com/rust-lang/crates.io-index"12474source = "registry+https://github.com/rust-lang/crates.io-index"8186 "pin-project-lite 0.1.12",12564 "pin-project-lite 0.1.12",8187 "signal-hook-registry",12565 "signal-hook-registry",8188 "slab",12566 "slab",12567 "tokio-macros",8189 "winapi 0.3.9",12568 "winapi 0.3.9",8190]12569]8191125708254]12633]8255126348256[[package]]12635[[package]]12636name = "tokio-macros"12637version = "0.2.6"12638source = "registry+https://github.com/rust-lang/crates.io-index"12639checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"12640dependencies = [12641 "proc-macro2",12642 "quote",12643 "syn",12644]1264512646[[package]]8257name = "tokio-named-pipes"12647name = "tokio-named-pipes"8258version = "0.1.0"12648version = "0.1.0"8259source = "registry+https://github.com/rust-lang/crates.io-index"12649source = "registry+https://github.com/rust-lang/crates.io-index"8423128138424[[package]]12814[[package]]8425name = "tracing"12815name = "tracing"12816<<<<<<< HEAD8426version = "0.1.26"12817version = "0.1.26"8427source = "registry+https://github.com/rust-lang/crates.io-index"12818source = "registry+https://github.com/rust-lang/crates.io-index"8428checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"12819checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"12820=======12821version = "0.1.25"12822source = "registry+https://github.com/rust-lang/crates.io-index"12823checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"12824>>>>>>> origin/develop8429dependencies = [12825dependencies = [8430 "cfg-if 1.0.0",12826 "cfg-if 1.0.0",8431 "log",12827 "log",8460source = "registry+https://github.com/rust-lang/crates.io-index"12856source = "registry+https://github.com/rust-lang/crates.io-index"8461checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"12857checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"8462dependencies = [12858dependencies = [12859<<<<<<< HEAD8463 "pin-project 1.0.7",12860 "pin-project 1.0.7",12861=======12862 "pin-project 1.0.6",12863>>>>>>> origin/develop8464 "tracing",12864 "tracing",8465]12865]8466128668487128878488[[package]]12888[[package]]8489name = "tracing-subscriber"12889name = "tracing-subscriber"12890<<<<<<< HEAD8490version = "0.2.18"12891version = "0.2.18"8491source = "registry+https://github.com/rust-lang/crates.io-index"12892source = "registry+https://github.com/rust-lang/crates.io-index"8492checksum = "aa5553bf0883ba7c9cbe493b085c29926bd41b66afc31ff72cf17ff4fb60dcd5"12893checksum = "aa5553bf0883ba7c9cbe493b085c29926bd41b66afc31ff72cf17ff4fb60dcd5"12894=======12895version = "0.2.17"12896source = "registry+https://github.com/rust-lang/crates.io-index"12897checksum = "705096c6f83bf68ea5d357a6aa01829ddbdac531b357b45abeca842938085baa"12898>>>>>>> origin/develop8493dependencies = [12899dependencies = [8494 "ansi_term 0.12.1",12900 "ansi_term 0.12.1",8495 "chrono",12901 "chrono",8530]12936]8531129378532[[package]]12938[[package]]12939<<<<<<< HEAD8533name = "triehash"12940name = "triehash"8534version = "0.8.4"12941version = "0.8.4"8535source = "registry+https://github.com/rust-lang/crates.io-index"12942source = "registry+https://github.com/rust-lang/crates.io-index"8536checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c"12943checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c"8537dependencies = [12944dependencies = [8538 "hash-db",12945 "hash-db",8539 "rlp 0.5.0",12946 "rlp 0.5.0",12947=======12948name = "trust-dns-proto"12949version = "0.20.1"12950source = "registry+https://github.com/rust-lang/crates.io-index"12951checksum = "8d57e219ba600dd96c2f6d82eb79645068e14edbc5c7e27514af40436b88150c"12952dependencies = [12953 "async-trait",12954 "cfg-if 1.0.0",12955 "data-encoding",12956 "enum-as-inner",12957 "futures-channel",12958 "futures-io",12959 "futures-util",12960 "idna 0.2.2",12961 "ipnet",12962 "lazy_static",12963 "log",12964 "rand 0.8.3",12965 "smallvec 1.6.1",12966 "thiserror",12967 "tinyvec",12968 "url 2.2.1",8540]12969]8541129708542[[package]]12971[[package]]12972name = "trust-dns-resolver"12973version = "0.20.1"12974source = "registry+https://github.com/rust-lang/crates.io-index"12975checksum = "b0437eea3a6da51acc1e946545ff53d5b8fb2611ff1c3bed58522dde100536ae"12976dependencies = [12977 "cfg-if 1.0.0",12978 "futures-util",12979 "ipconfig",12980 "lazy_static",12981 "log",12982 "lru-cache",12983 "parking_lot 0.11.1",12984 "resolv-conf",12985 "smallvec 1.6.1",12986 "thiserror",12987 "trust-dns-proto",12988>>>>>>> origin/develop12989]1299012991[[package]]8543name = "try-lock"12992name = "try-lock"8544version = "0.2.3"12993version = "0.2.3"8545source = "registry+https://github.com/rust-lang/crates.io-index"12994source = "registry+https://github.com/rust-lang/crates.io-index"8546checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"12995checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"8547129968548[[package]]12997[[package]]12998name = "try-runtime-cli"12999version = "0.9.0"13000source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3#c94e0cdfe5556680dca1996004751eeb114755d7"13001dependencies = [13002 "frame-try-runtime",13003 "log",13004 "parity-scale-codec",13005 "remote-externalities",13006 "sc-cli",13007 "sc-client-api",13008 "sc-executor",13009 "sc-service",13010 "sp-api",13011 "sp-blockchain",13012 "sp-core",13013 "sp-externalities",13014 "sp-runtime",13015 "sp-state-machine",13016 "structopt",13017]1301813019[[package]]8549name = "twox-hash"13020name = "twox-hash"8550version = "1.6.0"13021version = "1.6.0"8551source = "registry+https://github.com/rust-lang/crates.io-index"13022source = "registry+https://github.com/rust-lang/crates.io-index"8696131678697[[package]]13168[[package]]8698name = "url"13169name = "url"13170<<<<<<< HEAD8699version = "2.2.2"13171version = "2.2.2"8700source = "registry+https://github.com/rust-lang/crates.io-index"13172source = "registry+https://github.com/rust-lang/crates.io-index"8701checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"13173checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"8702dependencies = [13174dependencies = [8703 "form_urlencoded",13175 "form_urlencoded",8704 "idna 0.2.3",13176 "idna 0.2.3",13177=======13178version = "2.2.1"13179source = "registry+https://github.com/rust-lang/crates.io-index"13180checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"13181dependencies = [13182 "form_urlencoded",13183 "idna 0.2.2",13184>>>>>>> origin/develop8705 "matches",13185 "matches",8706 "percent-encoding 2.1.0",13186 "percent-encoding 2.1.0",8707]13187]8718131988719[[package]]13199[[package]]8720name = "vcpkg"13200name = "vcpkg"13201<<<<<<< HEAD8721version = "0.2.12"13202version = "0.2.12"8722source = "registry+https://github.com/rust-lang/crates.io-index"13203source = "registry+https://github.com/rust-lang/crates.io-index"8723checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d"13204checksum = "cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d"13205=======13206version = "0.2.11"13207source = "registry+https://github.com/rust-lang/crates.io-index"13208checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"8724132098725[[package]]13210[[package]]13211name = "vec-arena"13212version = "1.1.0"13213source = "registry+https://github.com/rust-lang/crates.io-index"13214checksum = "34b2f665b594b07095e3ac3f718e13c2197143416fae4c5706cffb7b1af8d7f1"13215>>>>>>> origin/develop1321613217[[package]]8726name = "vec_map"13218name = "vec_map"8727version = "0.8.2"13219version = "0.8.2"8728source = "registry+https://github.com/rust-lang/crates.io-index"13220source = "registry+https://github.com/rust-lang/crates.io-index"8792132848793[[package]]13285[[package]]8794name = "wasm-bindgen"13286name = "wasm-bindgen"13287<<<<<<< HEAD8795version = "0.2.74"13288version = "0.2.74"8796source = "registry+https://github.com/rust-lang/crates.io-index"13289source = "registry+https://github.com/rust-lang/crates.io-index"8797checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"13290checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd"13291=======13292version = "0.2.73"13293source = "registry+https://github.com/rust-lang/crates.io-index"13294checksum = "83240549659d187488f91f33c0f8547cbfef0b2088bc470c116d1d260ef623d9"13295>>>>>>> origin/develop8798dependencies = [13296dependencies = [8799 "cfg-if 1.0.0",13297 "cfg-if 1.0.0",8800 "wasm-bindgen-macro",13298 "wasm-bindgen-macro",8801]13299]8802133008803[[package]]13301[[package]]8804name = "wasm-bindgen-backend"13302name = "wasm-bindgen-backend"13303<<<<<<< HEAD8805version = "0.2.74"13304version = "0.2.74"8806source = "registry+https://github.com/rust-lang/crates.io-index"13305source = "registry+https://github.com/rust-lang/crates.io-index"8807checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"13306checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900"13307=======13308version = "0.2.73"13309source = "registry+https://github.com/rust-lang/crates.io-index"13310checksum = "ae70622411ca953215ca6d06d3ebeb1e915f0f6613e3b495122878d7ebec7dae"13311>>>>>>> origin/develop8808dependencies = [13312dependencies = [8809 "bumpalo",13313 "bumpalo",8810 "lazy_static",13314 "lazy_static",8817133218818[[package]]13322[[package]]8819name = "wasm-bindgen-futures"13323name = "wasm-bindgen-futures"13324<<<<<<< HEAD8820version = "0.4.24"13325version = "0.4.24"8821source = "registry+https://github.com/rust-lang/crates.io-index"13326source = "registry+https://github.com/rust-lang/crates.io-index"8822checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"13327checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1"13328=======13329version = "0.4.23"13330source = "registry+https://github.com/rust-lang/crates.io-index"13331checksum = "81b8b767af23de6ac18bf2168b690bed2902743ddf0fb39252e36f9e2bfc63ea"13332>>>>>>> origin/develop8823dependencies = [13333dependencies = [8824 "cfg-if 1.0.0",13334 "cfg-if 1.0.0",8825 "js-sys",13335 "js-sys",8829133398830[[package]]13340[[package]]8831name = "wasm-bindgen-macro"13341name = "wasm-bindgen-macro"13342<<<<<<< HEAD8832version = "0.2.74"13343version = "0.2.74"8833source = "registry+https://github.com/rust-lang/crates.io-index"13344source = "registry+https://github.com/rust-lang/crates.io-index"8834checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"13345checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4"13346=======13347version = "0.2.73"13348source = "registry+https://github.com/rust-lang/crates.io-index"13349checksum = "3e734d91443f177bfdb41969de821e15c516931c3c3db3d318fa1b68975d0f6f"13350>>>>>>> origin/develop8835dependencies = [13351dependencies = [8836 "quote",13352 "quote",8837 "wasm-bindgen-macro-support",13353 "wasm-bindgen-macro-support",8838]13354]8839133558840[[package]]13356[[package]]8841name = "wasm-bindgen-macro-support"13357name = "wasm-bindgen-macro-support"13358<<<<<<< HEAD8842version = "0.2.74"13359version = "0.2.74"8843source = "registry+https://github.com/rust-lang/crates.io-index"13360source = "registry+https://github.com/rust-lang/crates.io-index"8844checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"13361checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97"13362=======13363version = "0.2.73"13364source = "registry+https://github.com/rust-lang/crates.io-index"13365checksum = "d53739ff08c8a68b0fdbcd54c372b8ab800b1449ab3c9d706503bc7dd1621b2c"13366>>>>>>> origin/develop8845dependencies = [13367dependencies = [8846 "proc-macro2",13368 "proc-macro2",8847 "quote",13369 "quote",8852133748853[[package]]13375[[package]]8854name = "wasm-bindgen-shared"13376name = "wasm-bindgen-shared"13377<<<<<<< HEAD8855version = "0.2.74"13378version = "0.2.74"8856source = "registry+https://github.com/rust-lang/crates.io-index"13379source = "registry+https://github.com/rust-lang/crates.io-index"8857checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"13380checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f"13381=======13382version = "0.2.73"13383source = "registry+https://github.com/rust-lang/crates.io-index"13384checksum = "d9a543ae66aa233d14bb765ed9af4a33e81b8b58d1584cf1b47ff8cd0b9e4489"13385>>>>>>> origin/develop8858133868859[[package]]13387[[package]]8860name = "wasm-gc-api"13388name = "wasm-gc-api"8873source = "registry+https://github.com/rust-lang/crates.io-index"13401source = "registry+https://github.com/rust-lang/crates.io-index"8874checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"13402checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"8875dependencies = [13403dependencies = [13404<<<<<<< HEAD8876 "futures 0.3.15",13405 "futures 0.3.15",13406=======13407 "futures 0.3.14",13408>>>>>>> origin/develop8877 "js-sys",13409 "js-sys",8878 "parking_lot 0.11.1",13410 "parking_lot 0.11.1",8879 "pin-utils",13411 "pin-utils",8893 "num-rational 0.2.4",13425 "num-rational 0.2.4",8894 "num-traits",13426 "num-traits",8895 "parity-wasm 0.41.0",13427 "parity-wasm 0.41.0",8896 "wasmi-validation",13428 "wasmi-validation 0.3.0",8897]13429]8898134308899[[package]]13431[[package]]8906]13438]8907134398908[[package]]13440[[package]]13441name = "wasmi-validation"13442version = "0.4.0"13443source = "registry+https://github.com/rust-lang/crates.io-index"13444checksum = "a2eb8e860796d8be48efef530b60eebf84e74a88bce107374fffb0da97d504b8"13445dependencies = [13446 "parity-wasm 0.42.2",13447]1344813449[[package]]8909name = "wasmparser"13450name = "wasmparser"8910version = "0.71.0"13451version = "0.76.0"8911source = "registry+https://github.com/rust-lang/crates.io-index"13452source = "registry+https://github.com/rust-lang/crates.io-index"8912checksum = "89a30c99437829ede826802bfcf28500cf58df00e66cb9114df98813bc145ff1"13453checksum = "755a9a4afe3f6cccbbe6d7e965eef44cf260b001f93e547eba84255c1d0187d8"8913134548914[[package]]13455[[package]]8915name = "wasmtime"13456name = "wasmtime"8916version = "0.22.0"13457version = "0.24.0"8917source = "registry+https://github.com/rust-lang/crates.io-index"13458source = "registry+https://github.com/rust-lang/crates.io-index"8918checksum = "7426055cb92bd9a1e9469b48154d8d6119cd8c498c8b70284e420342c05dc45d"13459checksum = "718cb52a9fdb7ab12471e9b9d051c9adfa6b5c504e0a1fea045e5eabc81eedd9"8919dependencies = [13460dependencies = [8920 "anyhow",13461 "anyhow",8921 "backtrace",13462 "backtrace",8925 "indexmap",13466 "indexmap",8926 "libc",13467 "libc",8927 "log",13468 "log",13469 "paste",8928 "region",13470 "region",8929 "rustc-demangle",13471 "rustc-demangle",8930 "serde",13472 "serde",8933 "wasmparser",13475 "wasmparser",8934 "wasmtime-cache",13476 "wasmtime-cache",8935 "wasmtime-environ",13477 "wasmtime-environ",13478 "wasmtime-fiber",8936 "wasmtime-jit",13479 "wasmtime-jit",8937 "wasmtime-profiling",13480 "wasmtime-profiling",8938 "wasmtime-runtime",13481 "wasmtime-runtime",8942134858943[[package]]13486[[package]]8944name = "wasmtime-cache"13487name = "wasmtime-cache"8945version = "0.22.0"13488version = "0.24.0"8946source = "registry+https://github.com/rust-lang/crates.io-index"13489source = "registry+https://github.com/rust-lang/crates.io-index"8947checksum = "c01d9287e36921e46f5887a47007824ae5dbb9b7517a2d565660ab4471478709"13490checksum = "1f984df56c4adeba91540f9052db9f7a8b3b00cfaac1a023bee50a972f588b0c"8948dependencies = [13491dependencies = [8949 "anyhow",13492 "anyhow",8950 "base64 0.13.0",13493 "base64 0.13.0",8963135068964[[package]]13507[[package]]8965name = "wasmtime-cranelift"13508name = "wasmtime-cranelift"8966version = "0.22.0"13509version = "0.24.0"8967source = "registry+https://github.com/rust-lang/crates.io-index"13510source = "registry+https://github.com/rust-lang/crates.io-index"8968checksum = "4134ed3a4316cd0de0e546c6004850afe472b0fa3fcdc2f2c15f8d449562d962"13511checksum = "2a05abbf94e03c2c8ee02254b1949320c4d45093de5d9d6ed4d9351d536075c9"8969dependencies = [13512dependencies = [8970 "cranelift-codegen",13513 "cranelift-codegen",8971 "cranelift-entity",13514 "cranelift-entity",8972 "cranelift-frontend",13515 "cranelift-frontend",8973 "cranelift-wasm",13516 "cranelift-wasm",13517 "wasmparser",8974 "wasmtime-environ",13518 "wasmtime-environ",8975]13519]8976135208977[[package]]13521[[package]]8978name = "wasmtime-debug"13522name = "wasmtime-debug"8979version = "0.22.0"13523version = "0.24.0"8980source = "registry+https://github.com/rust-lang/crates.io-index"13524source = "registry+https://github.com/rust-lang/crates.io-index"8981checksum = "e91fa931df6dd8af2b02606307674d3bad23f55473d5f4c809dddf7e4c4dc411"13525checksum = "382eecd6281c6c1d1f3c904c3c143e671fc1a9573820cbfa777fba45ce2eda9c"8982dependencies = [13526dependencies = [8983 "anyhow",13527 "anyhow",8984 "gimli 0.23.0",13528 "gimli 0.23.0",8985 "more-asserts",13529 "more-asserts",8986 "object 0.22.0",13530 "object",8987 "target-lexicon",13531 "target-lexicon",8988 "thiserror",13532 "thiserror",8989 "wasmparser",13533 "wasmparser",8992135368993[[package]]13537[[package]]8994name = "wasmtime-environ"13538name = "wasmtime-environ"8995version = "0.22.0"13539version = "0.24.0"8996source = "registry+https://github.com/rust-lang/crates.io-index"13540source = "registry+https://github.com/rust-lang/crates.io-index"8997checksum = "a1098871dc3120aaf8190d79153e470658bb79f63ee9ca31716711e123c28220"13541checksum = "81011b2b833663d7e0ce34639459a0e301e000fc7331e0298b3a27c78d0cec60"8998dependencies = [13542dependencies = [8999 "anyhow",13543 "anyhow",9000 "cfg-if 1.0.0",13544 "cfg-if 1.0.0",9011]13555]9012135569013[[package]]13557[[package]]13558name = "wasmtime-fiber"13559version = "0.24.0"13560source = "registry+https://github.com/rust-lang/crates.io-index"13561checksum = "d92da32e31af2e3d828f485f5f24651ed4d3b7f03a46ea6555eae6940d1402cd"13562dependencies = [13563 "cc",13564 "libc",13565 "winapi 0.3.9",13566]1356713568[[package]]9014name = "wasmtime-jit"13569name = "wasmtime-jit"9015version = "0.22.0"13570version = "0.24.0"9016source = "registry+https://github.com/rust-lang/crates.io-index"13571source = "registry+https://github.com/rust-lang/crates.io-index"9017checksum = "738bfcd1561ede8bb174215776fd7d9a95d5f0a47ca3deabe0282c55f9a89f68"13572checksum = "9b5f649623859a12d361fe4cc4793de44f7c3ff34c322c5714289787e89650bb"9018dependencies = [13573dependencies = [9019 "addr2line 0.14.1",13574 "addr2line 0.14.1",9020 "anyhow",13575 "anyhow",9027 "gimli 0.23.0",13582 "gimli 0.23.0",9028 "log",13583 "log",9029 "more-asserts",13584 "more-asserts",9030 "object 0.22.0",13585 "object",9031 "rayon",13586 "rayon",9032 "region",13587 "region",9033 "serde",13588 "serde",9045136009046[[package]]13601[[package]]9047name = "wasmtime-obj"13602name = "wasmtime-obj"9048version = "0.22.0"13603version = "0.24.0"9049source = "registry+https://github.com/rust-lang/crates.io-index"13604source = "registry+https://github.com/rust-lang/crates.io-index"9050checksum = "3e96d77f1801131c5e86d93e42a3cf8a35402107332c202c245c83f34888a906"13605checksum = "ef2e99cd9858f57fd062e9351e07881cedfc8597928385e02a48d9333b9e15a1"9051dependencies = [13606dependencies = [9052 "anyhow",13607 "anyhow",9053 "more-asserts",13608 "more-asserts",9054 "object 0.22.0",13609 "object",9055 "target-lexicon",13610 "target-lexicon",9056 "wasmtime-debug",13611 "wasmtime-debug",9057 "wasmtime-environ",13612 "wasmtime-environ",9058]13613]9059136149060[[package]]13615[[package]]9061name = "wasmtime-profiling"13616name = "wasmtime-profiling"9062version = "0.22.0"13617version = "0.24.0"9063source = "registry+https://github.com/rust-lang/crates.io-index"13618source = "registry+https://github.com/rust-lang/crates.io-index"9064checksum = "60bb672c9d894776d7b9250dd9b4fe890f8760201ee4f53e5f2da772b6c4debb"13619checksum = "e46c0a590e49278ba7f79ef217af9db4ecc671b50042c185093e22d73524abb2"9065dependencies = [13620dependencies = [9066 "anyhow",13621 "anyhow",9067 "cfg-if 1.0.0",13622 "cfg-if 1.0.0",9068 "gimli 0.23.0",13623 "gimli 0.23.0",9069 "lazy_static",13624 "lazy_static",9070 "libc",13625 "libc",9071 "object 0.22.0",13626 "object",9072 "scroll",13627 "scroll",9073 "serde",13628 "serde",9074 "target-lexicon",13629 "target-lexicon",9078136339079[[package]]13634[[package]]9080name = "wasmtime-runtime"13635name = "wasmtime-runtime"9081version = "0.22.0"13636version = "0.24.0"9082source = "registry+https://github.com/rust-lang/crates.io-index"13637source = "registry+https://github.com/rust-lang/crates.io-index"9083checksum = "a978086740949eeedfefcee667b57a9e98d9a7fc0de382fcfa0da30369e3530d"13638checksum = "1438a09185fc7ca067caf1a80d7e5b398eefd4fb7630d94841448ade60feb3d0"9084dependencies = [13639dependencies = [9085 "backtrace",13640 "backtrace",9086 "cc",13641 "cc",9118136739119[[package]]13674[[package]]9120name = "web-sys"13675name = "web-sys"13676<<<<<<< HEAD9121version = "0.3.51"13677version = "0.3.51"9122source = "registry+https://github.com/rust-lang/crates.io-index"13678source = "registry+https://github.com/rust-lang/crates.io-index"9123checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"13679checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582"13680=======13681version = "0.3.50"13682source = "registry+https://github.com/rust-lang/crates.io-index"13683checksum = "a905d57e488fec8861446d3393670fb50d27a262344013181c2cdf9fff5481be"13684>>>>>>> origin/develop9124dependencies = [13685dependencies = [9125 "js-sys",13686 "js-sys",9126 "wasm-bindgen",13687 "wasm-bindgen",9155]13716]9156137179157[[package]]13718[[package]]13719name = "westend-runtime"13720version = "0.9.3"13721source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"13722dependencies = [13723 "beefy-primitives",13724 "bitvec",13725 "frame-executive",13726 "frame-support",13727 "frame-system",13728 "frame-system-rpc-runtime-api",13729 "frame-try-runtime",13730 "log",13731 "pallet-authority-discovery",13732 "pallet-authorship",13733 "pallet-babe",13734 "pallet-balances",13735 "pallet-collective",13736 "pallet-democracy",13737 "pallet-election-provider-multi-phase",13738 "pallet-elections-phragmen",13739 "pallet-grandpa",13740 "pallet-identity",13741 "pallet-im-online",13742 "pallet-indices",13743 "pallet-membership",13744 "pallet-mmr-primitives",13745 "pallet-multisig",13746 "pallet-nicks",13747 "pallet-offences",13748 "pallet-proxy",13749 "pallet-randomness-collective-flip",13750 "pallet-recovery",13751 "pallet-scheduler 3.0.0 (git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.3)",13752 "pallet-session",13753 "pallet-society",13754 "pallet-staking",13755 "pallet-staking-reward-curve",13756 "pallet-sudo",13757 "pallet-timestamp",13758 "pallet-transaction-payment",13759 "pallet-transaction-payment-rpc-runtime-api",13760 "pallet-treasury",13761 "pallet-utility",13762 "pallet-vesting",13763 "pallet-xcm",13764 "parity-scale-codec",13765 "polkadot-parachain",13766 "polkadot-primitives",13767 "polkadot-runtime-common",13768 "polkadot-runtime-parachains",13769 "rustc-hex",13770 "serde",13771 "serde_derive",13772 "smallvec 1.6.1",13773 "sp-api",13774 "sp-authority-discovery",13775 "sp-block-builder",13776 "sp-consensus-babe",13777 "sp-core",13778 "sp-inherents",13779 "sp-io",13780 "sp-npos-elections",13781 "sp-offchain",13782 "sp-runtime",13783 "sp-session",13784 "sp-staking",13785 "sp-std",13786 "sp-transaction-pool",13787 "sp-version",13788 "static_assertions",13789 "substrate-wasm-builder 3.0.0",13790 "xcm",13791 "xcm-builder",13792 "xcm-executor",13793]1379413795[[package]]9158name = "which"13796name = "which"13797<<<<<<< HEAD13798=======13799version = "3.1.1"13800source = "registry+https://github.com/rust-lang/crates.io-index"13801checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"13802dependencies = [13803 "libc",13804]1380513806[[package]]13807name = "which"13808>>>>>>> origin/develop9159version = "4.1.0"13809version = "4.1.0"9160source = "registry+https://github.com/rust-lang/crates.io-index"13810source = "registry+https://github.com/rust-lang/crates.io-index"9161checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe"13811checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe"9165]13815]9166138169167[[package]]13817[[package]]13818name = "widestring"13819version = "0.4.3"13820source = "registry+https://github.com/rust-lang/crates.io-index"13821checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"1382213823[[package]]9168name = "winapi"13824name = "winapi"9169version = "0.2.8"13825version = "0.2.8"9170source = "registry+https://github.com/rust-lang/crates.io-index"13826source = "registry+https://github.com/rust-lang/crates.io-index"9208checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"13864checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"9209138659210[[package]]13866[[package]]13867name = "winreg"13868version = "0.6.2"13869source = "registry+https://github.com/rust-lang/crates.io-index"13870checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"13871dependencies = [13872 "winapi 0.3.9",13873]1387413875[[package]]9211name = "ws2_32-sys"13876name = "ws2_32-sys"9212version = "0.2.1"13877version = "0.2.1"9213source = "registry+https://github.com/rust-lang/crates.io-index"13878source = "registry+https://github.com/rust-lang/crates.io-index"9235]13900]9236139019237[[package]]13902[[package]]13903name = "xcm"13904version = "0.9.3"13905source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"13906dependencies = [13907 "derivative",13908 "impl-trait-for-tuples",13909 "parity-scale-codec",13910]1391113912[[package]]13913name = "xcm-builder"13914version = "0.9.3"13915source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"13916dependencies = [13917 "frame-support",13918 "frame-system",13919 "impl-trait-for-tuples",13920 "pallet-transaction-payment",13921 "parity-scale-codec",13922 "polkadot-parachain",13923 "sp-arithmetic",13924 "sp-io",13925 "sp-runtime",13926 "sp-std",13927 "xcm",13928 "xcm-executor",13929]1393013931[[package]]13932name = "xcm-executor"13933version = "0.9.3"13934source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.3#aa386760948574af4078c59decf558d16efe15e2"13935dependencies = [13936 "frame-support",13937 "impl-trait-for-tuples",13938 "log",13939 "parity-scale-codec",13940 "sp-arithmetic",13941 "sp-core",13942 "sp-io",13943 "sp-runtime",13944 "sp-std",13945 "xcm",13946]1394713948[[package]]9238name = "yamux"13949name = "yamux"13950<<<<<<< HEAD9239version = "0.8.1"13951version = "0.8.1"9240source = "registry+https://github.com/rust-lang/crates.io-index"13952source = "registry+https://github.com/rust-lang/crates.io-index"9241checksum = "1cc7bd8c983209ed5d527f44b01c41b7dc146fd960c61cf9e1d25399841dc271"13953checksum = "1cc7bd8c983209ed5d527f44b01c41b7dc146fd960c61cf9e1d25399841dc271"9242dependencies = [13954dependencies = [9243 "futures 0.3.15",13955 "futures 0.3.15",13956=======13957version = "0.9.0"13958source = "registry+https://github.com/rust-lang/crates.io-index"13959checksum = "e7d9028f208dd5e63c614be69f115c1b53cacc1111437d4c765185856666c107"13960dependencies = [13961 "futures 0.3.14",13962>>>>>>> origin/develop9244 "log",13963 "log",9245 "nohash-hasher",13964 "nohash-hasher",9246 "parking_lot 0.11.1",13965 "parking_lot 0.11.1",9247 "rand 0.7.3",13966 "rand 0.8.3",9248 "static_assertions",13967 "static_assertions",9249]13968]9250139699277139969278[[package]]13997[[package]]9279name = "zstd"13998name = "zstd"9280version = "0.5.4+zstd.1.4.7"13999version = "0.6.1+zstd.1.4.9"9281source = "registry+https://github.com/rust-lang/crates.io-index"14000source = "registry+https://github.com/rust-lang/crates.io-index"9282checksum = "69996ebdb1ba8b1517f61387a883857818a66c8a295f487b1ffd8fd9d2c82910"14001checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3"9283dependencies = [14002dependencies = [9284 "zstd-safe",14003 "zstd-safe",9285]14004]9286140059287[[package]]14006[[package]]9288name = "zstd-safe"14007name = "zstd-safe"9289version = "2.0.6+zstd.1.4.7"14008version = "3.0.1+zstd.1.4.9"9290source = "registry+https://github.com/rust-lang/crates.io-index"14009source = "registry+https://github.com/rust-lang/crates.io-index"9291checksum = "98aa931fb69ecee256d44589d19754e61851ae4769bf963b385119b1cc37a49e"14010checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c"9292dependencies = [14011dependencies = [9293 "libc",14012 "libc",9294 "zstd-sys",14013 "zstd-sys",9295]14014]9296140159297[[package]]14016[[package]]9298name = "zstd-sys"14017name = "zstd-sys"9299version = "1.4.18+zstd.1.4.7"14018version = "1.4.20+zstd.1.4.9"9300source = "registry+https://github.com/rust-lang/crates.io-index"14019source = "registry+https://github.com/rust-lang/crates.io-index"9301checksum = "a1e6e8778706838f43f771d80d37787cb2fe06dafe89dd3aebaf6721b9eaec81"14020checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e"9302dependencies = [14021dependencies = [9303 "cc",14022 "cc",9304 "glob",9305 "itertools",9306 "libc",14023 "libc",9307]14024]930814025Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,10 +2,12 @@
resolver = "2"
members = [
'node',
- 'pallets/nft',
+ 'pallets/*',
+ 'primitives',
'runtime',
'crates/evm-coder',
'crates/evm-coder-macros',
]
+resolver = "2"
[profile.release]
panic = 'unwind'
README.mddiffbeforeafterboth--- a/README.md
+++ b/README.md
@@ -133,6 +133,64 @@
Additional CLI usage options are available and may be shown by running `cargo run -- --help`.
+## Building and Running as Parachain locally
+
+Rust toolchain: nightly-2021-04-23
+Note: checkout this project and polkadot project (see below) in the sibling folders (both under the same folder)
+
+### Build relay
+
+```
+git clone https://github.com/paritytech/polkadot.git
+cd polkadot
+git checkout aa386760
+cargo build --release
+```
+
+### Build parachain
+
+Run in the root of this project:
+```
+cargo --build
+```
+
+### Run 4-node Relay
+
+1. Download `rococo-custom-4.json` chain spec here: https://substrate.dev/cumulus-workshop/shared/chainspecs/rococo-custom-4.json
+2. Use these instructions to launch 4 nodes: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/1-launch
+
+Example (Run in polkadot folder. Replace `12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on` with output from Alice node):
+```
+./target/release/polkadot --alice --validator --base-path ./cumulus_relay0 --chain rococo-custom-4.json --port 50555 --ws-port 9944
+./target/release/polkadot --bob --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50556 --ws-port 9945
+./target/release/polkadot --charlie --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50557 --ws-port 9946
+./target/release/polkadot --dave --validator --base-path ./cumulus_relay1 --chain rococo-custom-4.json --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/12D3KooWNLAmKcyee3oqSgTMthaQVXaAcXeo8RrGCzMfMVA3B5on --port 50558 --ws-port 9947
+
+```
+
+3. Export genesis state and runtime wasm from NFT parachain:
+
+Run from this project root:
+```
+./target/release/nft export-genesis-state --parachain-id 2000 > ./resources/para-2000-genesis
+./target/release/nft export-genesis-wasm > ./resources/para-2000-wasm
+```
+
+4. Run two parachain nodes:
+
+Replace `12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg` with Alice or Bob relay ID
+
+Run from this project root:
+```
+./target/release/nft --alice --collator --force-authoring --base-path ./tmp/parachain-alice --parachain-id 2000 --port 40333 --ws-port 9844 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30343 --ws-port 9977
+./target/release/nft --bob --collator --force-authoring --parachain-id 2000 --base-path ./tmp/parachain/bob --port 40334 --ws-port 9845 -- --execution wasm --chain ../polkadot/rococo-custom-4.json --port 30344 --ws-port 9978 --bootnodes /ip4/127.0.0.1/tcp/50556/p2p/12D3KooWN1ah2bFQSysEFnwZqcmcVpDDR8UedXyo6xfzV1zDNMNg
+```
+
+4. Reserve parachain ID as described here: https://substrate.dev/cumulus-workshop/#/en/2-relay-chain/2-reserve
+
+5. Register parachain in relay as described here: https://substrate.dev/cumulus-workshop/#/en/3-parachains/2-register
+
+
## Run Integration Tests
1. Install all needed dependecies
@@ -145,7 +203,6 @@
```
yarn test
```
-
## Benchmarks
node/Cargo.tomldiffbeforeafterboth--- a/node/Cargo.toml
+++ b/node/Cargo.toml
@@ -1,20 +1,309 @@
-[build-dependencies]
-substrate-build-script-utils = '3.0.0'
+################################################################################
+# Build Dependencies
+
+[build-dependencies.substrate-build-script-utils]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+################################################################################
+# Substrate Dependecies
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies.frame-benchmarking]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-benchmarking-cli]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-transaction-payment-rpc]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.substrate-prometheus-endpoint]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-basic-authorship]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-chain-spec]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-cli]
+features = ['wasmtime']
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-client-api]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-consensus]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-consensus-aura]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-executor]
+features = ['wasmtime']
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-finality-grandpa]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-keystore]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-rpc]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-rpc-api]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-service]
+features = ['wasmtime']
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sc-telemetry]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-transaction-pool]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sc-tracing]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-block-builder]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-api]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-blockchain]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-consensus]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-consensus-aura]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-core]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-finality-grandpa]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-inherents]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-keystore]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-offchain]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-runtime]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-session]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-timestamp]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
-[[bin]]
-name = 'nft'
+[dependencies.sp-transaction-pool]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+[dependencies.sp-trie]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.substrate-frame-rpc-system]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts-rpc]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+
+[dependencies.sc-network]
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.serde]
+features = ['derive']
+version = '1.0.119'
+
+[dependencies.serde_json]
+version = '1.0.41'
+
+
+################################################################################
+# Cumulus dependencies
+
+[dependencies.cumulus-client-consensus-aura]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-consensus-common]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-collator]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-cli]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-network]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-primitives-core]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-primitives-parachain-inherent]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+[dependencies.cumulus-client-service]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+
+
+################################################################################
+# Polkadot dependencies
+[dependencies.polkadot-primitives]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-service]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-cli]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-test-service]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+[dependencies.polkadot-parachain]
+git = "https://github.com/paritytech/polkadot"
+branch = 'release-v0.9.3'
+
+
+################################################################################
+# Local dependencies
+
+[dependencies.nft-runtime]
+path = '../runtime'
+version = '3.0.0'
+
+[dependencies.nft-data-structs]
+path="../primitives"
+default-features = false
+
+################################################################################
+# Package
+
[package]
-authors = ['UseTech Professional <https://usetech.com/blockchain>']
+authors = ['Unique Network <support@uniquenetwork.io>']
build = 'build.rs'
description = 'Substrate node nft'
edition = '2018'
-homepage = 'https://usetech.com/blockchain'
+homepage = 'https://unique.network'
license = 'All Rights Reserved'
name = 'nft'
repository = 'https://github.com/usetech-llc/nft_private/'
version = '3.0.0'
+[[bin]]
+name = 'nft'
+
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
@@ -27,50 +316,13 @@
jsonrpc-core = '15.0.0'
jsonrpc-pubsub = "15.0.0"
-# Substrate dependencies
-pallet-nft = { path = '../pallets/nft', version = '3.0.0' }
-nft-runtime = { path = '../runtime', version = '3.0.0' }
-frame-benchmarking = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-benchmarking-cli = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-transaction-payment-rpc = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
fc-rpc-core = { version = "1.1.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
fc-consensus = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
fc-mapping-sync = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
fc-rpc = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
fc-db = { version = "1.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
fp-rpc = { version = "2.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-sc-basic-authorship = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-cli = { version = '0.9.0', features = ['wasmtime'], git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-client-api = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-consensus = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-consensus-aura = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-executor = { version = '0.9.0', features = ['wasmtime'], git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-finality-grandpa = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-
-sc-keystore = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-rpc = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-rpc-api = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-service = { version = '0.9.0', features = ['wasmtime'], git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-transaction-pool = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-api = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-block-builder = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-blockchain = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-consensus = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-consensus-aura = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-core = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-finality-grandpa = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-inherents = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-runtime = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-timestamp = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-transaction-pool = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-substrate-frame-rpc-system = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sc-network = { version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-contracts-rpc = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
pallet-ethereum = { version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-sc-telemetry = { version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-
-serde = { version = "1.0.102", features = ["derive"] }
-serde_json = "1.0.41"
[features]
default = []
node/src/chain_spec.rsdiffbeforeafterboth--- a/node/src/chain_spec.rs
+++ b/node/src/chain_spec.rs
@@ -3,24 +3,19 @@
// file 'LICENSE', which is part of this source code package.
//
+use cumulus_primitives_core::ParaId;
use nft_runtime::*;
-use sp_core::{Pair, Public, sr25519};
-use nft_runtime::{
- AccountId, AuraConfig, BalancesConfig, EVMConfig, EthereumConfig, GenesisConfig, GrandpaConfig,
- SudoConfig, SystemConfig, WASM_BINARY, Signature
-};
-use sp_consensus_aura::sr25519::AuthorityId as AuraId;
-use sp_finality_grandpa::AuthorityId as GrandpaId;
-use sp_runtime::traits::{Verify, IdentifyAccount};
+use nft_data_structs::*;
+use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
use sc_service::ChainType;
-use serde_json::map::Map;
-use std::collections::BTreeMap;
+use sp_core::{sr25519, Pair, Public};
+use sp_runtime::traits::{IdentifyAccount, Verify};
-// Note this is the URL for the telemetry server
-//const STAGING_TELEMETRY_URL: &str = "wss://telemetry.polkadot.io/submit/";
+use serde::{Deserialize, Serialize};
+use serde_json::map::Map;
/// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type.
-pub type ChainSpec = sc_service::GenericChainSpec<GenesisConfig>;
+pub type ChainSpec = sc_service::GenericChainSpec<nft_runtime::GenesisConfig, Extensions>;
/// Helper function to generate a crypto pair from seed
pub fn get_from_seed<TPublic: Public>(seed: &str) -> <TPublic::Pair as Pair>::Public {
@@ -29,6 +24,23 @@
.public()
}
+/// The extensions for the [`ChainSpec`].
+#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, ChainSpecGroup, ChainSpecExtension)]
+#[serde(deny_unknown_fields)]
+pub struct Extensions {
+ /// The relay chain of the Parachain.
+ pub relay_chain: String,
+ /// The id of the Parachain.
+ pub para_id: u32,
+}
+
+impl Extensions {
+ /// Try to get the extension from the given `ChainSpec`.
+ pub fn try_get(chain_spec: &dyn sc_service::ChainSpec) -> Option<&Self> {
+ sc_chain_spec::get_extension(chain_spec.extensions())
+ }
+}
+
type AccountPublic = <Signature as Verify>::Signer;
/// Helper function to generate an account ID from seed
@@ -39,41 +51,31 @@
AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
}
-/// Helper function to generate an authority key for Aura
-pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) {
- (get_from_seed::<AuraId>(s), get_from_seed::<GrandpaId>(s))
-}
-
-pub fn development_config() -> Result<ChainSpec, String> {
- let wasm_binary = WASM_BINARY.ok_or("Development wasm binary not available".to_string())?;
-
+pub fn development_config(id: ParaId) -> ChainSpec {
let mut properties = Map::new();
- properties.insert("tokenSymbol".into(), "UniqueTest".into());
+ properties.insert("tokenSymbol".into(), "testUNQ".into());
properties.insert("tokenDecimals".into(), 15.into());
properties.insert("ss58Format".into(), 42.into()); // Generic Substrate wildcard (SS58 checksum preimage)
- Ok(ChainSpec::from_genesis(
+ ChainSpec::from_genesis(
// Name
"Development",
// ID
"dev",
- ChainType::Development,
+ ChainType::Local,
move || testnet_genesis(
- wasm_binary,
- // Initial PoA authorities
- vec![
- authority_keys_from_seed("Alice"),
- ],
// Sudo account
get_account_id_from_seed::<sr25519::Public>("Alice"),
+ vec![
+ get_from_seed::<AuraId>("Alice"),
+ get_from_seed::<AuraId>("Bob"),
+ ],
// Pre-funded accounts
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
get_account_id_from_seed::<sr25519::Public>("Bob"),
- get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
- get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
],
- true,
+ id,
),
// Bootnodes
vec![],
@@ -84,28 +86,27 @@
// Properties
Some(properties),
// Extensions
- None,
- ))
+ Extensions {
+ relay_chain: "rococo-dev".into(),
+ para_id: id.into(),
+ },
+ )
}
-pub fn local_testnet_config() -> Result<ChainSpec, String> {
- let wasm_binary = WASM_BINARY.ok_or("Development wasm binary not available".to_string())?;
-
- Ok(ChainSpec::from_genesis(
+pub fn local_testnet_config(id: ParaId) -> ChainSpec {
+ ChainSpec::from_genesis(
// Name
"Local Testnet",
// ID
"local_testnet",
ChainType::Local,
move || testnet_genesis(
- wasm_binary,
- // Initial PoA authorities
- vec![
- authority_keys_from_seed("Alice"),
- authority_keys_from_seed("Bob"),
- ],
// Sudo account
get_account_id_from_seed::<sr25519::Public>("Alice"),
+ vec![
+ get_from_seed::<AuraId>("Alice"),
+ get_from_seed::<AuraId>("Bob"),
+ ],
// Pre-funded accounts
vec![
get_account_id_from_seed::<sr25519::Public>("Alice"),
@@ -121,7 +122,7 @@
get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
],
- true,
+ id,
),
// Bootnodes
vec![],
@@ -132,79 +133,91 @@
// Properties
None,
// Extensions
- None,
- ))
+ Extensions {
+ relay_chain: "rococo-local".into(),
+ para_id: id.into(),
+ },
+ )
}
fn testnet_genesis(
- wasm_binary: &[u8],
- initial_authorities: Vec<(AuraId, GrandpaId)>,
- root_key: AccountId,
- endowed_accounts: Vec<AccountId>,
- enable_println: bool,
+ root_key: AccountId,
+ initial_authorities: Vec<AuraId>,
+ endowed_accounts: Vec<AccountId>,
+ id: ParaId,
) -> GenesisConfig {
let vested_accounts = vec![
get_account_id_from_seed::<sr25519::Public>("Bob"),
];
- GenesisConfig {
- system: SystemConfig {
- code: wasm_binary.to_vec(),
+ GenesisConfig {
+ system: nft_runtime::SystemConfig {
+ code: nft_runtime::WASM_BINARY
+ .expect("WASM binary was not build, please build it!")
+ .to_vec(),
changes_trie_config: Default::default(),
},
- pallet_balances: BalancesConfig {
- balances: endowed_accounts
- .iter()
- .cloned()
- .map(|k| (k, 1 << 100))
- .collect(),
- },
- pallet_aura: AuraConfig {
- authorities: initial_authorities.iter().map(|x| (x.0.clone())).collect(),
- },
- pallet_grandpa: GrandpaConfig {
- authorities: initial_authorities
- .iter()
- .map(|x| (x.1.clone(), 1))
- .collect(),
- },
+ pallet_balances: BalancesConfig {
+ balances: endowed_accounts
+ .iter()
+ .cloned()
+ .map(|k| (k, 1 << 70))
+ .collect(),
+ },
pallet_treasury: Default::default(),
pallet_sudo: SudoConfig { key: root_key },
pallet_vesting: VestingConfig {
- vesting: vested_accounts
- .iter()
- .cloned()
- .map(|k| (k, 1000, 100, 1 << 98))
- .collect(),
- },
- pallet_nft: NftConfig {
- collection_id: vec![],
- nft_item_id: vec![],
- fungible_item_id: vec![],
- refungible_item_id: vec![],
- chain_limit: ChainLimits {
- collection_numbers_limit: 100000,
- account_token_ownership_limit: 1000000,
- collections_admins_limit: 5,
- custom_data_limit: 2048,
- nft_sponsor_transfer_timeout: 15,
- fungible_sponsor_transfer_timeout: 15,
+ vesting: vested_accounts
+ .iter()
+ .cloned()
+ .map(|k| (k, 1000, 100, 1 << 98))
+ .collect(),
+ },
+ pallet_nft: NftConfig {
+ collection_id: vec![(
+ 1,
+ Collection {
+ owner: get_account_id_from_seed::<sr25519::Public>("Alice"),
+ mode: CollectionMode::NFT,
+ access: AccessMode::Normal,
+ decimal_points: 0,
+ name: vec![],
+ description: vec![],
+ token_prefix: vec![],
+ mint_mode: false,
+ offchain_schema: vec![],
+ schema_version: SchemaVersion::default(),
+ sponsorship: SponsorshipState::Confirmed(get_account_id_from_seed::<sr25519::Public>("Alice")),
+ const_on_chain_schema: vec![],
+ variable_on_chain_schema: vec![],
+ limits: CollectionLimits::default()
+ },
+ )],
+ nft_item_id: vec![],
+ fungible_item_id: vec![],
+ refungible_item_id: vec![],
+ chain_limit: ChainLimits {
+ collection_numbers_limit: 100000,
+ account_token_ownership_limit: 1000000,
+ collections_admins_limit: 5,
+ custom_data_limit: 2048,
+ nft_sponsor_transfer_timeout: 15,
+ fungible_sponsor_transfer_timeout: 15,
refungible_sponsor_transfer_timeout: 15,
offchain_schema_limit: 1024,
variable_on_chain_schema_limit: 1024,
const_on_chain_schema_limit: 1024,
- },
- },
- pallet_contracts: ContractsConfig {
- current_schedule: ContractsSchedule {
- enable_println,
- ..Default::default()
- },
+ },
+ },
+ parachain_info: nft_runtime::ParachainInfoConfig { parachain_id: id },
+ pallet_aura: nft_runtime::AuraConfig {
+ authorities: initial_authorities,
},
+ cumulus_pallet_aura_ext: Default::default(),
pallet_evm: EVMConfig {
accounts: BTreeMap::new(),
},
pallet_ethereum: EthereumConfig {},
- }
+ }
}
node/src/cli.rsdiffbeforeafterboth--- a/node/src/cli.rs
+++ b/node/src/cli.rs
@@ -1,19 +1,20 @@
+use crate::chain_spec;
+use cumulus_client_cli;
+use sc_cli;
+use std::path::PathBuf;
use structopt::StructOpt;
-use sc_cli::RunCmd;
+/// Sub-commands supported by the collator.
#[derive(Debug, StructOpt)]
-pub struct Cli {
- #[structopt(subcommand)]
- pub subcommand: Option<Subcommand>,
+pub enum Subcommand {
+ /// Export the genesis state of the parachain.
+ #[structopt(name = "export-genesis-state")]
+ ExportGenesisState(ExportGenesisStateCommand),
- #[structopt(flatten)]
- pub run: RunCmd,
-}
+ /// Export the genesis wasm of the parachain.
+ #[structopt(name = "export-genesis-wasm")]
+ ExportGenesisWasm(ExportGenesisWasmCommand),
-#[derive(Debug, StructOpt)]
-pub enum Subcommand {
- /// Key management cli utilities
- Key(sc_cli::KeySubcommand),
/// Build a chain specification.
BuildSpec(sc_cli::BuildSpecCmd),
@@ -30,7 +31,7 @@
ImportBlocks(sc_cli::ImportBlocksCmd),
/// Remove the whole chain.
- PurgeChain(sc_cli::PurgeChainCmd),
+ PurgeChain(cumulus_client_cli::PurgeChainCmd),
/// Revert the chain to a previous state.
Revert(sc_cli::RevertCmd),
@@ -39,3 +40,91 @@
#[structopt(name = "benchmark", about = "Benchmark runtime pallets.")]
Benchmark(frame_benchmarking_cli::BenchmarkCmd),
}
+
+/// Command for exporting the genesis state of the parachain
+#[derive(Debug, StructOpt)]
+pub struct ExportGenesisStateCommand {
+ /// Output file name or stdout if unspecified.
+ #[structopt(parse(from_os_str))]
+ pub output: Option<PathBuf>,
+
+ /// Id of the parachain this state is for.
+ ///
+ /// Default: 100
+ #[structopt(long, conflicts_with = "chain")]
+ pub parachain_id: Option<u32>,
+
+ /// Write output in binary. Default is to write in hex.
+ #[structopt(short, long)]
+ pub raw: bool,
+
+ /// The name of the chain for that the genesis state should be exported.
+ #[structopt(long, conflicts_with = "parachain-id")]
+ pub chain: Option<String>,
+}
+
+/// Command for exporting the genesis wasm file.
+#[derive(Debug, StructOpt)]
+pub struct ExportGenesisWasmCommand {
+ /// Output file name or stdout if unspecified.
+ #[structopt(parse(from_os_str))]
+ pub output: Option<PathBuf>,
+
+ /// Write output in binary. Default is to write in hex.
+ #[structopt(short, long)]
+ pub raw: bool,
+
+ /// The name of the chain for that the genesis wasm file should be exported.
+ #[structopt(long)]
+ pub chain: Option<String>,
+}
+
+#[derive(Debug, StructOpt)]
+#[structopt(settings = &[
+ structopt::clap::AppSettings::GlobalVersion,
+ structopt::clap::AppSettings::ArgsNegateSubcommands,
+ structopt::clap::AppSettings::SubcommandsNegateReqs,
+])]
+pub struct Cli {
+ #[structopt(subcommand)]
+ pub subcommand: Option<Subcommand>,
+
+ #[structopt(flatten)]
+ pub run: cumulus_client_cli::RunCmd,
+
+ /// Relaychain arguments
+ #[structopt(raw = true)]
+ pub relaychain_args: Vec<String>,
+}
+
+#[derive(Debug)]
+pub struct RelayChainCli {
+ /// The actual relay chain cli object.
+ pub base: polkadot_cli::RunCmd,
+
+ /// Optional chain id that should be passed to the relay chain.
+ pub chain_id: Option<String>,
+
+ /// The base path that should be used by the relay chain.
+ pub base_path: Option<PathBuf>,
+}
+
+impl RelayChainCli {
+ /// Parse the relay chain CLI parameters using the para chain `Configuration`.
+ pub fn new<'a>(
+ para_config: &sc_service::Configuration,
+ relay_chain_args: impl Iterator<Item = &'a String>,
+ ) -> Self {
+ let extension = chain_spec::Extensions::try_get(&*para_config.chain_spec);
+ let chain_id = extension.map(|e| e.relay_chain.clone());
+ let base_path = para_config
+ .base_path
+ .as_ref()
+ .map(|x| x.path().join("polkadot"));
+ Self {
+ base_path,
+ chain_id,
+ base: polkadot_cli::RunCmd::from_iter(relay_chain_args),
+ }
+ }
+}
node/src/command.rsdiffbeforeafterboth--- a/node/src/command.rs
+++ b/node/src/command.rs
@@ -15,15 +15,44 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-use crate::{chain_spec, service};
-use crate::cli::{Cli, Subcommand};
-use sc_cli::{SubstrateCli, RuntimeVersion, Role, ChainSpec};
-use sc_service::PartialComponents;
-use nft_runtime::Block;
+use crate::{
+ chain_spec,
+ cli::{Cli, RelayChainCli, Subcommand},
+ service::{new_partial, ParachainRuntimeExecutor}
+};
+use codec::Encode;
+use cumulus_primitives_core::ParaId;
+use cumulus_client_service::genesis::generate_genesis_block;
+use log::info;
+use nft_runtime::{RuntimeApi, Block};
+use polkadot_parachain::primitives::AccountIdConversion;
+use sc_cli::{
+ ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams,
+ NetworkParams, Result, RuntimeVersion, SharedParams, SubstrateCli,
+};
+use sc_service::{
+ config::{BasePath, PrometheusConfig}
+};
+use sp_core::hexdisplay::HexDisplay;
+use sp_runtime::traits::Block as BlockT;
+use std::{io::Write, net::SocketAddr};
+
+fn load_spec(
+ id: &str,
+ para_id: ParaId,
+) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
+ Ok(match id {
+ "dev" => Box::new(chain_spec::development_config(para_id)),
+ "" | "local" => Box::new(chain_spec::local_testnet_config(para_id)),
+ path => Box::new(chain_spec::ChainSpec::from_json_file(
+ std::path::PathBuf::from(path),
+ )?),
+ })
+}
impl SubstrateCli for Cli {
fn impl_name() -> String {
- "Unique Node".into()
+ "Parachain Collator Template".into()
}
fn impl_version() -> String {
@@ -31,7 +60,13 @@
}
fn description() -> String {
- env!("CARGO_PKG_DESCRIPTION").into()
+ format!(
+ "Parachain Collator Template\n\nThe command-line arguments provided first will be \
+ passed to the parachain node, while the arguments provided after -- will be passed \
+ to the relaychain node.\n\n\
+ {} [parachain-args] -- [relaychain-args]",
+ Self::executable_name()
+ )
}
fn author() -> String {
@@ -39,21 +74,15 @@
}
fn support_url() -> String {
- "support.anonymous.an".into()
+ "https://github.com/substrate-developer-hub/substrate-parachain-template/issues/new".into()
}
fn copyright_start_year() -> i32 {
2017
}
- fn load_spec(&self, id: &str) -> Result<Box<dyn sc_service::ChainSpec>, String> {
- Ok(match id {
- "dev" => Box::new(chain_spec::development_config()?),
- "" | "local" => Box::new(chain_spec::local_testnet_config()?),
- path => Box::new(chain_spec::ChainSpec::from_json_file(
- std::path::PathBuf::from(path),
- )?),
- })
+ fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
+ load_spec(id, self.run.parachain_id.unwrap_or(200).into())
}
fn native_runtime_version(_: &Box<dyn ChainSpec>) -> &'static RuntimeVersion {
@@ -61,78 +90,359 @@
}
}
-/// Parse and run command line arguments
-pub fn run() -> sc_cli::Result<()> {
+impl SubstrateCli for RelayChainCli {
+ fn impl_name() -> String {
+ "Parachain Collator Template".into()
+ }
+
+ fn impl_version() -> String {
+ env!("SUBSTRATE_CLI_IMPL_VERSION").into()
+ }
+
+ fn description() -> String {
+ "Parachain Collator Template\n\nThe command-line arguments provided first will be \
+ passed to the parachain node, while the arguments provided after -- will be passed \
+ to the relaychain node.\n\n\
+ parachain-collator [parachain-args] -- [relaychain-args]"
+ .into()
+ }
+
+ fn author() -> String {
+ env!("CARGO_PKG_AUTHORS").into()
+ }
+
+ fn support_url() -> String {
+ "https://github.com/substrate-developer-hub/substrate-parachain-template/issues/new".into()
+ }
+
+ fn copyright_start_year() -> i32 {
+ 2017
+ }
+
+ fn load_spec(&self, id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
+ polkadot_cli::Cli::from_iter([RelayChainCli::executable_name().to_string()].iter())
+ .load_spec(id)
+ }
+
+ fn native_runtime_version(chain_spec: &Box<dyn ChainSpec>) -> &'static RuntimeVersion {
+ polkadot_cli::Cli::native_runtime_version(chain_spec)
+ }
+}
+
+fn extract_genesis_wasm(chain_spec: &Box<dyn sc_service::ChainSpec>) -> Result<Vec<u8>> {
+ let mut storage = chain_spec.build_storage()?;
+
+ storage
+ .top
+ .remove(sp_core::storage::well_known_keys::CODE)
+ .ok_or_else(|| "Could not find wasm file in genesis state!".into())
+}
+
+macro_rules! construct_async_run {
+ (|$components:ident, $cli:ident, $cmd:ident, $config:ident| $( $code:tt )* ) => {{
+ let runner = $cli.create_runner($cmd)?;
+ runner.async_run(|$config| {
+ let $components = new_partial::<
+ RuntimeApi,
+ ParachainRuntimeExecutor,
+ _
+ >(
+ &$config,
+ crate::service::parachain_build_import_queue,
+ )?;
+ let task_manager = $components.task_manager;
+ { $( $code )* }.map(|v| (v, task_manager))
+ })
+ }}
+}
+
+/// Parse command line arguments into service configuration.
+pub fn run() -> Result<()> {
let cli = Cli::from_args();
match &cli.subcommand {
- Some(Subcommand::Key(cmd)) => cmd.run(&cli),
Some(Subcommand::BuildSpec(cmd)) => {
let runner = cli.create_runner(cmd)?;
runner.sync_run(|config| cmd.run(config.chain_spec, config.network))
- },
+ }
Some(Subcommand::CheckBlock(cmd)) => {
- let runner = cli.create_runner(cmd)?;
- runner.async_run(|config| {
- let PartialComponents { client, task_manager, import_queue, ..}
- = service::new_partial(&config, &cli)?;
- Ok((cmd.run(client, import_queue), task_manager))
+ construct_async_run!(|components, cli, cmd, config| {
+ Ok(cmd.run(components.client, components.import_queue))
})
- },
+ }
Some(Subcommand::ExportBlocks(cmd)) => {
- let runner = cli.create_runner(cmd)?;
- runner.async_run(|config| {
- let PartialComponents { client, task_manager, ..}
- = service::new_partial(&config, &cli)?;
- Ok((cmd.run(client, config.database), task_manager))
+ construct_async_run!(|components, cli, cmd, config| {
+ Ok(cmd.run(components.client, config.database))
})
- },
+ }
Some(Subcommand::ExportState(cmd)) => {
- let runner = cli.create_runner(cmd)?;
- runner.async_run(|config| {
- let PartialComponents { client, task_manager, ..}
- = service::new_partial(&config, &cli)?;
- Ok((cmd.run(client, config.chain_spec), task_manager))
+ construct_async_run!(|components, cli, cmd, config| {
+ Ok(cmd.run(components.client, config.chain_spec))
})
- },
+ }
Some(Subcommand::ImportBlocks(cmd)) => {
- let runner = cli.create_runner(cmd)?;
- runner.async_run(|config| {
- let PartialComponents { client, task_manager, import_queue, ..}
- = service::new_partial(&config, &cli)?;
- Ok((cmd.run(client, import_queue), task_manager))
+ construct_async_run!(|components, cli, cmd, config| {
+ Ok(cmd.run(components.client, components.import_queue))
})
- },
+ }
Some(Subcommand::PurgeChain(cmd)) => {
- let runner = cli.create_runner(cmd)?;
- runner.sync_run(|config| cmd.run(config.database))
- },
- Some(Subcommand::Revert(cmd)) => {
let runner = cli.create_runner(cmd)?;
- runner.async_run(|config| {
- let PartialComponents { client, task_manager, backend, ..}
- = service::new_partial(&config, &cli)?;
- Ok((cmd.run(client, backend), task_manager))
+
+ runner.sync_run(|config| {
+ let polkadot_cli = RelayChainCli::new(
+ &config,
+ [RelayChainCli::executable_name().to_string()]
+ .iter()
+ .chain(cli.relaychain_args.iter()),
+ );
+
+ let polkadot_config = SubstrateCli::create_configuration(
+ &polkadot_cli,
+ &polkadot_cli,
+ config.task_executor.clone(),
+ )
+ .map_err(|err| format!("Relay chain argument error: {}", err))?;
+
+ cmd.run(config, polkadot_config)
})
+ }
+ Some(Subcommand::Revert(cmd)) => construct_async_run!(|components, cli, cmd, config| {
+ Ok(cmd.run(components.client, components.backend))
+ }),
+ Some(Subcommand::ExportGenesisState(params)) => {
+ let mut builder = sc_cli::LoggerBuilder::new("");
+ builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
+ let _ = builder.init();
+
+ let block: Block = generate_genesis_block(&load_spec(
+ ¶ms.chain.clone().unwrap_or_default(),
+ params.parachain_id.unwrap_or(200).into(),
+ )?)?;
+ let raw_header = block.header().encode();
+ let output_buf = if params.raw {
+ raw_header
+ } else {
+ format!("0x{:?}", HexDisplay::from(&block.header().encode())).into_bytes()
+ };
+
+ if let Some(output) = ¶ms.output {
+ std::fs::write(output, output_buf)?;
+ } else {
+ std::io::stdout().write_all(&output_buf)?;
+ }
+
+ Ok(())
+ }
+ Some(Subcommand::ExportGenesisWasm(params)) => {
+ let mut builder = sc_cli::LoggerBuilder::new("");
+ builder.with_profiling(sc_tracing::TracingReceiver::Log, "");
+ let _ = builder.init();
+
+ let raw_wasm_blob =
+ extract_genesis_wasm(&cli.load_spec(¶ms.chain.clone().unwrap_or_default())?)?;
+ let output_buf = if params.raw {
+ raw_wasm_blob
+ } else {
+ format!("0x{:?}", HexDisplay::from(&raw_wasm_blob)).into_bytes()
+ };
+
+ if let Some(output) = ¶ms.output {
+ std::fs::write(output, output_buf)?;
+ } else {
+ std::io::stdout().write_all(&output_buf)?;
+ }
+
+ Ok(())
},
Some(Subcommand::Benchmark(cmd)) => {
if cfg!(feature = "runtime-benchmarks") {
let runner = cli.create_runner(cmd)?;
- runner.sync_run(|config| cmd.run::<Block, service::Executor>(config))
+ runner.sync_run(|config| cmd.run::<Block, ParachainRuntimeExecutor>(config))
} else {
Err("Benchmarking wasn't enabled when building the node. \
You can enable it with `--features runtime-benchmarks`.".into())
}
},
None => {
- let runner = cli.create_runner(&cli.run)?;
+ let runner = cli.create_runner(&cli.run.normalize())?;
+
runner.run_node_until_exit(|config| async move {
- match config.role {
- Role::Light => service::new_light(config),
- _ => service::new_full(config, &cli),
- }.map_err(sc_cli::Error::Service)
+ // TODO
+ let key = sp_core::Pair::generate().0;
+
+ let para_id =
+ chain_spec::Extensions::try_get(&*config.chain_spec).map(|e| e.para_id);
+
+ let polkadot_cli = RelayChainCli::new(
+ &config,
+ [RelayChainCli::executable_name().to_string()]
+ .iter()
+ .chain(cli.relaychain_args.iter()),
+ );
+
+ let id = ParaId::from(cli.run.parachain_id.or(para_id).unwrap_or(200));
+
+ let parachain_account =
+ AccountIdConversion::<polkadot_primitives::v0::AccountId>::into_account(&id);
+
+ let block: Block =
+ generate_genesis_block(&config.chain_spec).map_err(|e| format!("{:?}", e))?;
+ let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode()));
+
+ let task_executor = config.task_executor.clone();
+ let polkadot_config = SubstrateCli::create_configuration(
+ &polkadot_cli,
+ &polkadot_cli,
+ task_executor,
+ )
+ .map_err(|err| format!("Relay chain argument error: {}", err))?;
+
+ info!("Parachain id: {:?}", id);
+ info!("Parachain Account: {}", parachain_account);
+ info!("Parachain genesis state: {}", genesis_state);
+ info!(
+ "Is collating: {}",
+ if config.role.is_authority() {
+ "yes"
+ } else {
+ "no"
+ }
+ );
+
+ crate::service::start_node(config, key, polkadot_config, id)
+ .await
+ .map(|r| r.0)
+ .map_err(Into::into)
})
}
}
}
+
+impl DefaultConfigurationValues for RelayChainCli {
+ fn p2p_listen_port() -> u16 {
+ 30334
+ }
+
+ fn rpc_ws_listen_port() -> u16 {
+ 9945
+ }
+
+ fn rpc_http_listen_port() -> u16 {
+ 9934
+ }
+
+ fn prometheus_listen_port() -> u16 {
+ 9616
+ }
+}
+
+impl CliConfiguration<Self> for RelayChainCli {
+ fn shared_params(&self) -> &SharedParams {
+ self.base.base.shared_params()
+ }
+
+ fn import_params(&self) -> Option<&ImportParams> {
+ self.base.base.import_params()
+ }
+
+ fn network_params(&self) -> Option<&NetworkParams> {
+ self.base.base.network_params()
+ }
+
+ fn keystore_params(&self) -> Option<&KeystoreParams> {
+ self.base.base.keystore_params()
+ }
+
+ fn base_path(&self) -> Result<Option<BasePath>> {
+ Ok(self
+ .shared_params()
+ .base_path()
+ .or_else(|| self.base_path.clone().map(Into::into)))
+ }
+
+ fn rpc_http(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
+ self.base.base.rpc_http(default_listen_port)
+ }
+
+ fn rpc_ipc(&self) -> Result<Option<String>> {
+ self.base.base.rpc_ipc()
+ }
+
+ fn rpc_ws(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
+ self.base.base.rpc_ws(default_listen_port)
+ }
+
+ fn prometheus_config(&self, default_listen_port: u16) -> Result<Option<PrometheusConfig>> {
+ self.base.base.prometheus_config(default_listen_port)
+ }
+
+ fn init<C: SubstrateCli>(&self) -> Result<()> {
+ unreachable!("PolkadotCli is never initialized; qed");
+ }
+
+ fn chain_id(&self, is_dev: bool) -> Result<String> {
+ let chain_id = self.base.base.chain_id(is_dev)?;
+
+ Ok(if chain_id.is_empty() {
+ self.chain_id.clone().unwrap_or_default()
+ } else {
+ chain_id
+ })
+ }
+
+ fn role(&self, is_dev: bool) -> Result<sc_service::Role> {
+ self.base.base.role(is_dev)
+ }
+
+ fn transaction_pool(&self) -> Result<sc_service::config::TransactionPoolOptions> {
+ self.base.base.transaction_pool()
+ }
+
+ fn state_cache_child_ratio(&self) -> Result<Option<usize>> {
+ self.base.base.state_cache_child_ratio()
+ }
+
+ fn rpc_methods(&self) -> Result<sc_service::config::RpcMethods> {
+ self.base.base.rpc_methods()
+ }
+
+ fn rpc_ws_max_connections(&self) -> Result<Option<usize>> {
+ self.base.base.rpc_ws_max_connections()
+ }
+
+ fn rpc_cors(&self, is_dev: bool) -> Result<Option<Vec<String>>> {
+ self.base.base.rpc_cors(is_dev)
+ }
+
+ fn telemetry_external_transport(&self) -> Result<Option<sc_service::config::ExtTransport>> {
+ self.base.base.telemetry_external_transport()
+ }
+
+ fn default_heap_pages(&self) -> Result<Option<u64>> {
+ self.base.base.default_heap_pages()
+ }
+
+ fn force_authoring(&self) -> Result<bool> {
+ self.base.base.force_authoring()
+ }
+
+ fn disable_grandpa(&self) -> Result<bool> {
+ self.base.base.disable_grandpa()
+ }
+
+ fn max_runtime_instances(&self) -> Result<Option<usize>> {
+ self.base.base.max_runtime_instances()
+ }
+
+ fn announce_block(&self) -> Result<bool> {
+ self.base.base.announce_block()
+ }
+
+ fn telemetry_endpoints(
+ &self,
+ chain_spec: &Box<dyn ChainSpec>,
+ ) -> Result<Option<sc_telemetry::TelemetryEndpoints>> {
+ self.base.base.telemetry_endpoints(chain_spec)
+ }
+}
\ No newline at end of file
node/src/lib.rsdiffbeforeafterboth--- /dev/null
+++ b/node/src/lib.rs
@@ -0,0 +1,2 @@
+pub mod chain_spec;
+pub mod service;
node/src/main.rsdiffbeforeafterboth--- a/node/src/main.rs
+++ b/node/src/main.rs
@@ -3,15 +3,11 @@
// file 'LICENSE', which is part of this source code package.
//
-//! Substrate Node Template CLI library.
-#![warn(missing_docs)]
-
mod chain_spec;
#[macro_use]
mod service;
mod cli;
mod command;
-mod rpc;
fn main() -> sc_cli::Result<()> {
command::run()
node/src/rpc.rsdiffbeforeafterboth--- a/node/src/rpc.rs
+++ /dev/null
@@ -1,249 +0,0 @@
-//! A collection of node-specific RPC methods.
-//! Substrate provides the `sc-rpc` crate, which defines the core RPC layer
-//! used by Substrate nodes. This file extends those RPC definitions with
-//! capabilities that are specific to this project's runtime configuration.
-
-use std::sync::Arc;
-use core::marker::PhantomData;
-
-use std::collections::BTreeMap;
-use fc_rpc::RuntimeApiStorageOverride;
-use fc_rpc::OverrideHandle;
-use fc_rpc_core::types::{PendingTransactions, FilterPool};
-use nft_runtime::{Hash, AccountId, Index, opaque::Block, BlockNumber, Balance, NftApi};
-use sp_api::ProvideRuntimeApi;
-use sp_blockchain::{Error as BlockChainError, HeaderMetadata, HeaderBackend};
-use sc_client_api::{
- backend::{StorageProvider, Backend, StateBackend, AuxStore},
- client::BlockchainEvents
-};
-use sc_rpc::SubscriptionTaskExecutor;
-use sp_runtime::traits::BlakeTwo256;
-use sp_block_builder::BlockBuilder;
-use sc_rpc_api::DenyUnsafe;
-use sp_transaction_pool::TransactionPool;
-use sc_network::NetworkService;
-use jsonrpc_pubsub::manager::SubscriptionManager;
-use pallet_ethereum::EthereumStorageSchema;
-use fc_rpc::{StorageOverride, SchemaV1Override};
-
-/// Light client extra dependencies.
-pub struct LightDeps<C, F, P> {
- /// The client instance to use.
- pub client: Arc<C>,
- /// Transaction pool instance.
- pub pool: Arc<P>,
- /// Remote access to the blockchain (async).
- pub remote_blockchain: Arc<dyn sc_client_api::light::RemoteBlockchain<Block>>,
- /// Fetcher instance.
- pub fetcher: Arc<F>,
-}
-
-/// Full client dependencies.
-pub struct FullDeps<C, P> {
- /// The client instance to use.
- pub client: Arc<C>,
- /// Transaction pool instance.
- pub pool: Arc<P>,
- /// Whether to deny unsafe calls
- pub deny_unsafe: DenyUnsafe,
- /// The Node authority flag
- pub is_authority: bool,
- /// Whether to enable dev signer
- pub enable_dev_signer: bool,
- /// Network service
- pub network: Arc<NetworkService<Block, Hash>>,
- /// Ethereum pending transactions.
- pub pending_transactions: PendingTransactions,
- /// EthFilterApi pool.
- pub filter_pool: Option<FilterPool>,
- /// Backend.
- pub backend: Arc<fc_db::Backend<Block>>,
- /// Maximum number of logs in a query.
- pub max_past_logs: u32,
-}
-
-struct AccountCodes<C, B> {
- client: Arc<C>,
- _marker: PhantomData<B>,
-}
-
-impl<C, Block> AccountCodes<C, Block>
-where
- Block: sp_api::BlockT,
- C: ProvideRuntimeApi<Block>,
-{
- fn new(client: Arc<C>) -> Self {
- Self {
- client,
- _marker: PhantomData,
- }
- }
-}
-
-impl<C, Block> fc_rpc::AccountCodeProvider<Block> for AccountCodes<C, Block>
-where
- Block: sp_api::BlockT,
- C: ProvideRuntimeApi<Block>,
- C::Api: pallet_nft::NftApi<Block>,
-{
- fn code(&self, block: &sp_api::BlockId<Block>, account: sp_core::H160) -> Option<Vec<u8>> {
- self.client.runtime_api().eth_contract_code(block, account).ok().flatten()
- }
-}
-
-/// Instantiate all full RPC extensions.
-pub fn create_full<C, P, BE>(
- deps: FullDeps<C, P>,
- subscription_task_executor: SubscriptionTaskExecutor
-) -> jsonrpc_core::IoHandler<sc_rpc::Metadata> where
- BE: Backend<Block> + 'static,
- BE::State: StateBackend<BlakeTwo256>,
- C: ProvideRuntimeApi<Block> + StorageProvider<Block, BE> + AuxStore,
- C: BlockchainEvents<Block>,
- C: HeaderBackend<Block> + HeaderMetadata<Block, Error=BlockChainError>,
- C: Send + Sync + 'static,
- C::Api: substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>,
- C::Api: BlockBuilder<Block>,
- C::Api: pallet_contracts_rpc::ContractsRuntimeApi<Block, AccountId, Balance, BlockNumber>,
- C::Api: pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi<Block, Balance>,
- C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,
- C::Api: pallet_nft::NftApi<Block>,
- P: TransactionPool<Block=Block> + 'static,
-{
- use substrate_frame_rpc_system::{FullSystem, SystemApi};
- use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi};
- use fc_rpc::{
- EthApi, EthApiServer, EthFilterApi, EthFilterApiServer, NetApi, NetApiServer,
- EthPubSubApi, EthPubSubApiServer, Web3Api, Web3ApiServer, EthDevSigner, EthSigner,
- HexEncodedIdProvider,
- };
-
- let mut io = jsonrpc_core::IoHandler::default();
- let FullDeps {
- client,
- pool,
- deny_unsafe,
- is_authority,
- network,
- pending_transactions,
- filter_pool,
- backend,
- enable_dev_signer,
- max_past_logs,
- } = deps;
-
- io.extend_with(
- SystemApi::to_delegate(FullSystem::new(client.clone(), pool.clone(), deny_unsafe))
- );
-
- io.extend_with(
- TransactionPaymentApi::to_delegate(TransactionPayment::new(client.clone()))
- );
-
- io.extend_with(
- pallet_contracts_rpc::ContractsApi::to_delegate(pallet_contracts_rpc::Contracts::new(client.clone()))
- );
-
- let mut signers = Vec::new();
- if enable_dev_signer {
- signers.push(Box::new(EthDevSigner::new()) as Box<dyn EthSigner>);
- }
- let mut overrides_map = BTreeMap::new();
- overrides_map.insert(
- EthereumStorageSchema::V1,
- Box::new(SchemaV1Override::new_with_code_provider(
- client.clone(),
- Arc::new(AccountCodes::<C, Block>::new(client.clone()))
- )) as Box<dyn StorageOverride<_> + Send + Sync>
- );
-
- let overrides = Arc::new(OverrideHandle {
- schemas: overrides_map,
- fallback: Box::new(RuntimeApiStorageOverride::new(client.clone())),
- });
-
- io.extend_with(
- EthApiServer::to_delegate(EthApi::new(
- client.clone(),
- pool.clone(),
- nft_runtime::TransactionConverter,
- network.clone(),
- pending_transactions.clone(),
- signers,
- overrides.clone(),
- backend,
- is_authority,
- max_past_logs,
- ))
- );
-
- if let Some(filter_pool) = filter_pool {
- io.extend_with(
- EthFilterApiServer::to_delegate(EthFilterApi::new(
- client.clone(),
- filter_pool.clone(),
- 500 as usize, // max stored filters
- overrides.clone(),
- max_past_logs,
- ))
- );
- }
-
- io.extend_with(
- NetApiServer::to_delegate(NetApi::new(
- client.clone(),
- network.clone(),
- true,
- ))
- );
-
- io.extend_with(
- Web3ApiServer::to_delegate(Web3Api::new(
- client.clone(),
- ))
- );
-
- io.extend_with(
- EthPubSubApiServer::to_delegate(EthPubSubApi::new(
- pool.clone(),
- client.clone(),
- network.clone(),
- SubscriptionManager::<HexEncodedIdProvider>::with_id_provider(
- HexEncodedIdProvider::default(),
- Arc::new(subscription_task_executor)
- ),
- overrides,
- ))
- );
-
- io
-}
-
-/// Instantiate all Light RPC extensions.
-pub fn create_light<C, P, M, F>(
- deps: LightDeps<C, F, P>,
-) -> jsonrpc_core::IoHandler<M> where
- C: sp_blockchain::HeaderBackend<Block>,
- C: Send + Sync + 'static,
- F: sc_client_api::light::Fetcher<Block> + 'static,
- P: TransactionPool + 'static,
- M: jsonrpc_core::Metadata + Default,
-{
- use substrate_frame_rpc_system::{LightSystem, SystemApi};
-
- let LightDeps {
- client,
- pool,
- remote_blockchain,
- fetcher
- } = deps;
- let mut io = jsonrpc_core::IoHandler::default();
- io.extend_with(
- SystemApi::<Hash, AccountId, Index>::to_delegate(
- LightSystem::new(client, remote_blockchain, fetcher, pool)
- )
- );
-
- io
-}
node/src/service.rsdiffbeforeafterboth--- a/node/src/service.rs
+++ b/node/src/service.rs
@@ -5,106 +5,106 @@
// file 'LICENSE', which is part of this source code package.
//
-use std::{sync::{Arc, Mutex}, cell::RefCell, time::Duration, collections::{HashMap, BTreeMap}};
-use fc_rpc::EthTask;
-use fc_rpc_core::types::{FilterPool, PendingTransactions};
-use sc_client_api::{ExecutorProvider, RemoteBackend, BlockchainEvents};
-use fc_consensus::FrontierBlockImport;
-use fc_mapping_sync::MappingSyncWorker;
-use nft_runtime::{self, opaque::Block, RuntimeApi, SLOT_DURATION};
-use sc_service::{error::Error as ServiceError, Configuration, TaskManager, BasePath};
-use sp_inherents::{InherentDataProviders, ProvideInherentData, InherentIdentifier, InherentData};
+// std
+use std::sync::Arc;
+
+// Local Runtime Types
+use nft_runtime::RuntimeApi;
+
+// Cumulus Imports
+use cumulus_client_consensus_aura::{
+ build_aura_consensus, BuildAuraConsensusParams, SlotProportion,
+};
+use cumulus_client_consensus_common::ParachainConsensus;
+use cumulus_client_network::build_block_announce_validator;
+use cumulus_client_service::{
+ prepare_node_config, start_collator, start_full_node, StartCollatorParams, StartFullNodeParams,
+};
+use cumulus_primitives_core::ParaId;
+
+// Polkadot Imports
+use polkadot_primitives::v1::CollatorPair;
+
+// Substrate Imports
+use sc_client_api::ExecutorProvider;
+pub use sc_executor::NativeExecutor;
use sc_executor::native_executor_instance;
-pub use sc_executor::NativeExecutor;
-use sc_consensus_aura::{ImportQueueParams, StartAuraParams, SlotProportion};
-use sp_consensus_aura::sr25519::{AuthorityPair as AuraPair};
-use sc_finality_grandpa::SharedVoterState;
-use sp_timestamp::InherentError;
-use sc_telemetry::{Telemetry, TelemetryWorker};
-use sc_cli::SubstrateCli;
-use futures::StreamExt;
+use sc_network::NetworkService;
+use sc_service::{Configuration, PartialComponents, Role, TFullBackend, TFullClient, TaskManager};
+use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
+use sp_api::ConstructRuntimeApi;
+use sp_consensus::SlotData;
+use sp_keystore::SyncCryptoStorePtr;
+use sp_runtime::traits::BlakeTwo256;
+use substrate_prometheus_endpoint::Registry;
-use crate::cli::Cli;
+// Runtime type overrides
+type BlockNumber = u32;
+type Header = sp_runtime::generic::Header<BlockNumber, sp_runtime::traits::BlakeTwo256>;
+pub type Block = sp_runtime::generic::Block<Header, sp_runtime::OpaqueExtrinsic>;
+type Hash = sp_core::H256;
-// Our native executor instance.
+// Native executor instance.
native_executor_instance!(
- pub Executor,
+ pub ParachainRuntimeExecutor,
nft_runtime::api::dispatch,
nft_runtime::native_version,
frame_benchmarking::benchmarking::HostFunctions,
);
-
-type FullClient = sc_service::TFullClient<Block, RuntimeApi, Executor>;
-type FullBackend = sc_service::TFullBackend<Block>;
-type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>;
-pub type ConsensusResult = (
- sc_consensus_aura::AuraBlockImport<
- Block,
- FullClient,
- FrontierBlockImport<
+/// Starts a `ServiceBuilder` for a full service.
+///
+/// Use this macro if you don't actually need the full service, but just the builder in order to
+/// be able to perform chain operations.
+pub fn new_partial<RuntimeApi, Executor, BIQ>(
+ config: &Configuration,
+ build_import_queue: BIQ,
+) -> Result<
+ PartialComponents<
+ TFullClient<Block, RuntimeApi, Executor>,
+ TFullBackend<Block>,
+ (),
+ sp_consensus::DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, Executor>>,
+ sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>,
+ (Option<Telemetry>, Option<TelemetryWorkerHandle>),
+ >,
+ sc_service::Error,
+>
+where
+ RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, Executor>>
+ + Send
+ + Sync
+ + 'static,
+ RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
+ + sp_api::Metadata<Block>
+ + sp_session::SessionKeys<Block>
+ + sp_api::ApiExt<
Block,
- sc_finality_grandpa::GrandpaBlockImport<FullBackend, Block, FullClient, FullSelectChain>,
- FullClient
- >,
- AuraPair
+ StateBackend = sc_client_api::StateBackendFor<TFullBackend<Block>, Block>,
+ > + sp_offchain::OffchainWorkerApi<Block>
+ + sp_block_builder::BlockBuilder<Block>,
+ sc_client_api::StateBackendFor<TFullBackend<Block>, Block>: sp_api::StateBackend<BlakeTwo256>,
+ Executor: sc_executor::NativeExecutionDispatch + 'static,
+ BIQ: FnOnce(
+ Arc<TFullClient<Block, RuntimeApi, Executor>>,
+ &Configuration,
+ Option<TelemetryHandle>,
+ &TaskManager,
+ ) -> Result<
+ sp_consensus::DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, Executor>>,
+ sc_service::Error,
>,
- sc_finality_grandpa::LinkHalf<Block, FullClient, FullSelectChain>
-);
-
-/// Provide a mock duration starting at 0 in millisecond for timestamp inherent.
-/// Each call will increment timestamp by slot_duration making Aura think time has passed.
-pub struct MockTimestampInherentDataProvider;
-
-pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"timstap0";
-
-thread_local!(static TIMESTAMP: RefCell<u64> = RefCell::new(0));
-
-impl ProvideInherentData for MockTimestampInherentDataProvider {
- fn inherent_identifier(&self) -> &'static InherentIdentifier {
- &INHERENT_IDENTIFIER
- }
-
- fn provide_inherent_data(
- &self,
- inherent_data: &mut InherentData,
- ) -> Result<(), sp_inherents::Error> {
- TIMESTAMP.with(|x| {
- *x.borrow_mut() += SLOT_DURATION;
- inherent_data.put_data(INHERENT_IDENTIFIER, &*x.borrow())
+{
+ let telemetry = config
+ .telemetry_endpoints
+ .clone()
+ .filter(|x| !x.is_empty())
+ .map(|endpoints| -> Result<_, sc_telemetry::Error> {
+ let worker = TelemetryWorker::new(16)?;
+ let telemetry = worker.handle().new_telemetry(endpoints);
+ Ok((worker, telemetry))
})
- }
-
- fn error_to_string(&self, error: &[u8]) -> Option<String> {
- InherentError::try_from(&INHERENT_IDENTIFIER, error).map(|e| format!("{:?}", e))
- }
-}
-
-pub fn open_frontier_backend(config: &Configuration) -> Result<Arc<fc_db::Backend<Block>>, String> {
- let config_dir = config.base_path.as_ref()
- .map(|base_path| base_path.config_dir(config.chain_spec.id()))
- .unwrap_or_else(|| {
- BasePath::from_project("", "", &crate::cli::Cli::executable_name())
- .config_dir(config.chain_spec.id())
- });
- let database_dir = config_dir.join("frontier").join("db");
-
- Ok(Arc::new(fc_db::Backend::<Block>::new(&fc_db::DatabaseSettings {
- source: fc_db::DatabaseSettingsSrc::RocksDb {
- path: database_dir,
- cache_size: 0,
- }
- })?))
-}
-
-pub fn new_partial(config: &Configuration, #[allow(unused_variables)] cli: &Cli) -> Result<
- sc_service::PartialComponents<
- FullClient, FullBackend, FullSelectChain,
- sp_consensus::import_queue::BasicQueue<Block, sp_api::TransactionFor<FullClient, Block>>,
- sc_transaction_pool::FullPool<Block, FullClient>,
- (ConsensusResult, PendingTransactions, Option<FilterPool>, Arc<fc_db::Backend<Block>>, Option<Telemetry>),
->, ServiceError> {
- let inherent_data_providers = sp_inherents::InherentDataProviders::new();
+ .transpose()?;
let telemetry = config.telemetry_endpoints.clone()
.filter(|x| !x.is_empty())
@@ -122,13 +122,12 @@
)?;
let client = Arc::new(client);
- let telemetry = telemetry
- .map(|(worker, telemetry)| {
- task_manager.spawn_handle().spawn("telemetry", worker.run());
- telemetry
- });
+ let telemetry_worker_handle = telemetry.as_ref().map(|(worker, _)| worker.handle());
- let select_chain = sc_consensus::LongestChain::new(backend.clone());
+ let telemetry = telemetry.map(|(worker, telemetry)| {
+ task_manager.spawn_handle().spawn("telemetry", worker.run());
+ telemetry
+ });
let transaction_pool = sc_transaction_pool::BasicPool::new_full(
config.transaction_pool.clone(),
@@ -138,359 +137,331 @@
client.clone(),
);
- let pending_transactions: PendingTransactions
- = Some(Arc::new(Mutex::new(HashMap::new())));
-
- let filter_pool: Option<FilterPool>
- = Some(Arc::new(Mutex::new(BTreeMap::new())));
-
- let frontier_backend = open_frontier_backend(config)?;
-
- let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import(
+ let import_queue = build_import_queue(
client.clone(),
- &(client.clone() as Arc<_>),
- select_chain.clone(),
- telemetry.as_ref().map(|x| x.handle()),
+ config,
+ telemetry.as_ref().map(|telemetry| telemetry.handle()),
+ &task_manager,
)?;
- let frontier_block_import = FrontierBlockImport::new(
- grandpa_block_import.clone(),
- client.clone(),
- frontier_backend.clone(),
- );
+ let params = PartialComponents {
+ backend,
+ client,
+ import_queue,
+ keystore_container,
+ task_manager,
+ transaction_pool,
+ select_chain: (),
+ other: (telemetry, telemetry_worker_handle),
+ };
- let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(
- frontier_block_import, client.clone(),
- );
+ Ok(params)
+}
- let import_queue = sc_consensus_aura::import_queue::<AuraPair, _, _, _, _, _>(
- ImportQueueParams {
- slot_duration: sc_consensus_aura::slot_duration(&*client)?,
- block_import: aura_block_import.clone(),
- justification_import: Some(Box::new(grandpa_block_import.clone())),
- client: client.clone(),
- inherent_data_providers: inherent_data_providers.clone(),
- spawner: &task_manager.spawn_essential_handle(),
- registry: config.prometheus_registry(),
- can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
- check_for_equivocation: Default::default(),
- telemetry: telemetry.as_ref().map(|x| x.handle()),
- }
- )?;
+/// Start a node with the given parachain `Configuration` and relay chain `Configuration`.
+///
+/// This is the actual implementation that is abstract over the executor and the runtime api.
+#[sc_tracing::logging::prefix_logs_with("Parachain")]
+async fn start_node_impl<RuntimeApi, Executor, RB, BIQ, BIC>(
+ parachain_config: Configuration,
+ collator_key: CollatorPair,
+ polkadot_config: Configuration,
+ id: ParaId,
+ rpc_ext_builder: RB,
+ build_import_queue: BIQ,
+ build_consensus: BIC,
+) -> sc_service::error::Result<(TaskManager, Arc<TFullClient<Block, RuntimeApi, Executor>>)>
+where
+ RuntimeApi: ConstructRuntimeApi<Block, TFullClient<Block, RuntimeApi, Executor>>
+ + Send
+ + Sync
+ + 'static,
+ RuntimeApi::RuntimeApi: sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block>
+ + sp_api::Metadata<Block>
+ + sp_session::SessionKeys<Block>
+ + sp_api::ApiExt<
+ Block,
+ StateBackend = sc_client_api::StateBackendFor<TFullBackend<Block>, Block>,
+ > + sp_offchain::OffchainWorkerApi<Block>
+ + sp_block_builder::BlockBuilder<Block>
+ + cumulus_primitives_core::CollectCollationInfo<Block>,
+ sc_client_api::StateBackendFor<TFullBackend<Block>, Block>: sp_api::StateBackend<BlakeTwo256>,
+ Executor: sc_executor::NativeExecutionDispatch + 'static,
+ RB: Fn(
+ Arc<TFullClient<Block, RuntimeApi, Executor>>,
+ ) -> jsonrpc_core::IoHandler<sc_rpc::Metadata>
+ + Send
+ + 'static,
+ BIQ: FnOnce(
+ Arc<TFullClient<Block, RuntimeApi, Executor>>,
+ &Configuration,
+ Option<TelemetryHandle>,
+ &TaskManager,
+ ) -> Result<
+ sp_consensus::DefaultImportQueue<Block, TFullClient<Block, RuntimeApi, Executor>>,
+ sc_service::Error,
+ >,
+ BIC: FnOnce(
+ Arc<TFullClient<Block, RuntimeApi, Executor>>,
+ Option<&Registry>,
+ Option<TelemetryHandle>,
+ &TaskManager,
+ &polkadot_service::NewFull<polkadot_service::Client>,
+ Arc<sc_transaction_pool::FullPool<Block, TFullClient<Block, RuntimeApi, Executor>>>,
+ Arc<NetworkService<Block, Hash>>,
+ SyncCryptoStorePtr,
+ bool,
+ ) -> Result<Box<dyn ParachainConsensus<Block>>, sc_service::Error>,
+{
+ if matches!(parachain_config.role, Role::Light) {
+ return Err("Light client not supported!".into());
+ }
- Ok(sc_service::PartialComponents {
- client, backend, task_manager, import_queue, keystore_container,
- select_chain, transaction_pool, inherent_data_providers,
- other: (
- (aura_block_import, grandpa_link),
- pending_transactions,
- filter_pool,
- frontier_backend,
- telemetry,
- )
- })
-}
+ let parachain_config = prepare_node_config(parachain_config);
-/// Builds a new service for a full client.
-pub fn new_full(
- config: Configuration,
- cli: &Cli,
-) -> Result<TaskManager, ServiceError> {
- let enable_dev_signer = cli.run.shared_params.dev;
+ let params = new_partial::<RuntimeApi, Executor, BIQ>(¶chain_config, build_import_queue)?;
+ let (mut telemetry, telemetry_worker_handle) = params.other;
- let sc_service::PartialComponents {
- client, backend, mut task_manager, import_queue, keystore_container,
- select_chain, transaction_pool, inherent_data_providers,
- other: (consensus_result, pending_transactions, filter_pool, frontier_backend, mut telemetry),
- } = new_partial(&config, cli)?;
+ let relay_chain_full_node = cumulus_client_service::build_polkadot_full_node(
+ polkadot_config,
+ collator_key.clone(),
+ telemetry_worker_handle,
+ )
+ .map_err(|e| match e {
+ polkadot_service::Error::Sub(x) => x,
+ s => format!("{}", s).into(),
+ })?;
+
+ let client = params.client.clone();
+ let backend = params.backend.clone();
+ let block_announce_validator = build_block_announce_validator(
+ relay_chain_full_node.client.clone(),
+ id,
+ Box::new(relay_chain_full_node.network.clone()),
+ relay_chain_full_node.backend.clone(),
+ );
- let (network, network_status_sinks, system_rpc_tx, network_starter) =
+ let force_authoring = parachain_config.force_authoring;
+ let validator = parachain_config.role.is_authority();
+ let prometheus_registry = parachain_config.prometheus_registry().cloned();
+ let transaction_pool = params.transaction_pool.clone();
+ let mut task_manager = params.task_manager;
+ let import_queue = cumulus_client_service::SharedImportQueue::new(params.import_queue);
+ let (network, network_status_sinks, system_rpc_tx, start_network) =
sc_service::build_network(sc_service::BuildNetworkParams {
- config: &config,
- client: Arc::clone(&client),
- transaction_pool: Arc::clone(&transaction_pool),
+ config: ¶chain_config,
+ client: client.clone(),
+ transaction_pool: transaction_pool.clone(),
spawn_handle: task_manager.spawn_handle(),
- import_queue,
+ import_queue: import_queue.clone(),
on_demand: None,
- block_announce_validator_builder: None,
+ block_announce_validator_builder: Some(Box::new(|_| block_announce_validator)),
})?;
- if config.offchain_worker.enabled {
- sc_service::build_offchain_workers(
- &config, task_manager.spawn_handle(), Arc::clone(&client), network.clone(),
- );
- }
-
- let role = config.role.clone();
- let force_authoring = config.force_authoring;
- let backoff_authoring_blocks: Option<()> = None;
- let name = config.network.node_name.clone();
- let enable_grandpa = !config.disable_grandpa;
- let prometheus_registry = config.prometheus_registry().cloned();
- let is_authority = role.is_authority();
- let subscription_task_executor = sc_rpc::SubscriptionTaskExecutor::new(task_manager.spawn_handle());
-
- let rpc_extensions_builder = {
- let client = Arc::clone(&client);
- let pool = Arc::clone(&transaction_pool);
- let network = network.clone();
- let pending = pending_transactions.clone();
- let filter_pool = filter_pool.clone();
- let frontier_backend = frontier_backend.clone();
- // TODO: Tune
- let max_past_logs = 10000;
-
- Box::new(move |deny_unsafe, _| {
- let deps = crate::rpc::FullDeps {
- client: Arc::clone(&client),
- pool: Arc::clone(&pool),
- deny_unsafe,
- is_authority,
- enable_dev_signer,
- network: network.clone(),
- pending_transactions: pending.clone(),
- filter_pool: filter_pool.clone(),
- backend: frontier_backend.clone(),
- max_past_logs,
- };
- crate::rpc::create_full(
- deps,
- subscription_task_executor.clone()
- )
- })
- };
-
- task_manager.spawn_essential_handle().spawn(
- "frontier-mapping-sync-worker",
- MappingSyncWorker::new(
- client.import_notification_stream(),
- Duration::new(6, 0),
- Arc::clone(&client),
- Arc::clone(&backend),
- frontier_backend.clone(),
- ).for_each(|()| futures::future::ready(()))
- );
+ let rpc_client = client.clone();
+ let rpc_extensions_builder = Box::new(move |_, _| rpc_ext_builder(rpc_client.clone()));
- let _rpc_handlers = sc_service::spawn_tasks(sc_service::SpawnTasksParams {
- network: network.clone(),
- client: Arc::clone(&client),
- keystore: keystore_container.sync_keystore(),
- task_manager: &mut task_manager,
- transaction_pool: Arc::clone(&transaction_pool),
- rpc_extensions_builder: rpc_extensions_builder,
+ sc_service::spawn_tasks(sc_service::SpawnTasksParams {
on_demand: None,
remote_blockchain: None,
- backend, network_status_sinks, system_rpc_tx, config, telemetry: telemetry.as_mut(),
+ rpc_extensions_builder,
+ client: client.clone(),
+ transaction_pool: transaction_pool.clone(),
+ task_manager: &mut task_manager,
+ config: parachain_config,
+ keystore: params.keystore_container.sync_keystore(),
+ backend: backend.clone(),
+ network: network.clone(),
+ network_status_sinks,
+ system_rpc_tx,
+ telemetry: telemetry.as_mut(),
})?;
- // Spawn Frontier EthFilterApi maintenance task.
- if let Some(filter_pool) = filter_pool {
- // Each filter is allowed to stay in the pool for 100 blocks.
- const FILTER_RETAIN_THRESHOLD: u64 = 100;
- task_manager.spawn_essential_handle().spawn(
- "frontier-filter-pool",
- EthTask::filter_pool_task(
- Arc::clone(&client),
- filter_pool,
- FILTER_RETAIN_THRESHOLD,
- )
- );
- }
-
- // Spawn Frontier pending transactions maintenance task (as essential, otherwise we leak).
- if let Some(pending_transactions) = pending_transactions {
- const TRANSACTION_RETAIN_THRESHOLD: u64 = 5;
- task_manager.spawn_essential_handle().spawn(
- "frontier-pending-transactions",
- EthTask::pending_transaction_task(
- Arc::clone(&client),
- pending_transactions,
- TRANSACTION_RETAIN_THRESHOLD,
- )
- );
- }
+ let announce_block = {
+ let network = network.clone();
+ Arc::new(move |hash, data| network.announce_block(hash, data))
+ };
- let (aura_block_import, grandpa_link) = consensus_result;
-
- if role.is_authority() {
- let proposer = sc_basic_authorship::ProposerFactory::new(
- task_manager.spawn_handle(),
- Arc::clone(&client),
- Arc::clone(&transaction_pool),
+ if validator {
+ let parachain_consensus = build_consensus(
+ client.clone(),
prometheus_registry.as_ref(),
- telemetry.as_ref().map(|x| x.handle()),
- );
-
- let can_author_with =
- sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone());
- let aura = sc_consensus_aura::start_aura::<AuraPair, _, _, _, _, _, _, _, _, _>(
- StartAuraParams {
- slot_duration: sc_consensus_aura::slot_duration(&*client)?,
- client: Arc::clone(&client),
- select_chain,
- block_import: aura_block_import,
- proposer_factory: proposer,
- sync_oracle: network.clone(),
- inherent_data_providers: inherent_data_providers.clone(),
- force_authoring,
- backoff_authoring_blocks,
- keystore: keystore_container.sync_keystore(),
- can_author_with,
- block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32),
- telemetry: telemetry.as_ref().map(|x| x.handle()),
- }
+ telemetry.as_ref().map(|t| t.handle()),
+ &task_manager,
+ &relay_chain_full_node,
+ transaction_pool,
+ network,
+ params.keystore_container.sync_keystore(),
+ force_authoring,
)?;
- // the AURA authoring task is considered essential, i.e. if it
- // fails we take down the service with it.
- task_manager.spawn_essential_handle().spawn_blocking("aura", aura);
+ let spawner = task_manager.spawn_handle();
- // if the node isn't actively participating in consensus then it doesn't
- // need a keystore, regardless of which protocol we use below.
- let keystore = if role.is_authority() {
- Some(keystore_container.sync_keystore())
- } else {
- None
+ let params = StartCollatorParams {
+ para_id: id,
+ block_status: client.clone(),
+ announce_block,
+ client: client.clone(),
+ task_manager: &mut task_manager,
+ collator_key,
+ relay_chain_full_node,
+ spawner,
+ parachain_consensus,
+ import_queue,
};
- let grandpa_config = sc_finality_grandpa::Config {
- // FIXME #1578 make this available through chainspec
- gossip_duration: Duration::from_millis(333),
- justification_period: 512,
- name: Some(name),
- observer_enabled: false,
- keystore,
- is_authority: role.is_authority(),
- telemetry: telemetry.as_ref().map(|x| x.handle()),
+ start_collator(params).await?;
+ } else {
+ let params = StartFullNodeParams {
+ client: client.clone(),
+ announce_block,
+ task_manager: &mut task_manager,
+ para_id: id,
+ relay_chain_full_node,
};
- if enable_grandpa {
- // start the full GRANDPA voter
- // NOTE: non-authorities could run the GRANDPA observer protocol, but at
- // this point the full voter should provide better guarantees of block
- // and vote data availability than the observer. The observer has not
- // been tested extensively yet and having most nodes in a network run it
- // could lead to finality stalls.
- let grandpa_config = sc_finality_grandpa::GrandpaParams {
- config: grandpa_config,
- link: grandpa_link,
- network,
- telemetry: telemetry.as_ref().map(|x| x.handle()),
- voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),
- prometheus_registry,
- shared_voter_state: SharedVoterState::empty(),
- };
+ start_full_node(params)?;
+ }
- // the GRANDPA voter task is considered infallible, i.e.
- // if it fails we take down the service with it.
- task_manager.spawn_essential_handle().spawn_blocking(
- "grandpa-voter",
- sc_finality_grandpa::run_grandpa_voter(grandpa_config)?
- );
- }
- }
+ start_network.start_network();
- network_starter.start_network();
- Ok(task_manager)
+ Ok((task_manager, client))
}
-/// Builds a new service for a light client.
-pub fn new_light(config: Configuration) -> Result<TaskManager, ServiceError> {
- let telemetry = config.telemetry_endpoints.clone()
- .filter(|x| !x.is_empty())
- .map(|endpoints| -> Result<_, sc_telemetry::Error> {
- let worker = TelemetryWorker::new(16)?;
- let telemetry = worker.handle().new_telemetry(endpoints);
- Ok((worker, telemetry))
- })
- .transpose()?;
- let (client, backend, keystore_container, mut task_manager, on_demand) =
- sc_service::new_light_parts::<Block, RuntimeApi, Executor>(
- &config,
- telemetry.as_ref().map(|(_, telemetry)| telemetry.handle()),
- )?;
-
- let mut telemetry = telemetry
- .map(|(worker, telemetry)| {
- task_manager.spawn_handle().spawn("telemetry", worker.run());
- telemetry
- });
-
- let select_chain = sc_consensus::LongestChain::new(backend.clone());
+/// Build the import queue for the the parachain runtime.
+pub fn parachain_build_import_queue(
+ client: Arc<TFullClient<Block, RuntimeApi, ParachainRuntimeExecutor>>,
+ config: &Configuration,
+ telemetry: Option<TelemetryHandle>,
+ task_manager: &TaskManager,
+) -> Result<
+ sp_consensus::DefaultImportQueue<
+ Block,
+ TFullClient<Block, RuntimeApi, ParachainRuntimeExecutor>,
+ >,
+ sc_service::Error,
+> {
+ let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
- let transaction_pool = Arc::new(sc_transaction_pool::BasicPool::new_light(
- config.transaction_pool.clone(),
- config.prometheus_registry(),
- task_manager.spawn_handle(),
- client.clone(),
- on_demand.clone(),
- ));
- let (grandpa_block_import, _) = sc_finality_grandpa::block_import(
- client.clone(),
- &(client.clone() as Arc<_>),
- select_chain.clone(),
- telemetry.as_ref().map(|x| x.handle()),
- )?;
-
- let import_queue = sc_consensus_aura::import_queue::<AuraPair, _, _, _, _, _>(
- ImportQueueParams {
- slot_duration: sc_consensus_aura::slot_duration(&*client)?,
- block_import: grandpa_block_import.clone(),
- justification_import: Some(Box::new(grandpa_block_import)),
- client: client.clone(),
- inherent_data_providers: InherentDataProviders::new(),
- spawner: &task_manager.spawn_essential_handle(),
- registry: config.prometheus_registry(),
- can_author_with: sp_consensus::NeverCanAuthor,
- check_for_equivocation: Default::default(),
- telemetry: telemetry.as_ref().map(|x| x.handle()),
- }
- )?;
-
- let light_deps = crate::rpc::LightDeps {
- remote_blockchain: backend.remote_blockchain(),
- fetcher: on_demand.clone(),
+ cumulus_client_consensus_aura::import_queue::<
+ sp_consensus_aura::sr25519::AuthorityPair,
+ _,
+ _,
+ _,
+ _,
+ _,
+ _,
+ >(cumulus_client_consensus_aura::ImportQueueParams {
+ block_import: client.clone(),
client: client.clone(),
- pool: transaction_pool.clone(),
- };
+ create_inherent_data_providers: move |_, _| async move {
+ let time = sp_timestamp::InherentDataProvider::from_system_time();
- let rpc_extensions = crate::rpc::create_light(light_deps);
+ let slot =
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ *time,
+ slot_duration.slot_duration(),
+ );
- let (network, network_status_sinks, system_rpc_tx, network_starter) =
- sc_service::build_network(sc_service::BuildNetworkParams {
- config: &config,
- client: client.clone(),
- transaction_pool: transaction_pool.clone(),
- spawn_handle: task_manager.spawn_handle(),
- import_queue,
- on_demand: Some(on_demand.clone()),
- block_announce_validator_builder: None,
- })?;
+ Ok((time, slot))
+ },
+ registry: config.prometheus_registry().clone(),
+ can_author_with: sp_consensus::CanAuthorWithNativeVersion::new(client.executor().clone()),
+ spawner: &task_manager.spawn_essential_handle(),
+ telemetry,
+ })
+ .map_err(Into::into)
+}
- if config.offchain_worker.enabled {
- sc_service::build_offchain_workers(
- &config, task_manager.spawn_handle(), client.clone(), network.clone(),
- );
- }
+/// Start a normal parachain node.
+pub async fn start_node(
+ parachain_config: Configuration,
+ collator_key: CollatorPair,
+ polkadot_config: Configuration,
+ id: ParaId,
+) -> sc_service::error::Result<(TaskManager, Arc<TFullClient<Block, RuntimeApi, ParachainRuntimeExecutor>>)> {
+ start_node_impl::<RuntimeApi, ParachainRuntimeExecutor, _, _, _>(
+ parachain_config,
+ collator_key,
+ polkadot_config,
+ id,
+ |_| Default::default(),
+ parachain_build_import_queue,
+ |client,
+ prometheus_registry,
+ telemetry,
+ task_manager,
+ relay_chain_node,
+ transaction_pool,
+ sync_oracle,
+ keystore,
+ force_authoring| {
+ let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?;
+
+ let proposer_factory = sc_basic_authorship::ProposerFactory::with_proof_recording(
+ task_manager.spawn_handle(),
+ client.clone(),
+ transaction_pool,
+ prometheus_registry.clone(),
+ telemetry.clone(),
+ );
- sc_service::spawn_tasks(sc_service::SpawnTasksParams {
- remote_blockchain: Some(backend.remote_blockchain()),
- transaction_pool,
- task_manager: &mut task_manager,
- on_demand: Some(on_demand),
- rpc_extensions_builder: Box::new(sc_service::NoopRpcExtensionBuilder(rpc_extensions)),
- config,
- client,
- keystore: keystore_container.sync_keystore(),
- backend,
- network,
- network_status_sinks,
- system_rpc_tx,
- telemetry: telemetry.as_mut(),
- })?;
+ let relay_chain_backend = relay_chain_node.backend.clone();
+ let relay_chain_client = relay_chain_node.client.clone();
+ Ok(build_aura_consensus::<
+ sp_consensus_aura::sr25519::AuthorityPair,
+ _,
+ _,
+ _,
+ _,
+ _,
+ _,
+ _,
+ _,
+ _,
+ >(BuildAuraConsensusParams {
+ proposer_factory,
+ create_inherent_data_providers: move |_, (relay_parent, validation_data)| {
+ let parachain_inherent =
+ cumulus_primitives_parachain_inherent::ParachainInherentData::create_at_with_client(
+ relay_parent,
+ &relay_chain_client,
+ &*relay_chain_backend,
+ &validation_data,
+ id,
+ );
+ async move {
+ let time = sp_timestamp::InherentDataProvider::from_system_time();
- network_starter.start_network();
+ let slot =
+ sp_consensus_aura::inherents::InherentDataProvider::from_timestamp_and_duration(
+ *time,
+ slot_duration.slot_duration(),
+ );
- Ok(task_manager)
-}
+ let parachain_inherent = parachain_inherent.ok_or_else(|| {
+ Box::<dyn std::error::Error + Send + Sync>::from(
+ "Failed to create parachain inherent",
+ )
+ })?;
+ Ok((time, slot, parachain_inherent))
+ }
+ },
+ block_import: client.clone(),
+ relay_chain_client: relay_chain_node.client.clone(),
+ relay_chain_backend: relay_chain_node.backend.clone(),
+ para_client: client.clone(),
+ backoff_authoring_blocks: Option::<()>::None,
+ sync_oracle,
+ keystore,
+ force_authoring,
+ slot_duration,
+ // We got around 500ms for proposing
+ block_proposal_slot_portion: SlotProportion::new(1f32 / 24f32),
+ telemetry,
+ }))
+ },
+ )
+ .await
+}
\ No newline at end of file
pallets/inflation/Cargo.tomldiffbeforeafterboth--- a/pallets/inflation/Cargo.toml
+++ b/pallets/inflation/Cargo.toml
@@ -1,38 +1,22 @@
+################################################################################
+# Package
+
[package]
-authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
-description = 'Unqiue pallet inflation'
+authors = ['Unique Network <support@uniquenetwork.io>']
+description = 'Substrate node nft'
edition = '2018'
-homepage = 'https://substrate.io'
-license = 'Unlicense'
+homepage = 'https://unique.network'
+license = 'All Rights Reserved'
name = 'pallet-inflation'
repository = 'https://github.com/usetech-llc/nft_private/'
version = '3.0.0'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
-
-# alias "parity-scale-code" to "codec"
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '2.0.0'
-[dependencies]
-serde = { default-features = false, version = "1.0.119", features = ["derive"] }
-frame-support = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-system = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-balances = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-timestamp = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-std = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-benchmarking = { default-features = false, version = "3.0.0", optional = true, git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-core = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-io = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-runtime = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-
[features]
default = ['std']
+runtime-benchmarks = ['frame-benchmarking']
std = [
'codec/std',
'serde/std',
@@ -45,4 +29,79 @@
'sp-runtime/std',
'frame-benchmarking/std',
]
-runtime-benchmarks = ["frame-benchmarking"]
+
+################################################################################
+# Substrate Dependencies
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies.frame-benchmarking]
+default-features = false
+optional = true
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-support]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-system]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-balances]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-timestamp]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-randomness-collective-flip]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-std]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.serde]
+default-features = false
+features = ['derive']
+version = '1.0.119'
+
+[dependencies.sp-runtime]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-core]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-io]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
pallets/inflation/src/lib.rsdiffbeforeafterboth--- a/pallets/inflation/src/lib.rs
+++ b/pallets/inflation/src/lib.rs
@@ -94,14 +94,14 @@
let one_percent = Perbill::from_percent(1);
if current_year <= TOTAL_YEARS_UNTIL_FLAT {
- let amount: BalanceOf<T> = Perbill::from_rational_approximation(
+ let amount: BalanceOf<T> = Perbill::from_rational(
block_interval * (START_INFLATION_PERCENT * TOTAL_YEARS_UNTIL_FLAT - current_year * (START_INFLATION_PERCENT - END_INFLATION_PERCENT)),
YEAR * TOTAL_YEARS_UNTIL_FLAT
) * ( one_percent * T::Currency::total_issuance() );
<BlockInflation<T>>::put(amount);
}
else {
- let amount: BalanceOf<T> = Perbill::from_rational_approximation(
+ let amount: BalanceOf<T> = Perbill::from_rational(
block_interval * END_INFLATION_PERCENT,
YEAR
) * (one_percent * T::Currency::total_issuance());
pallets/nft-charge-transaction/Cargo.tomldiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-charge-transaction/Cargo.toml
@@ -0,0 +1,59 @@
+[package]
+authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
+description = 'Unqiue pallet nft specific transaction payment'
+edition = '2018'
+homepage = 'https://substrate.io'
+license = 'Unlicense'
+name = 'pallet-nft-charge-transaction'
+repository = 'https://github.com/usetech-llc/nft_private/'
+version = '3.0.0'
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
+# alias "parity-scale-code" to "codec"
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies]
+serde = { version = "1.0.119" }
+frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-balances = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-timestamp = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-transaction-payment = { default-features = false, version = "3.0.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-std = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-benchmarking = { default-features = false, version = "3.0.0", optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-core = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-io = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-runtime = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+
+pallet-nft = { default-features = false, path="../nft" }
+pallet-nft-transaction-payment = { default-features = false, path="../nft-transaction-payment" }
+nft-data-structs = { default-features = false, path="../../primitives", version = "0.9.0" }
+
+[features]
+default = ['std']
+std = [
+ 'codec/std',
+ 'serde/std',
+ 'frame-support/std',
+ 'frame-system/std',
+ 'pallet-balances/std',
+ 'pallet-timestamp/std',
+ 'pallet-randomness-collective-flip/std',
+ 'pallet-contracts/std',
+ 'pallet-nft/std',
+ 'pallet-transaction-payment/std',
+ 'pallet-nft-transaction-payment/std',
+ 'sp-std/std',
+ 'sp-runtime/std',
+ 'nft-data-structs/std',
+ 'frame-benchmarking/std',
+]
+runtime-benchmarks = ["frame-benchmarking"]
pallets/nft-charge-transaction/src/lib.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-charge-transaction/src/lib.rs
@@ -0,0 +1,221 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(feature = "std")]
+pub use std::*;
+
+#[cfg(feature = "std")]
+pub use serde::*;
+
+#[cfg(feature = "runtime-benchmarks")]
+mod benchmarking;
+
+#[cfg(test)]
+mod tests;
+
+use codec::{Decode, Encode};
+use frame_support::traits::{ Get};
+use frame_support::{
+ decl_module, decl_storage,
+ traits::{
+ IsSubType,
+ },
+ weights::{
+ DispatchInfo, PostDispatchInfo, DispatchClass
+ }
+};
+use sp_runtime::{
+ traits::{
+ DispatchInfoOf, Dispatchable, PostDispatchInfoOf, Saturating, SaturatedConversion, SignedExtension, Zero,
+ },
+ transaction_validity::{
+ TransactionPriority, TransactionValidity, TransactionValidityError, ValidTransaction,
+ },
+ FixedPointOperand, DispatchResult
+};
+use pallet_contracts::chain_extension::UncheckedFrom;
+use pallet_transaction_payment::OnChargeTransaction;
+use sp_std::prelude::*;
+
+
+pub trait Config: frame_system::Config +
+ pallet_nft_transaction_payment::Config
+{
+
+}
+
+decl_storage! {
+ trait Store for Module<T: Config> as NftTransactionPayment
+ {}
+}
+
+decl_module! {
+
+ pub struct Module<T: Config> for enum Call
+ where
+ origin: T::Origin,
+ {}
+}
+
+type BalanceOf<T> = <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::Balance;
+
+/// Require the transactor pay for themselves and maybe include a tip to gain additional priority
+/// in the queue.
+#[derive(Encode, Decode, Clone, Eq, PartialEq)]
+pub struct ChargeTransactionPayment<T: Config>(#[codec(compact)] BalanceOf<T>);
+
+impl<T: Config + Send + Sync> sp_std::fmt::Debug
+ for ChargeTransactionPayment<T>
+{
+ #[cfg(feature = "std")]
+ fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {
+ write!(f, "ChargeTransactionPayment<{:?}>", self.0)
+ }
+ #[cfg(not(feature = "std"))]
+ fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {
+ Ok(())
+ }
+}
+
+impl<T: Config> ChargeTransactionPayment<T>
+where
+ T::Call: Dispatchable<Info=DispatchInfo, PostInfo=PostDispatchInfo> + IsSubType<pallet_nft::Call<T>> + IsSubType<pallet_contracts::Call<T>>,
+ BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,
+ T::AccountId: AsRef<[u8]>,
+ T::AccountId: UncheckedFrom<T::Hash>,
+{
+ fn traditional_fee(
+ len: usize,
+ info: &DispatchInfoOf<T::Call>,
+ tip: BalanceOf<T>,
+ ) -> BalanceOf<T>
+ where
+ T::Call: Dispatchable<Info = DispatchInfo>,
+ {
+ <pallet_transaction_payment::Module<T>>::compute_fee(len as u32, info, tip)
+ }
+
+ fn get_priority(len: usize, info: &DispatchInfoOf<T::Call>, final_fee: BalanceOf<T>) -> TransactionPriority {
+ let weight_saturation = T::BlockWeights::get().max_block / info.weight.max(1);
+ let max_block_length = *T::BlockLength::get().max.get(DispatchClass::Normal);
+ let len_saturation = max_block_length as u64 / (len as u64).max(1);
+ let coefficient: BalanceOf<T> = weight_saturation
+ .min(len_saturation)
+ .saturated_into::<BalanceOf<T>>();
+ final_fee
+ .saturating_mul(coefficient)
+ .saturated_into::<TransactionPriority>()
+ }
+
+ fn withdraw_fee(
+ &self,
+ who: &T::AccountId,
+ call: &T::Call,
+ info: &DispatchInfoOf<T::Call>,
+ len: usize,
+ ) -> Result<
+ (
+ BalanceOf<T>,
+ <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::LiquidityInfo,
+ ),
+ TransactionValidityError,
+ > {
+ let tip = self.0;
+
+ let fee = Self::traditional_fee(len, info, tip);
+
+ // Only mess with balances if fee is not zero.
+ if fee.is_zero() {
+ return <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::withdraw_fee(who, call, info, fee, tip)
+ .map(|i| (fee, i));
+ }
+
+ // check errors
+ let _error = <pallet_nft_transaction_payment::Module<T>>::check_error(who, call);
+ match _error {
+ Err(_error) => return Err(_error),
+ Ok(_error) => {}
+ };
+
+ // Determine who is paying transaction fee based on ecnomic model
+ // Parse call to extract collection ID and access collection sponsor
+ let sponsor = <pallet_nft_transaction_payment::Module<T>>::withdraw_type(who, call);
+
+ let who_pays_fee = sponsor.unwrap_or_else(|| who.clone());
+
+ <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::withdraw_fee(&who_pays_fee, call, info, fee, tip)
+ .map(|i| (fee, i))
+ }
+}
+
+impl<T: Config + Send + Sync> SignedExtension
+ for ChargeTransactionPayment<T>
+where
+ BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,
+ T::Call: Dispatchable<Info=DispatchInfo, PostInfo=PostDispatchInfo> + IsSubType<pallet_nft::Call<T>> + IsSubType<pallet_contracts::Call<T>>,
+ T::AccountId: AsRef<[u8]>,
+ T::AccountId: UncheckedFrom<T::Hash>,
+{
+ const IDENTIFIER: &'static str = "ChargeTransactionPayment";
+ type AccountId = T::AccountId;
+ type Call = T::Call;
+ type AdditionalSigned = ();
+ type Pre = (
+ // tip
+ BalanceOf<T>,
+ // who pays fee
+ Self::AccountId,
+ // imbalance resulting from withdrawing the fee
+ <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::LiquidityInfo,
+ );
+ fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+ Ok(())
+ }
+
+ fn validate(
+ &self,
+ who: &Self::AccountId,
+ call: &Self::Call,
+ info: &DispatchInfoOf<Self::Call>,
+ len: usize,
+ ) -> TransactionValidity {
+ let (fee, _) = self.withdraw_fee(who, call, info, len)?;
+ Ok(ValidTransaction {
+ priority: Self::get_priority(len, info, fee),
+ ..Default::default()
+ })
+ }
+
+ fn pre_dispatch(
+ self,
+ who: &Self::AccountId,
+ call: &Self::Call,
+ info: &DispatchInfoOf<Self::Call>,
+ len: usize,
+ ) -> Result<Self::Pre, TransactionValidityError> {
+ let (_fee, imbalance) = self.withdraw_fee(who, call, info, len)?;
+ Ok((self.0, who.clone(), imbalance))
+ }
+
+ fn post_dispatch(
+ pre: Self::Pre,
+ info: &DispatchInfoOf<Self::Call>,
+ post_info: &PostDispatchInfoOf<Self::Call>,
+ len: usize,
+ _result: &DispatchResult,
+ ) -> Result<(), TransactionValidityError> {
+ let (tip, who, imbalance) = pre;
+ let actual_fee = pallet_transaction_payment::Module::<T>::compute_actual_fee(
+ len as u32,
+ info,
+ post_info,
+ tip,
+ );
+ <T as pallet_transaction_payment::Config>::OnChargeTransaction::correct_and_deposit_fee(&who, info, post_info, actual_fee, tip, imbalance)?;
+ Ok(())
+ }
+}
\ No newline at end of file
pallets/nft-transaction-payment/Cargo.tomldiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-transaction-payment/Cargo.toml
@@ -0,0 +1,57 @@
+[package]
+authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
+description = 'Unqiue pallet nft specific transaction payment'
+edition = '2018'
+homepage = 'https://substrate.io'
+license = 'Unlicense'
+name = 'pallet-nft-transaction-payment'
+repository = 'https://github.com/usetech-llc/nft_private/'
+version = '3.0.0'
+
+[package.metadata.docs.rs]
+targets = ['x86_64-unknown-linux-gnu']
+
+# alias "parity-scale-code" to "codec"
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies]
+serde = { version = "1.0.119" }
+frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-balances = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-timestamp = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-transaction-payment = { default-features = false, version = "3.0.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-std = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-benchmarking = { default-features = false, version = "3.0.0", optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-core = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-io = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-runtime = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+
+pallet-nft = { default-features = false, path="../nft" }
+nft-data-structs = { default-features = false, path="../../primitives", version = "0.9.0" }
+
+[features]
+default = ['std']
+std = [
+ 'codec/std',
+ 'serde/std',
+ 'frame-support/std',
+ 'frame-system/std',
+ 'pallet-balances/std',
+ 'pallet-timestamp/std',
+ 'pallet-randomness-collective-flip/std',
+ 'pallet-contracts/std',
+ 'pallet-nft/std',
+ 'pallet-transaction-payment/std',
+ 'sp-std/std',
+ 'sp-runtime/std',
+ 'nft-data-structs/std',
+ 'frame-benchmarking/std',
+]
+runtime-benchmarks = ["frame-benchmarking"]
pallets/nft-transaction-payment/README.mddiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-transaction-payment/README.md
@@ -0,0 +1,13 @@
+# Nft Transaction Payment
+
+## Overview
+
+A module containing the sponsoring logic for paying for sponsored collections
+
+**NOTE:** The scheduled calls will be dispatched with the default filter
+for the origin: namely `frame_system::Config::BaseCallFilter` for all origin
+except root which will get no filter. And not the filter contained in origin
+use to call `fn schedule`.
+
+If a call is scheduled using proxy or whatever mecanism which adds filter,
+then those filter will not be used when dispatching the schedule call.
pallets/nft-transaction-payment/src/benchmarking.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-transaction-payment/src/benchmarking.rs
@@ -0,0 +1,19 @@
+#![cfg(feature = "runtime-benchmarks")]
+
+use super::*;
+use crate::Module as NftTransactionPayment;
+
+use sp_std::prelude::*;
+use frame_system::RawOrigin;
+use frame_benchmarking::{benchmarks};
+use frame_support::traits::OnInitialize;
+
+benchmarks! {
+
+ // on_initialize {
+ // let block1: T::BlockNumber = T::BlockNumber::from(1u32);
+ // let block2: T::BlockNumber = T::BlockNumber::from(2u32);
+ // Inflation::<T>::on_initialize(block1); // Create Treasury account
+ // }: { Inflation::<T>::on_initialize(block2); } // Benchmark deposit_into_existing path
+
+}
pallets/nft-transaction-payment/src/lib.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-transaction-payment/src/lib.rs
@@ -0,0 +1,401 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+#[cfg(feature = "std")]
+pub use std::*;
+
+#[cfg(feature = "std")]
+pub use serde::*;
+
+#[cfg(feature = "runtime-benchmarks")]
+mod benchmarking;
+
+#[cfg(test)]
+mod tests;
+
+use frame_support::{
+ decl_error, decl_module, decl_storage,
+ traits::{
+ IsSubType,
+ },
+ weights::{
+ DispatchInfo
+ }
+};
+use sp_runtime::traits::StaticLookup;
+use sp_runtime::{
+ traits::{
+ Hash, Dispatchable,
+ },
+ transaction_validity::{
+ InvalidTransaction, TransactionValidityError,
+ },
+};
+use pallet_contracts::chain_extension::UncheckedFrom;
+use sp_std::prelude::*;
+use nft_data_structs::{
+ CreateItemData,
+ CollectionId, CollectionMode, TokenId
+};
+
+type CodeHash<T> = <T as frame_system::Config>::Hash;
+
+ pub trait Config: frame_system::Config + pallet_contracts::Config + pallet_transaction_payment::Config + pallet_nft::Config {
+ }
+
+ // Error for non-fungible-token module.
+
+ decl_error! {
+ /// Error for non-fungible-token module.
+ pub enum Error for Module<T: Config> {
+ /// No available class ID
+ NoAvailableClassId,
+ /// No available token ID
+ NoAvailableTokenId,
+ /// Token(ClassId, TokenId) not found
+ TokenNotFound,
+ /// Class not found
+ CollectionNotFound,
+ /// The operator is not the owner of the token and has no permission
+ NoPermission,
+ /// Arithmetic calculation overflow
+ NumOverflow,
+ /// Can not destroy class
+ /// Total issuance is not 0
+ CannotDestroyClass,
+ }
+}
+
+ decl_storage! {
+ trait Store for Module<T: Config> as NftTransactionPayment{
+
+ }
+}
+
+decl_module! {
+
+ pub struct Module<T: Config> for enum Call
+ where
+ origin: T::Origin,
+ {
+ }
+}
+
+impl<T: Config> Module<T>
+{
+
+ pub fn check_error(
+ who: &T::AccountId,
+ call: &T::Call
+ ) -> Result<bool, TransactionValidityError> where
+ T::Call: Dispatchable<Info=DispatchInfo>,
+ T::Call: IsSubType<pallet_nft::Call<T>>,
+ T::Call: IsSubType<pallet_contracts::Call<T>>,
+ T::AccountId: AsRef<[u8]>,
+ T::AccountId: UncheckedFrom<T::Hash>
+ {
+
+ match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {
+ Some(pallet_contracts::Call::call(dest, _value, _gas_limit, _data)) => {
+
+ let called_contract: T::AccountId = T::Lookup::lookup((*dest).clone()).unwrap_or(T::AccountId::default());
+
+ let owned_contract = pallet_nft::ContractOwner::<T>::get(called_contract.clone()).as_ref() == Some(who);
+ let white_list_enabled = pallet_nft::ContractWhiteListEnabled::<T>::contains_key(called_contract.clone());
+
+ if !owned_contract && white_list_enabled {
+ if !pallet_nft::ContractWhiteList::<T>::contains_key(called_contract.clone(), who) {
+ return Err(InvalidTransaction::Call.into());
+ }
+ }
+ Ok(true)
+ },
+ _ => { Ok(true) },
+ }
+ }
+
+ pub fn withdraw_type(
+ who: &T::AccountId,
+ call: &T::Call
+ ) -> Option<T::AccountId> where
+ T::Call: Dispatchable<Info=DispatchInfo>,
+ T::Call: IsSubType<pallet_nft::Call<T>>,
+ T::Call: IsSubType<pallet_contracts::Call<T>>,
+ T::AccountId: AsRef<[u8]>,
+ T::AccountId: UncheckedFrom<T::Hash>
+ {
+
+ let mut sponsor: Option<T::AccountId> = match IsSubType::<pallet_nft::Call<T>>::is_sub_type(call) {
+ Some(pallet_nft::Call::create_item(collection_id, _owner, _properties)) => {
+
+ Self::withdraw_create_item(who, collection_id, &_properties)
+ },
+ Some(pallet_nft::Call::transfer(_new_owner, collection_id, item_id, _value)) => {
+
+ Self::withdraw_transfer(who, collection_id, item_id)
+ },
+ Some(pallet_nft::Call::set_variable_meta_data(collection_id, item_id, data)) => {
+
+ Self::withdraw_set_variable_meta_data(collection_id, item_id, &data)
+ },
+ _ => None,
+ };
+
+ sponsor = sponsor.or_else(|| match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {
+ Some(pallet_contracts::Call::call(dest, _value, _gas_limit, _data)) => {
+
+ Self::withdraw_contract_call(who, dest)
+ },
+ Some(pallet_contracts::Call::instantiate(_endowment, _gas_limit, code_hash, _data, salt)) => {
+
+ Self::withdraw_contract_instantiate(&who, code_hash, salt)
+ },
+ Some(pallet_contracts::Call::instantiate_with_code(_endowment, _gas_limit, _code, _data, _salt)) => {
+
+ Self::withdraw_contract_instantiate(&who, &T::Hashing::hash(&_code), _salt)
+ },
+ _ => None,
+ });
+
+ sponsor
+ }
+
+
+
+ pub fn withdraw_create_item(
+ who: &T::AccountId,
+ collection_id: &CollectionId,
+ _properties: &CreateItemData,
+ ) -> Option<T::AccountId> {
+
+ let collection = pallet_nft::CollectionById::<T>::get(collection_id)?;
+
+ // sponsor timeout
+ let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+
+ let limit = collection.limits.sponsor_transfer_timeout;
+ if pallet_nft::CreateItemBasket::<T>::contains_key((collection_id, &who)) {
+ let last_tx_block = pallet_nft::CreateItemBasket::<T>::get((collection_id, &who));
+ let limit_time = last_tx_block + limit.into();
+ if block_number <= limit_time {
+ return None;
+ }
+ }
+ pallet_nft::CreateItemBasket::<T>::insert((collection_id, who.clone()), block_number);
+
+ // check free create limit
+ if collection.limits.sponsored_data_size >= (_properties.len() as u32) {
+ collection.sponsorship.sponsor()
+ .cloned()
+ } else {
+ None
+ }
+ }
+
+ pub fn withdraw_transfer(
+ who: &T::AccountId,
+ collection_id: &CollectionId,
+ item_id: &TokenId,
+ ) -> Option<T::AccountId> {
+
+ let collection = pallet_nft::CollectionById::<T>::get(collection_id)?;
+ let limits = pallet_nft::ChainLimit::get();
+
+ let mut sponsor_transfer = false;
+ if collection.sponsorship.confirmed() {
+
+ let collection_limits = collection.limits.clone();
+ let collection_mode = collection.mode.clone();
+
+ // sponsor timeout
+ let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+ sponsor_transfer = match collection_mode {
+ CollectionMode::NFT => {
+
+ // get correct limit
+ let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
+ collection_limits.sponsor_transfer_timeout
+ } else {
+ limits.nft_sponsor_transfer_timeout
+ };
+
+ let mut sponsored = true;
+ if pallet_nft::NftTransferBasket::<T>::contains_key(collection_id, item_id) {
+ let last_tx_block = pallet_nft::NftTransferBasket::<T>::get(collection_id, item_id);
+ let limit_time = last_tx_block + limit.into();
+ if block_number <= limit_time {
+ sponsored = false;
+ }
+ }
+ if sponsored {
+ pallet_nft::NftTransferBasket::<T>::insert(collection_id, item_id, block_number);
+ }
+
+ sponsored
+ }
+ CollectionMode::Fungible(_) => {
+
+ // get correct limit
+ let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
+ collection_limits.sponsor_transfer_timeout
+ } else {
+ limits.fungible_sponsor_transfer_timeout
+ };
+
+ let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+ let mut sponsored = true;
+ if pallet_nft::FungibleTransferBasket::<T>::contains_key(collection_id, who) {
+ let last_tx_block = pallet_nft::FungibleTransferBasket::<T>::get(collection_id, who);
+ let limit_time = last_tx_block + limit.into();
+ if block_number <= limit_time {
+ sponsored = false;
+ }
+ }
+ if sponsored {
+ pallet_nft::FungibleTransferBasket::<T>::insert(collection_id, who, block_number);
+ }
+
+ sponsored
+ }
+ CollectionMode::ReFungible => {
+
+ // get correct limit
+ let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
+ collection_limits.sponsor_transfer_timeout
+ } else {
+ limits.refungible_sponsor_transfer_timeout
+ };
+
+ let mut sponsored = true;
+ if pallet_nft::ReFungibleTransferBasket::<T>::contains_key(collection_id, item_id) {
+ let last_tx_block = pallet_nft::ReFungibleTransferBasket::<T>::get(collection_id, item_id);
+ let limit_time = last_tx_block + limit.into();
+ if block_number <= limit_time {
+ sponsored = false;
+ }
+ }
+ if sponsored {
+ pallet_nft::ReFungibleTransferBasket::<T>::insert(collection_id, item_id, block_number);
+ }
+
+ sponsored
+ }
+ _ => {
+ false
+ },
+ };
+ }
+
+ if !sponsor_transfer {
+ None
+ } else {
+ collection.sponsorship.sponsor()
+ .cloned()
+ }
+ }
+
+ pub fn withdraw_set_variable_meta_data(
+ collection_id: &CollectionId,
+ item_id: &TokenId,
+ data: &Vec<u8>,
+ ) -> Option<T::AccountId> {
+
+ let mut sponsor_metadata_changes = false;
+
+ let collection = pallet_nft::CollectionById::<T>::get(collection_id)?;
+
+ if
+ collection.sponsorship.confirmed() &&
+ // Can't sponsor fungible collection, this tx will be rejected
+ // as invalid
+ !matches!(collection.mode, CollectionMode::Fungible(_)) &&
+ data.len() <= collection.limits.sponsored_data_size as usize
+ {
+ if let Some(rate_limit) = collection.limits.sponsored_data_rate_limit {
+ let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+
+ if pallet_nft::VariableMetaDataBasket::<T>::get(collection_id, item_id)
+ .map(|last_block| block_number - last_block > rate_limit)
+ .unwrap_or(true)
+ {
+ sponsor_metadata_changes = true;
+ pallet_nft::VariableMetaDataBasket::<T>::insert(collection_id, item_id, block_number);
+ }
+ }
+ }
+
+ if !sponsor_metadata_changes {
+ None
+ } else {
+ collection.sponsorship.sponsor().cloned()
+ }
+
+ }
+
+ pub fn withdraw_contract_call(
+ who: &T::AccountId,
+ dest: &<T::Lookup as StaticLookup>::Source
+ ) -> Option<T::AccountId> {
+
+ let called_contract: T::AccountId = T::Lookup::lookup((dest).clone()).unwrap_or(T::AccountId::default());
+
+ let owned_contract = pallet_nft::ContractOwner::<T>::get(called_contract.clone()).as_ref() == Some(who);
+ let white_list_enabled = pallet_nft::ContractWhiteListEnabled::<T>::contains_key(called_contract.clone());
+
+ // ???
+ if !owned_contract && white_list_enabled {
+ if !pallet_nft::ContractWhiteList::<T>::contains_key(called_contract.clone(), who) {
+ return Some(who.clone())
+ // return Err(InvalidTransaction::Call.into());
+ }
+ }
+
+ let mut sponsor_transfer = false;
+ if pallet_nft::ContractSponsoringRateLimit::<T>::contains_key(called_contract.clone()) {
+ let last_tx_block = pallet_nft::ContractSponsorBasket::<T>::get((&called_contract, &who));
+ let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+ let rate_limit = pallet_nft::ContractSponsoringRateLimit::<T>::get(&called_contract);
+ let limit_time = last_tx_block + rate_limit;
+
+ if block_number >= limit_time {
+ pallet_nft::ContractSponsorBasket::<T>::insert((called_contract.clone(), who.clone()), block_number);
+ sponsor_transfer = true;
+ }
+ } else {
+ sponsor_transfer = false;
+ }
+
+ if sponsor_transfer {
+ if pallet_nft::ContractSelfSponsoring::<T>::contains_key(called_contract.clone()) {
+ if pallet_nft::ContractSelfSponsoring::<T>::get(called_contract.clone()) {
+ return Some(called_contract);
+ }
+ }
+ }
+
+ None
+ }
+
+ pub fn withdraw_contract_instantiate(
+ who: &T::AccountId,
+ code_hash: &CodeHash<T>,
+ salt: &[u8],
+ ) -> Option<T::AccountId> where
+ T::AccountId: AsRef<[u8]>,
+ T::AccountId: UncheckedFrom<T::Hash>
+ {
+
+ let new_contract_address = <pallet_contracts::Pallet<T>>::contract_address(
+ &who,
+ code_hash,
+ salt,
+ );
+ pallet_nft::ContractOwner::<T>::insert(new_contract_address.clone(), who.clone());
+
+ None
+ }
+}
\ No newline at end of file
pallets/nft-transaction-payment/src/tests.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/nft-transaction-payment/src/tests.rs
@@ -0,0 +1,241 @@
+#[cfg(test)]
+mod tests {
+ use crate as pallet_inflation;
+
+ use frame_system;
+ use frame_support::{traits::{Currency}, parameter_types};
+ use frame_support::{traits::OnInitialize};
+ use sp_core::H256;
+ use sp_runtime::{traits::{BlakeTwo256, IdentityLookup}, testing::Header};
+
+ type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
+ type Block = frame_system::mocking::MockBlock<Test>;
+
+ const YEAR: u64 = 5_259_600;
+
+ parameter_types! {
+ pub const ExistentialDeposit: u64 = 1;
+ pub const MaxLocks: u32 = 50;
+ }
+
+ impl pallet_balances::Config for Test {
+ type AccountStore = System;
+ type Balance = u64;
+ type DustRemoval = ();
+ type Event = ();
+ type ExistentialDeposit = ExistentialDeposit;
+ type WeightInfo = ();
+ type MaxLocks = MaxLocks;
+ }
+
+ frame_support::construct_runtime!(
+ pub enum Test where
+ Block = Block,
+ NodeBlock = Block,
+ UncheckedExtrinsic = UncheckedExtrinsic,
+ {
+ Balances: pallet_balances::{Module, Call, Storage},
+ System: frame_system::{Module, Call, Config, Storage, Event<T>},
+ Inflation: pallet_inflation::{Module, Call, Storage},
+ }
+ );
+
+ parameter_types! {
+ pub const BlockHashCount: u64 = 250;
+ pub BlockWeights: frame_system::limits::BlockWeights =
+ frame_system::limits::BlockWeights::simple_max(1024);
+ pub const SS58Prefix: u8 = 42;
+ }
+
+ impl frame_system::Config for Test {
+ type BaseCallFilter = ();
+ type BlockWeights = ();
+ type BlockLength = ();
+ type DbWeight = ();
+ type Origin = Origin;
+ type Call = Call;
+ type Index = u64;
+ type BlockNumber = u64;
+ type Hash = H256;
+ type Hashing = BlakeTwo256;
+ type AccountId = u64;
+ type Lookup = IdentityLookup<Self::AccountId>;
+ type Header = Header;
+ type Event = ();
+ type BlockHashCount = BlockHashCount;
+ type Version = ();
+ type PalletInfo = PalletInfo;
+ type AccountData = pallet_balances::AccountData<u64>;
+ type OnNewAccount = ();
+ type OnKilledAccount = ();
+ type SystemWeightInfo = ();
+ type SS58Prefix = SS58Prefix;
+ }
+
+ parameter_types! {
+ pub TreasuryAccountId: u64 = 1234;
+ pub const InflationBlockInterval: u32 = 100; // every time per how many blocks inflation is applied
+ }
+
+ impl pallet_inflation::Config for Test {
+ type Currency = Balances;
+ type TreasuryAccountId = TreasuryAccountId;
+ type InflationBlockInterval = InflationBlockInterval;
+ }
+
+ // Build genesis storage according to the mock runtime.
+ pub fn new_test_ext() -> sp_io::TestExternalities {
+ frame_system::GenesisConfig::default().build_storage::<Test>().unwrap().into()
+ }
+
+ #[test]
+ fn inflation_works() {
+ new_test_ext().execute_with(|| {
+ // Total issuance = 1_000_000_000
+ let initial_issuance: u64 = 1_000_000_000;
+ let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+ assert_eq!(Balances::free_balance(1234), initial_issuance);
+
+ // BlockInflation should be set after 1st block and
+ // first inflation deposit should be equal to BlockInflation
+ Inflation::on_initialize(1);
+ assert!(Inflation::block_inflation() > 0);
+ assert_eq!(Balances::free_balance(1234) - initial_issuance, Inflation::block_inflation());
+ });
+ }
+
+ #[test]
+ fn inflation_second_deposit() {
+ new_test_ext().execute_with(|| {
+ // Total issuance = 1_000_000_000
+ let initial_issuance: u64 = 1_000_000_000;
+ let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+ assert_eq!(Balances::free_balance(1234), initial_issuance);
+ Inflation::on_initialize(1);
+
+ // Next inflation deposit happens when block is multiple of InflationBlockInterval
+ let mut block: u32 = 2;
+ let balance_before: u64 = Balances::free_balance(1234);
+ while block % InflationBlockInterval::get() != 0 {
+ Inflation::on_initialize(block as u64);
+ block += 1;
+ }
+ let balance_just_before: u64 = Balances::free_balance(1234);
+ assert_eq!(balance_before, balance_just_before);
+
+ // The block with inflation
+ Inflation::on_initialize(block as u64);
+ let balance_after: u64 = Balances::free_balance(1234);
+ assert_eq!(balance_after - balance_just_before, Inflation::block_inflation());
+ });
+ }
+
+ #[test]
+ fn inflation_in_1_year() {
+ new_test_ext().execute_with(|| {
+ // Total issuance = 1_000_000_000
+ let initial_issuance: u64 = 1_000_000_000;
+ let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+ assert_eq!(Balances::free_balance(1234), initial_issuance);
+ Inflation::on_initialize(1);
+ let block_inflation_year_0 = Inflation::block_inflation();
+
+ Inflation::on_initialize(YEAR);
+ let block_inflation_year_1 = Inflation::block_inflation();
+
+ // Assert that year 1 inflation is less than year 0
+ assert!(block_inflation_year_0 > block_inflation_year_1);
+ });
+ }
+
+ #[test]
+ fn inflation_in_1_to_9_years() {
+ new_test_ext().execute_with(|| {
+ // Total issuance = 1_000_000_000
+ let initial_issuance: u64 = 1_000_000_000;
+ let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+ assert_eq!(Balances::free_balance(1234), initial_issuance);
+ Inflation::on_initialize(1);
+
+ for year in 1..=9 {
+ let block_inflation_year_before = Inflation::block_inflation();
+ Inflation::on_initialize(YEAR * year);
+ let block_inflation_year_after = Inflation::block_inflation();
+
+ // Assert that next year inflation is less than previous year inflation
+ assert!(block_inflation_year_before > block_inflation_year_after);
+ }
+
+ });
+ }
+
+ #[test]
+ fn inflation_after_year_10_is_flat() {
+ new_test_ext().execute_with(|| {
+ // Total issuance = 1_000_000_000
+ let initial_issuance: u64 = 1_000_000_000;
+ let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+ assert_eq!(Balances::free_balance(1234), initial_issuance);
+ Inflation::on_initialize(YEAR * 9);
+
+ for year in 10..=20 {
+ let block_inflation_year_before = Inflation::block_inflation();
+ Inflation::on_initialize(YEAR * year);
+ let block_inflation_year_after = Inflation::block_inflation();
+
+ // Assert that next year inflation is equal to previous year inflation
+ assert_eq!(block_inflation_year_before, block_inflation_year_after);
+ }
+ });
+ }
+
+ #[test]
+ fn inflation_rate_by_year() {
+ new_test_ext().execute_with(|| {
+ let payouts: u64 = YEAR / InflationBlockInterval::get() as u64;
+
+ // Inflation starts at 10% and does down by 2/3% every year until year 9 (included),
+ // then it is flat.
+ let payout_by_year: [u64; 11] = [
+ 1000,
+ 933,
+ 867,
+ 800,
+ 733,
+ 667,
+ 600,
+ 533,
+ 467,
+ 400,
+ 400
+ ];
+
+ // For accuracy total issuance = payout0 * payouts * 10;
+ let initial_issuance: u64 = payout_by_year[0] * payouts * 10;
+ let _ = <Balances as Currency<_>>::deposit_creating(&1234, initial_issuance);
+ assert_eq!(Balances::free_balance(1234), initial_issuance);
+
+ for year in 0..=10 {
+ // Year first block
+ Inflation::on_initialize(year*YEAR);
+ let mut actual_payout = Inflation::block_inflation();
+ assert_eq!(actual_payout, payout_by_year[year as usize]);
+
+ // Year second block
+ Inflation::on_initialize(year*YEAR+1);
+ actual_payout = Inflation::block_inflation();
+ assert_eq!(actual_payout, payout_by_year[year as usize]);
+
+ // Year middle block
+ Inflation::on_initialize(year*YEAR + YEAR/2);
+ actual_payout = Inflation::block_inflation();
+ assert_eq!(actual_payout, payout_by_year[year as usize]);
+
+ // Year last block
+ Inflation::on_initialize((year + 1)*YEAR-1);
+ actual_payout = Inflation::block_inflation();
+ assert_eq!(actual_payout, payout_by_year[year as usize]);
+ }
+ });
+ }
+}
pallets/nft/Cargo.tomldiffbeforeafterboth--- a/pallets/nft/Cargo.toml
+++ b/pallets/nft/Cargo.toml
@@ -1,53 +1,22 @@
+################################################################################
+# Package
+
[package]
-authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
-description = 'FRAME pallet nft'
+authors = ['Unique Network <support@uniquenetwork.io>']
+description = 'Substrate node nft'
edition = '2018'
-homepage = 'https://substrate.io'
-license = 'Unlicense'
+homepage = 'https://unique.network'
+license = 'All Rights Reserved'
name = 'pallet-nft'
-repository = 'https://github.com/substrate-developer-hub/nft/'
+repository = 'https://github.com/usetech-llc/nft_private/'
version = '3.0.0'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
-
-# alias "parity-scale-code" to "codec"
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '2.0.0'
-[dependencies]
-serde = { default-features = false, version = "1.0.119", features = ["derive"] }
-frame-support = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-system = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-balances = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-evm = { default-features = false, version = "4.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-pallet-ethereum = { default-features = false, version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-pallet-timestamp = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-std = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-benchmarking = { default-features = false, version = '3.0.0', optional = true, git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-fp-evm = { default-features = false, version = '2.0.0', git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-sp-core = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-io = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-api = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-runtime = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-contracts = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-transaction-payment = { default-features = false, version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-
-ethereum-tx-sign = { version = "3.0.4", optional = true }
-ethereum = { default-features = false, version = "0.7.1" }
-rlp = { default-features = false, version = "0.5.0" }
-
-evm-coder = { default-features = false, path = "../../crates/evm-coder" }
-primitive-types = { version = "0.9.0", default-features = false, features = ["serde_no_std"] }
-
-hex-literal = "0.3.1"
-
[features]
default = ['std']
+runtime-benchmarks = ['frame-benchmarking']
std = [
'codec/std',
'serde/std',
@@ -60,6 +29,7 @@
'pallet-randomness-collective-flip/std',
'pallet-transaction-payment/std',
'fp-evm/std',
+ 'nft-data-structs/std',
'sp-std/std',
'sp-runtime/std',
'frame-benchmarking/std',
@@ -70,4 +40,109 @@
'primitive-types/std',
'evm-coder/std',
]
-runtime-benchmarks = ["frame-benchmarking"]
+
+################################################################################
+# Substrate Dependencies
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies.frame-benchmarking]
+default-features = false
+optional = true
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-support]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-system]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-balances]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-timestamp]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-randomness-collective-flip]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-std]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-transaction-payment]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.serde]
+features = ['derive']
+version = '1.0.119'
+
+[dependencies.sp-runtime]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-core]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-io]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+
+################################################################################
+# Local Dependencies
+
+[dependencies.nft-data-structs]
+default-features = false
+path = '../../primitives'
+version = '0.9.0'
+
+
+[dependencies]
+ethereum-tx-sign = { version = "3.0.4", optional = true }
+ethereum = { default-features = false, version = "0.7.1" }
+rlp = { default-features = false, version = "0.5.0" }
+
+evm-coder = { default-features = false, path = "../../crates/evm-coder" }
+primitive-types = { version = "0.9.0", default-features = false, features = ["serde_no_std"] }
+
+hex-literal = "0.3.1"
\ No newline at end of file
pallets/nft/src/lib.rsdiffbeforeafterboth--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -11,9 +11,6 @@
pub use serde::{Serialize, Deserialize};
-use core::ops::{Deref, DerefMut};
-use core::cell::RefCell;
-use codec::{Decode, Encode};
pub use frame_support::{
construct_runtime, decl_event, decl_module, decl_storage, decl_error,
dispatch::DispatchResult,
@@ -34,19 +31,14 @@
use frame_system::{self as system, ensure_signed, ensure_root};
use sp_core::H160;
use sp_runtime::sp_std::prelude::Vec;
-use sp_runtime::{
- traits::{
- Hash, DispatchInfoOf, Dispatchable, PostDispatchInfoOf, Saturating, SaturatedConversion, SignedExtension, Zero,
- },
- transaction_validity::{
- TransactionPriority, InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
- },
- FixedPointOperand, FixedU128,
+use core::ops::{Deref, DerefMut};
+use nft_data_structs::{
+ MAX_DECIMAL_POINTS, MAX_SPONSOR_TIMEOUT, MAX_TOKEN_OWNERSHIP, MAX_REFUNGIBLE_PIECES,
+ AccessMode, ChainLimits, Collection, CreateItemData, CollectionLimits,
+ CollectionId, CollectionMode, TokenId,
+ SchemaVersion, SponsorshipState, Ownership,
+ NftItemType, FungibleItemType, ReFungibleItemType
};
-use sp_runtime::traits::StaticLookup;
-use pallet_contracts::chain_extension::UncheckedFrom;
-use pallet_ethereum::EthereumTransactionSender;
-use pallet_transaction_payment::OnChargeTransaction;
#[cfg(test)]
mod mock;
@@ -60,269 +52,10 @@
pub use eth::NftErcSupport;
pub use eth::account::*;
use eth::erc::{ERC20Events, ERC721Events};
-
-pub const MAX_DECIMAL_POINTS: DecimalPoints = 30;
-pub const MAX_REFUNGIBLE_PIECES: u128 = 1_000_000_000_000_000_000_000;
-pub const MAX_SPONSOR_TIMEOUT: u32 = 10_368_000;
-pub const MAX_TOKEN_OWNERSHIP: u32 = 10_000_000;
-
-// Structs
-// #region
-
-pub type CollectionId = u32;
-pub type TokenId = u32;
-pub type DecimalPoints = u8;
-
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
-#[derive(Serialize, Deserialize)]
-pub enum CollectionMode {
- Invalid,
- NFT,
- // decimal points
- Fungible(DecimalPoints),
- ReFungible,
-}
-
-impl Default for CollectionMode {
- fn default() -> Self {
- Self::Invalid
- }
-}
-
-impl Into<u8> for CollectionMode {
- fn into(self) -> u8 {
- match self {
- CollectionMode::Invalid => 0,
- CollectionMode::NFT => 1,
- CollectionMode::Fungible(_) => 2,
- CollectionMode::ReFungible => 3,
- }
- }
-}
-
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum AccessMode {
- Normal,
- WhiteList,
-}
-impl Default for AccessMode {
- fn default() -> Self {
- Self::Normal
- }
-}
-
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum SchemaVersion {
- ImageURL,
- Unique,
-}
-impl Default for SchemaVersion {
- fn default() -> Self {
- Self::ImageURL
- }
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct Ownership<AccountId> {
- pub owner: AccountId,
- pub fraction: u128,
-}
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum SponsorshipState<AccountId> {
- /// The fees are applied to the transaction sender
- Disabled,
- Unconfirmed(AccountId),
- /// Transactions are sponsored by specified account
- Confirmed(AccountId),
-}
-
-impl<AccountId> SponsorshipState<AccountId> {
- fn sponsor(&self) -> Option<&AccountId> {
- match self {
- Self::Confirmed(sponsor) => Some(sponsor),
- _ => None,
- }
- }
-
- fn pending_sponsor(&self) -> Option<&AccountId> {
- match self {
- Self::Unconfirmed(sponsor) | Self::Confirmed(sponsor) => Some(sponsor),
- _ => None,
- }
- }
-
- fn confirmed(&self) -> bool {
- matches!(self, Self::Confirmed(_))
- }
-}
-
-impl<T> Default for SponsorshipState<T> {
- fn default() -> Self {
- Self::Disabled
- }
-}
-
-#[derive(Encode, Decode, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct Collection<T: Config> {
- pub owner: T::AccountId,
- pub mode: CollectionMode,
- pub access: AccessMode,
- pub decimal_points: DecimalPoints,
- pub name: Vec<u16>, // 64 include null escape char
- pub description: Vec<u16>, // 256 include null escape char
- pub token_prefix: Vec<u8>, // 16 include null escape char
- pub mint_mode: bool,
- pub offchain_schema: Vec<u8>,
- pub schema_version: SchemaVersion,
- pub sponsorship: SponsorshipState<T::AccountId>,
- pub limits: CollectionLimits<T::BlockNumber>, // Collection private restrictions
- pub variable_on_chain_schema: Vec<u8>, //
- pub const_on_chain_schema: Vec<u8>, //
-}
-pub struct CollectionHandle<T: Config> {
- pub id: CollectionId,
- collection: Collection<T>,
- logs: eth::log::LogRecorder,
- evm_address: H160,
- gas_limit: RefCell<u64>,
-}
-impl<T: Config> CollectionHandle<T> {
- pub fn get_with_gas_limit(id: CollectionId, gas_limit: u64) -> Option<Self> {
- <CollectionById<T>>::get(id)
- .map(|collection| Self {
- id,
- collection,
- logs: eth::log::LogRecorder::default(),
- evm_address: eth::collection_id_to_address(id),
- gas_limit: RefCell::new(gas_limit),
- })
- }
- pub fn get(id: CollectionId) -> Option<Self> {
- Self::get_with_gas_limit(id, u64::MAX)
- }
- pub fn gas_left(&self) -> u64 {
- *self.gas_limit.borrow()
- }
- pub fn consume_gas(&self, gas: u64) -> DispatchResult {
- let mut gas_limit = self.gas_limit.borrow_mut();
- if *gas_limit < gas {
- fail!(Error::<T>::OutOfGas);
- }
- *gas_limit -= gas;
- Ok(())
- }
- pub fn log(&self, log: impl evm_coder::ToLog) {
- self.logs.log(log.to_log(self.evm_address))
- }
- pub fn into_inner(self) -> Collection<T> {
- self.collection.clone()
- }
-}
-
-impl<T: Config> Deref for CollectionHandle<T> {
- type Target = Collection<T>;
-
- fn deref(&self) -> &Self::Target {
- &self.collection
- }
-}
-
-impl<T: Config> DerefMut for CollectionHandle<T> {
- fn deref_mut(&mut self) -> &mut Self::Target {
- &mut self.collection
- }
-}
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct NftItemType<AccountId> {
- pub owner: AccountId,
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct FungibleItemType {
- pub value: u128,
-}
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct ReFungibleItemType<AccountId> {
- pub owner: Vec<Ownership<AccountId>>,
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
-}
-
-// #[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-// #[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-// pub struct VestingItem<AccountId, Moment> {
-// pub sender: AccountId,
-// pub recipient: AccountId,
-// pub collection_id: CollectionId,
-// pub item_id: TokenId,
-// pub amount: u64,
-// pub vesting_date: Moment,
-// }
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CollectionLimits<BlockNumber: Encode + Decode> {
- pub account_token_ownership_limit: u32,
- pub sponsored_data_size: u32,
- /// None - setVariableMetadata is not sponsored
- /// Some(v) - setVariableMetadata is sponsored
- /// if there is v block between txs
- pub sponsored_data_rate_limit: Option<BlockNumber>,
- pub token_limit: u32,
-
- // Timeouts for item types in passed blocks
- pub sponsor_transfer_timeout: u32,
- pub owner_can_transfer: bool,
- pub owner_can_destroy: bool,
-}
+#[cfg(feature = "runtime-benchmarks")]
+mod benchmarking;
-impl<BlockNumber: Encode + Decode> Default for CollectionLimits<BlockNumber> {
- fn default() -> Self {
- Self {
- account_token_ownership_limit: 10_000_000,
- token_limit: u32::max_value(),
- sponsored_data_size: u32::MAX,
- sponsored_data_rate_limit: None,
- sponsor_transfer_timeout: 14400,
- owner_can_transfer: true,
- owner_can_destroy: true
- }
- }
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct ChainLimits {
- pub collection_numbers_limit: u32,
- pub account_token_ownership_limit: u32,
- pub collections_admins_limit: u64,
- pub custom_data_limit: u32,
-
- // Timeouts for item types in passed blocks
- pub nft_sponsor_transfer_timeout: u32,
- pub fungible_sponsor_transfer_timeout: u32,
- pub refungible_sponsor_transfer_timeout: u32,
-
- // Schema limits
- pub offchain_schema_limit: u32,
- pub variable_on_chain_schema_limit: u32,
- pub const_on_chain_schema_limit: u32,
-}
-
pub trait WeightInfo {
fn create_collection() -> Weight;
fn destroy_collection() -> Weight;
@@ -354,68 +87,8 @@
fn add_to_contract_white_list() -> Weight;
fn remove_from_contract_white_list() -> Weight;
fn set_collection_limits() -> Weight;
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CreateNftData {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
}
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CreateFungibleData {
- pub value: u128,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CreateReFungibleData {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
- pub pieces: u128,
-}
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum CreateItemData {
- NFT(CreateNftData),
- Fungible(CreateFungibleData),
- ReFungible(CreateReFungibleData),
-}
-
-impl CreateItemData {
- pub fn len(&self) -> usize {
- let len = match self {
- CreateItemData::NFT(data) => data.variable_data.len() + data.const_data.len(),
- CreateItemData::ReFungible(data) => data.variable_data.len() + data.const_data.len(),
- _ => 0
- };
-
- return len;
- }
-}
-
-impl From<CreateNftData> for CreateItemData {
- fn from(item: CreateNftData) -> Self {
- CreateItemData::NFT(item)
- }
-}
-
-impl From<CreateReFungibleData> for CreateItemData {
- fn from(item: CreateReFungibleData) -> Self {
- CreateItemData::ReFungible(item)
- }
-}
-
-impl From<CreateFungibleData> for CreateItemData {
- fn from(item: CreateFungibleData) -> Self {
- CreateItemData::Fungible(item)
- }
-}
-
-
decl_error! {
/// Error for non-fungible-token module.
pub enum Error for Module<T: Config> {
@@ -498,7 +171,26 @@
}
}
-pub trait Config: system::Config + Sized + pallet_transaction_payment::Config + pallet_contracts::Config {
+pub struct CollectionHandle<T: system::Config> {
+ pub id: CollectionId,
+ pub collection: Collection<T>,
+}
+
+impl<T: frame_system::Config> Deref for CollectionHandle<T> {
+ type Target = Collection<T>;
+
+ fn deref(&self) -> &Self::Target {
+ &self.collection
+ }
+}
+
+impl<T: frame_system::Config> DerefMut for CollectionHandle<T> {
+ fn deref_mut(&mut self) -> &mut Self::Target {
+ &mut self.collection
+ }
+}
+
+pub trait Config: system::Config + Sized {
type Event: From<Event<Self>> + Into<<Self as system::Config>::Event>;
/// Weight information for extrinsics in this pallet.
@@ -516,11 +208,6 @@
type EthereumChainId: Get<u64>;
type EthereumTransactionSender: pallet_ethereum::EthereumTransactionSender;
}
-
-#[cfg(feature = "runtime-benchmarks")]
-mod benchmarking;
-
-// #endregion
// # Used definitions
//
@@ -729,7 +416,7 @@
fn deposit_event() = default;
type Error = Error<T>;
- fn on_initialize(now: T::BlockNumber) -> Weight {
+ fn on_initialize(_now: T::BlockNumber) -> Weight {
0
}
@@ -2524,6 +2211,7 @@
Ok(())
}
+ #[allow(dead_code)]
fn init_collection(item: &Collection<T>) {
// check params
assert!(
@@ -2551,6 +2239,7 @@
CreatedCollectionCount::put(next_id);
}
+ #[allow(dead_code)]
fn init_nft_token(collection_id: CollectionId, item: &NftItemType<T::CrossAccountId>) {
let current_index = <ItemListIndex>::get(collection_id)
.checked_add(1)
@@ -2567,6 +2256,7 @@
<Balance<T>>::insert(collection_id, item.owner.as_sub(), new_balance);
}
+ #[allow(dead_code)]
fn init_fungible_token(collection_id: CollectionId, owner: &T::CrossAccountId, item: &FungibleItemType) {
let current_index = <ItemListIndex>::get(collection_id)
.checked_add(1)
@@ -2583,6 +2273,7 @@
<Balance<T>>::insert(collection_id, owner.as_sub(), new_balance);
}
+ #[allow(dead_code)]
fn init_refungible_token(collection_id: CollectionId, item: &ReFungibleItemType<T::CrossAccountId>) {
let current_index = <ItemListIndex>::get(collection_id)
.checked_add(1)
@@ -2680,409 +2371,5 @@
ensure!(<ContractOwner<T>>::get(contract) == Some(account), Error::<T>::NoPermission);
Ok(())
- }
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-// Economic models
-// #region
-
-/// Fee multiplier.
-pub type Multiplier = FixedU128;
-
-type BalanceOf<T> = <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::Balance;
-
-/// Require the transactor pay for themselves and maybe include a tip to gain additional priority
-/// in the queue.
-#[derive(Encode, Decode, Clone, Eq, PartialEq)]
-pub struct ChargeTransactionPayment<T: Config>(#[codec(compact)] BalanceOf<T>);
-
-impl<T: Config + Send + Sync> sp_std::fmt::Debug
- for ChargeTransactionPayment<T>
-{
- #[cfg(feature = "std")]
- fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {
- write!(f, "ChargeTransactionPayment<{:?}>", self.0)
- }
- #[cfg(not(feature = "std"))]
- fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {
- Ok(())
- }
-}
-
-impl<T: Config> ChargeTransactionPayment<T>
-where
- T::Call: Dispatchable<Info=DispatchInfo, PostInfo=PostDispatchInfo> + IsSubType<Call<T>> + IsSubType<pallet_contracts::Call<T>>,
- BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,
- T::AccountId: AsRef<[u8]>,
- T::AccountId: UncheckedFrom<T::Hash>,
-{
- fn traditional_fee(
- len: usize,
- info: &DispatchInfoOf<T::Call>,
- tip: BalanceOf<T>,
- ) -> BalanceOf<T>
- where
- T::Call: Dispatchable<Info = DispatchInfo>,
- {
- <pallet_transaction_payment::Module<T>>::compute_fee(len as u32, info, tip)
- }
-
- fn get_priority(len: usize, info: &DispatchInfoOf<T::Call>, final_fee: BalanceOf<T>) -> TransactionPriority {
- let weight_saturation = T::BlockWeights::get().max_block / info.weight.max(1);
- let max_block_length = *T::BlockLength::get().max.get(DispatchClass::Normal);
- let len_saturation = max_block_length as u64 / (len as u64).max(1);
- let coefficient: BalanceOf<T> = weight_saturation
- .min(len_saturation)
- .saturated_into::<BalanceOf<T>>();
- final_fee
- .saturating_mul(coefficient)
- .saturated_into::<TransactionPriority>()
- }
-
- fn withdraw_fee(
- &self,
- who: &T::AccountId,
- call: &T::Call,
- info: &DispatchInfoOf<T::Call>,
- len: usize,
- ) -> Result<
- (
- BalanceOf<T>,
- <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::LiquidityInfo,
- ),
- TransactionValidityError,
- > {
- let tip = self.0;
-
- let fee = Self::traditional_fee(len, info, tip);
-
- // Only mess with balances if fee is not zero.
- if fee.is_zero() {
- return <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::withdraw_fee(who, call, info, fee, tip)
- .map(|i| (fee, i));
- }
-
- // Determine who is paying transaction fee based on ecnomic model
- // Parse call to extract collection ID and access collection sponsor
- let mut sponsor: Option<T::AccountId> = (|| match IsSubType::<Call<T>>::is_sub_type(call) {
- Some(Call::create_item(collection_id, _owner, _properties)) => {
- let collection = <CollectionById<T>>::get(collection_id)?;
-
- // sponsor timeout
- let block_number = <system::Module<T>>::block_number() as T::BlockNumber;
-
- let limit = collection.limits.sponsor_transfer_timeout;
- if <CreateItemBasket<T>>::contains_key((collection_id, &who)) {
- let last_tx_block = <CreateItemBasket<T>>::get((collection_id, &who));
- let limit_time = last_tx_block + limit.into();
- if block_number <= limit_time {
- return None;
- }
- }
- <CreateItemBasket<T>>::insert((collection_id, who.clone()), block_number);
-
- // check free create limit
- if collection.limits.sponsored_data_size >= (_properties.len() as u32) {
- collection.sponsorship.sponsor()
- .cloned()
- } else {
- None
- }
- }
- Some(Call::transfer(_new_owner, collection_id, item_id, _value)) => {
- let collection = <CollectionById<T>>::get(collection_id)?;
-
- let mut sponsor_transfer = false;
- if collection.sponsorship.confirmed() {
-
- let collection_limits = collection.limits;
- let collection_mode = collection.mode;
-
- // sponsor timeout
- let block_number = <system::Module<T>>::block_number() as T::BlockNumber;
- sponsor_transfer = match collection_mode {
- CollectionMode::NFT => {
-
- // get correct limit
- let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
- collection_limits.sponsor_transfer_timeout
- } else {
- ChainLimit::get().nft_sponsor_transfer_timeout
- };
-
- let mut sponsored = true;
- if <NftTransferBasket<T>>::contains_key(collection_id, item_id) {
- let last_tx_block = <NftTransferBasket<T>>::get(collection_id, item_id);
- let limit_time = last_tx_block + limit.into();
- if block_number <= limit_time {
- sponsored = false;
- }
- }
- if sponsored {
- <NftTransferBasket<T>>::insert(collection_id, item_id, block_number);
- }
-
- sponsored
- }
- CollectionMode::Fungible(_) => {
-
- // get correct limit
- let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
- collection_limits.sponsor_transfer_timeout
- } else {
- ChainLimit::get().fungible_sponsor_transfer_timeout
- };
-
- let block_number = <system::Module<T>>::block_number() as T::BlockNumber;
- let mut sponsored = true;
- if <FungibleTransferBasket<T>>::contains_key(collection_id, who) {
- let last_tx_block = <FungibleTransferBasket<T>>::get(collection_id, who);
- let limit_time = last_tx_block + limit.into();
- if block_number <= limit_time {
- sponsored = false;
- }
- }
- if sponsored {
- <FungibleTransferBasket<T>>::insert(collection_id, who, block_number);
- }
-
- sponsored
- }
- CollectionMode::ReFungible => {
-
- // get correct limit
- let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
- collection_limits.sponsor_transfer_timeout
- } else {
- ChainLimit::get().refungible_sponsor_transfer_timeout
- };
-
- let mut sponsored = true;
- if <ReFungibleTransferBasket<T>>::contains_key(collection_id, item_id) {
- let last_tx_block = <ReFungibleTransferBasket<T>>::get(collection_id, item_id);
- let limit_time = last_tx_block + limit.into();
- if block_number <= limit_time {
- sponsored = false;
- }
- }
- if sponsored {
- <ReFungibleTransferBasket<T>>::insert(collection_id, item_id, block_number);
- }
-
- sponsored
- }
- _ => {
- false
- },
- };
- }
-
- if !sponsor_transfer {
- None
- } else {
- collection.sponsorship.sponsor()
- .cloned()
- }
- }
-
- Some(Call::set_variable_meta_data(collection_id, item_id, data)) => {
- let mut sponsor_metadata_changes = false;
-
- let collection = <CollectionById<T>>::get(collection_id)?;
-
- if
- collection.sponsorship.confirmed() &&
- // Can't sponsor fungible collection, this tx will be rejected
- // as invalid
- !matches!(collection.mode, CollectionMode::Fungible(_)) &&
- data.len() <= collection.limits.sponsored_data_size as usize
- {
- if let Some(rate_limit) = collection.limits.sponsored_data_rate_limit {
- let block_number = <system::Module<T>>::block_number() as T::BlockNumber;
-
- if <VariableMetaDataBasket<T>>::get(collection_id, item_id)
- .map(|last_block| block_number - last_block > rate_limit)
- .unwrap_or(true)
- {
- sponsor_metadata_changes = true;
- <VariableMetaDataBasket<T>>::insert(collection_id, item_id, block_number);
- }
- }
- }
-
- if !sponsor_metadata_changes {
- None
- } else {
- collection.sponsorship.sponsor().cloned()
- }
- }
-
- _ => None,
- })();
-
- match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {
- Some(pallet_contracts::Call::call(dest, _value, _gas_limit, _data)) => {
-
- let called_contract: T::AccountId = T::Lookup::lookup((*dest).clone()).unwrap_or(T::AccountId::default());
-
- let owned_contract = <ContractOwner<T>>::get(called_contract.clone()).as_ref() == Some(who);
- let white_list_enabled = <ContractWhiteListEnabled<T>>::contains_key(called_contract.clone());
-
- if !owned_contract && white_list_enabled {
- if !<ContractWhiteList<T>>::contains_key(called_contract.clone(), who) {
- return Err(InvalidTransaction::Call.into());
- }
- }
- },
- _ => {},
- }
-
- // Sponsor smart contracts
- sponsor = sponsor.or_else(|| match IsSubType::<pallet_contracts::Call<T>>::is_sub_type(call) {
-
- // On instantiation: set the contract owner
- Some(pallet_contracts::Call::instantiate(_endowment, _gas_limit, code_hash, _data, salt)) => {
-
- let new_contract_address = <pallet_contracts::Module<T>>::contract_address(
- &who,
- code_hash,
- salt,
- );
- <ContractOwner<T>>::insert(new_contract_address.clone(), who.clone());
-
- None
- },
-
- // On instantiation with code: set the contract owner
- Some(pallet_contracts::Call::instantiate_with_code(_endowment, _gas_limit, _code, _data, _salt)) => {
-
- let new_contract_address = <pallet_contracts::Module<T>>::contract_address(
- &who,
- &T::Hashing::hash(&_code),
- _salt,
- );
-
- <ContractOwner<T>>::insert(new_contract_address.clone(), who.clone());
-
- None
- }
-
- // When the contract is called, check if the sponsoring is enabled and pay fees from contract endowment if it is
- Some(pallet_contracts::Call::call(dest, _value, _gas_limit, _data)) => {
-
- let called_contract: T::AccountId = T::Lookup::lookup((*dest).clone()).unwrap_or(T::AccountId::default());
-
- let mut sponsor_transfer = false;
- if <ContractSponsoringRateLimit<T>>::contains_key(called_contract.clone()) {
- let last_tx_block = <ContractSponsorBasket<T>>::get((&called_contract, &who));
- let block_number = <system::Module<T>>::block_number() as T::BlockNumber;
- let rate_limit = <ContractSponsoringRateLimit<T>>::get(&called_contract);
- let limit_time = last_tx_block + rate_limit;
-
- if block_number >= limit_time {
- <ContractSponsorBasket<T>>::insert((called_contract.clone(), who.clone()), block_number);
- sponsor_transfer = true;
- }
- } else {
- sponsor_transfer = false;
- }
-
- if sponsor_transfer {
- if <ContractSelfSponsoring<T>>::contains_key(called_contract.clone()) {
- if <ContractSelfSponsoring<T>>::get(called_contract.clone()) {
- return Some(called_contract);
- }
- }
- }
-
- None
- },
-
- _ => None,
- });
-
- let who_pays_fee = sponsor.unwrap_or_else(|| who.clone());
-
- <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::withdraw_fee(&who_pays_fee, call, info, fee, tip)
- .map(|i| (fee, i))
- }
-}
-
-
-impl<T: Config + Send + Sync> SignedExtension
- for ChargeTransactionPayment<T>
-where
- BalanceOf<T>: Send + Sync + From<u64> + FixedPointOperand,
- T::Call: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + IsSubType<Call<T>> + IsSubType<pallet_contracts::Call<T>>,
- T::AccountId: AsRef<[u8]>,
- T::AccountId: UncheckedFrom<T::Hash>,
-{
- const IDENTIFIER: &'static str = "ChargeTransactionPayment";
- type AccountId = T::AccountId;
- type Call = T::Call;
- type AdditionalSigned = ();
- type Pre = (
- // tip
- BalanceOf<T>,
- // who pays fee
- Self::AccountId,
- // imbalance resulting from withdrawing the fee
- <<T as pallet_transaction_payment::Config>::OnChargeTransaction as pallet_transaction_payment::OnChargeTransaction<T>>::LiquidityInfo,
- );
- fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
- Ok(())
- }
-
- fn validate(
- &self,
- who: &Self::AccountId,
- call: &Self::Call,
- info: &DispatchInfoOf<Self::Call>,
- len: usize,
- ) -> TransactionValidity {
- let (fee, _) = self.withdraw_fee(who, call, info, len)?;
- Ok(ValidTransaction {
- priority: Self::get_priority(len, info, fee),
- ..Default::default()
- })
- }
-
- fn pre_dispatch(
- self,
- who: &Self::AccountId,
- call: &Self::Call,
- info: &DispatchInfoOf<Self::Call>,
- len: usize,
- ) -> Result<Self::Pre, TransactionValidityError> {
- let (_fee, imbalance) = self.withdraw_fee(who, call, info, len)?;
- Ok((self.0, who.clone(), imbalance))
- }
-
- fn post_dispatch(
- pre: Self::Pre,
- info: &DispatchInfoOf<Self::Call>,
- post_info: &PostDispatchInfoOf<Self::Call>,
- len: usize,
- _result: &DispatchResult,
- ) -> Result<(), TransactionValidityError> {
- let (tip, who, imbalance) = pre;
- let actual_fee = pallet_transaction_payment::Module::<T>::compute_actual_fee(
- len as u32,
- info,
- post_info,
- tip,
- );
- <T as pallet_transaction_payment::Config>::OnChargeTransaction::correct_and_deposit_fee(&who, info, post_info, actual_fee, tip, imbalance)?;
- Ok(())
- }
-}
-
-// #endregion
-
-sp_api::decl_runtime_apis! {
- pub trait NftApi {
- /// Used for ethereum integration
- fn eth_contract_code(account: H160) -> Option<Vec<u8>>;
}
}
pallets/nft/src/types.rsdiffbeforeafterboth--- a/pallets/nft/src/types.rs
+++ /dev/null
@@ -1,233 +0,0 @@
-#[cfg(feature = "std")]
-pub use std::*;
-
-pub use serde::{Serealize, Deserialize};
-
-use codec::{Decode, Encode};
-
-pub type CollectionId = u32;
-pub type TokenId = u32;
-pub type DecimalPoints = u8;
-
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum CollectionMode {
- Invalid,
- NFT,
- // decimal points
- Fungible(DecimalPoints),
- // decimal points
- ReFungible(DecimalPoints),
-}
-
-impl Into<u8> for CollectionMode {
- fn into(self) -> u8 {
- match self {
- CollectionMode::Invalid => 0,
- CollectionMode::NFT => 1,
- CollectionMode::Fungible(_) => 2,
- CollectionMode::ReFungible(_) => 3,
- }
- }
-}
-
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum AccessMode {
- Normal,
- WhiteList,
-}
-impl Default for AccessMode {
- fn default() -> Self {
- Self::Normal
- }
-}
-
-impl Default for CollectionMode {
- fn default() -> Self {
- Self::Invalid
- }
-}
-
-#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum SchemaVersion {
- ImageURL,
- Unique,
-}
-impl Default for SchemaVersion {
- fn default() -> Self {
- Self::ImageURL
- }
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct Ownership<AccountId> {
- pub owner: AccountId,
- pub fraction: u128,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CollectionType<AccountId> {
- pub owner: AccountId,
- pub mode: CollectionMode,
- pub access: AccessMode,
- pub decimal_points: DecimalPoints,
- pub name: Vec<u16>, // 64 include null escape char
- pub description: Vec<u16>, // 256 include null escape char
- pub token_prefix: Vec<u8>, // 16 include null escape char
- pub mint_mode: bool,
- pub offchain_schema: Vec<u8>,
- pub schema_version: SchemaVersion,
- pub sponsor: AccountId, // Who pays fees. If set to default address, the fees are applied to the transaction sender
- pub unconfirmed_sponsor: AccountId, // Sponsor address that has not yet confirmed sponsorship
- pub limits: CollectionLimits, // Collection private restrictions
- pub variable_on_chain_schema: Vec<u8>, //
- pub const_on_chain_schema: Vec<u8>, //
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct NftItemType<AccountId> {
- pub collection: CollectionId,
- pub owner: AccountId,
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct FungibleItemType<AccountId> {
- pub collection: CollectionId,
- pub owner: AccountId,
- pub value: u128,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct ReFungibleItemType<AccountId> {
- pub collection: CollectionId,
- pub owner: Vec<Ownership<AccountId>>,
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct ApprovePermissions<AccountId> {
- pub approved: AccountId,
- pub amount: u128,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct VestingItem<AccountId, Moment> {
- pub sender: AccountId,
- pub recipient: AccountId,
- pub collection_id: CollectionId,
- pub item_id: TokenId,
- pub amount: u64,
- pub vesting_date: Moment,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct BasketItem<AccountId, BlockNumber> {
- pub address: AccountId,
- pub start_block: BlockNumber,
-}
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CollectionLimits {
- pub account_token_ownership_limit: u32,
- pub sponsored_data_size: u32,
- pub token_limit: u32,
-
- // Timeouts for item types in passed blocks
- pub sponsor_transfer_timeout: u32,
-}
-
-impl Default for CollectionLimits {
- fn default() -> CollectionLimits {
- CollectionLimits {
- account_token_ownership_limit: 10_000_000,
- token_limit: u32::max_value(),
- sponsored_data_size: u32::max_value(),
- sponsor_transfer_timeout: 14400 }
- }
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct ChainLimits {
- pub collection_numbers_limit: u32,
- pub account_token_ownership_limit: u32,
- pub collections_admins_limit: u64,
- pub custom_data_limit: u32,
-
- // Timeouts for item types in passed blocks
- pub nft_sponsor_transfer_timeout: u32,
- pub fungible_sponsor_transfer_timeout: u32,
- pub refungible_sponsor_transfer_timeout: u32,
-}
-
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CreateNftData {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CreateFungibleData {
-}
-
-#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub struct CreateReFungibleData {
- pub const_data: Vec<u8>,
- pub variable_data: Vec<u8>,
-}
-
-#[derive(Encode, Decode, Debug, Clone, PartialEq)]
-#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
-pub enum CreateItemData {
- NFT(CreateNftData),
- Fungible(CreateFungibleData),
- ReFungible(CreateReFungibleData),
-}
-
-impl CreateItemData {
- pub fn len(&self) -> usize {
- let len = match self {
- CreateItemData::NFT(data) => data.variable_data.len() + data.const_data.len(),
- CreateItemData::ReFungible(data) => data.variable_data.len() + data.const_data.len(),
- _ => 0
- };
-
- return len;
- }
-}
-
-impl From<CreateNftData> for CreateItemData {
- fn from(item: CreateNftData) -> Self {
- CreateItemData::NFT(item)
- }
-}
-
-impl From<CreateReFungibleData> for CreateItemData {
- fn from(item: CreateReFungibleData) -> Self {
- CreateItemData::ReFungible(item)
- }
-}
-
-impl From<CreateFungibleData> for CreateItemData {
- fn from(item: CreateFungibleData) -> Self {
- CreateItemData::Fungible(item)
- }
-}
pallets/scheduler/Cargo.tomldiffbeforeafterboth--- /dev/null
+++ b/pallets/scheduler/Cargo.toml
@@ -0,0 +1,53 @@
+[package]
+name = "pallet-scheduler"
+version = "3.0.0"
+authors = ["Parity Technologies <admin@parity.io>"]
+edition = "2018"
+license = "Unlicense"
+homepage = "https://substrate.dev"
+repository = "https://github.com/paritytech/substrate/"
+description = "FRAME example pallet"
+readme = "README.md"
+
+[dependencies]
+serde = { version = "1.0.119" }
+codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
+frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-runtime = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-std = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-io = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-benchmarking = { default-features = false, version = '3.0.0', optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+
+pallet-nft-transaction-payment = { default-features = false, path = "../nft-transaction-payment" }
+pallet-nft = { default-features = false, path = "../nft" }
+nft-data-structs = { path = '../../primitives', default-features = false }
+log = { version = "0.4.14", default-features = false }
+
+[dev-dependencies]
+sp-core = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+substrate-test-utils = { version = "3.0.0", git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+
+[features]
+default = ["std"]
+std = [
+ "codec/std",
+ "sp-runtime/std",
+ "frame-benchmarking/std",
+ "frame-support/std",
+ "frame-system/std",
+ "pallet-nft-transaction-payment/std",
+ "pallet-nft/std",
+ "pallet-contracts/std",
+ "nft-data-structs/std",
+ "sp-io/std",
+ "sp-std/std",
+ "log/std",
+]
+runtime-benchmarks = [
+ "frame-benchmarking",
+ "frame-support/runtime-benchmarks",
+ "frame-system/runtime-benchmarks",
+]
+#try-runtime = ["frame-support/try-runtime"]
pallets/scheduler/README.mddiffbeforeafterboth--- /dev/null
+++ b/pallets/scheduler/README.md
@@ -0,0 +1,34 @@
+# Scheduler
+A module for scheduling dispatches.
+
+- [`scheduler::Trait`](https://docs.rs/pallet-scheduler/latest/pallet_scheduler/trait.Trait.html)
+- [`Call`](https://docs.rs/pallet-scheduler/latest/pallet_scheduler/enum.Call.html)
+- [`Module`](https://docs.rs/pallet-scheduler/latest/pallet_scheduler/struct.Module.html)
+
+## Overview
+
+This module exposes capabilities for scheduling dispatches to occur at a
+specified block number or at a specified period. These scheduled dispatches
+may be named or anonymous and may be canceled.
+
+**NOTE:** The scheduled calls will be dispatched with the default filter
+for the origin: namely `frame_system::Config::BaseCallFilter` for all origin
+except root which will get no filter. And not the filter contained in origin
+use to call `fn schedule`.
+
+If a call is scheduled using proxy or whatever mecanism which adds filter,
+then those filter will not be used when dispatching the schedule call.
+
+## Interface
+
+### Dispatchable Functions
+
+* `schedule` - schedule a dispatch, which may be periodic, to occur at a
+ specified block and with a specified priority.
+* `cancel` - cancel a scheduled dispatch, specified by block number and
+ index.
+* `schedule_named` - augments the `schedule` interface with an additional
+ `Vec<u8>` parameter that can be used for identification.
+* `cancel_named` - the named complement to the cancel function.
+
+License: Unlicense
pallets/scheduler/src/benchmarking.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/scheduler/src/benchmarking.rs
@@ -0,0 +1,148 @@
+// This file is part of Substrate.
+
+// Copyright (C) 2020-2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: Apache-2.0
+
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Scheduler pallet benchmarking.
+
+#![cfg(feature = "runtime-benchmarks")]
+
+use super::*;
+use sp_std::{vec, prelude::*};
+use frame_system::RawOrigin;
+use frame_support::{ensure, traits::OnInitialize};
+use frame_benchmarking::{benchmarks, impl_benchmark_test_suite};
+
+use crate::Module as Scheduler;
+use frame_system::Pallet as System;
+
+const BLOCK_NUMBER: u32 = 2;
+
+// Add `n` named items to the schedule
+fn fill_schedule<T: Config> (when: T::BlockNumber, n: u32) -> Result<(), &'static str> {
+ // Essentially a no-op call.
+ let call = frame_system::Call::set_storage(vec![]);
+ for i in 0..n {
+ // Named schedule is strictly heavier than anonymous
+ Scheduler::<T>::do_schedule_named(
+ i.encode(),
+ DispatchTime::At(when),
+ // Add periodicity
+ Some((T::BlockNumber::one(), 100)),
+ // HARD_DEADLINE priority means it gets executed no matter what
+ 0,
+ frame_system::RawOrigin::Root.into(),
+ call.clone().into(),
+ )?;
+ }
+ ensure!(Agenda::<T>::get(when).len() == n as usize, "didn't fill schedule");
+ Ok(())
+}
+
+benchmarks! {
+ schedule {
+ let s in 0 .. T::MaxScheduledPerBlock::get();
+ let when = BLOCK_NUMBER.into();
+ let periodic = Some((T::BlockNumber::one(), 100));
+ let priority = 0;
+ // Essentially a no-op call.
+ let call = Box::new(frame_system::Call::set_storage(vec![]).into());
+
+ fill_schedule::<T>(when, s)?;
+ }: _(RawOrigin::Root, when, periodic, priority, call)
+ verify {
+ ensure!(
+ Agenda::<T>::get(when).len() == (s + 1) as usize,
+ "didn't add to schedule"
+ );
+ }
+
+ cancel {
+ let s in 1 .. T::MaxScheduledPerBlock::get();
+ let when = BLOCK_NUMBER.into();
+
+ fill_schedule::<T>(when, s)?;
+ assert_eq!(Agenda::<T>::get(when).len(), s as usize);
+ }: _(RawOrigin::Root, when, 0)
+ verify {
+ ensure!(
+ Lookup::<T>::get(0.encode()).is_none(),
+ "didn't remove from lookup"
+ );
+ // Removed schedule is NONE
+ ensure!(
+ Agenda::<T>::get(when)[0].is_none(),
+ "didn't remove from schedule"
+ );
+ }
+
+ schedule_named {
+ let s in 0 .. T::MaxScheduledPerBlock::get();
+ let id = s.encode();
+ let when = BLOCK_NUMBER.into();
+ let periodic = Some((T::BlockNumber::one(), 100));
+ let priority = 0;
+ // Essentially a no-op call.
+ let call = Box::new(frame_system::Call::set_storage(vec![]).into());
+
+ fill_schedule::<T>(when, s)?;
+ }: _(RawOrigin::Root, id, when, periodic, priority, call)
+ verify {
+ ensure!(
+ Agenda::<T>::get(when).len() == (s + 1) as usize,
+ "didn't add to schedule"
+ );
+ }
+
+ cancel_named {
+ let s in 1 .. T::MaxScheduledPerBlock::get();
+ let when = BLOCK_NUMBER.into();
+
+ fill_schedule::<T>(when, s)?;
+ }: _(RawOrigin::Root, 0.encode())
+ verify {
+ ensure!(
+ Lookup::<T>::get(0.encode()).is_none(),
+ "didn't remove from lookup"
+ );
+ // Removed schedule is NONE
+ ensure!(
+ Agenda::<T>::get(when)[0].is_none(),
+ "didn't remove from schedule"
+ );
+ }
+
+ // TODO [#7141]: Make this more complex and flexible so it can be used in automation.
+ #[extra]
+ on_initialize {
+ let s in 0 .. T::MaxScheduledPerBlock::get();
+ let when = BLOCK_NUMBER.into();
+ fill_schedule::<T>(when, s)?;
+ }: { Scheduler::<T>::on_initialize(BLOCK_NUMBER.into()); }
+ verify {
+ assert_eq!(System::<T>::event_count(), s);
+ // Next block should have all the schedules again
+ ensure!(
+ Agenda::<T>::get(when + T::BlockNumber::one()).len() == s as usize,
+ "didn't append schedule"
+ );
+ }
+}
+
+impl_benchmark_test_suite!(
+ Scheduler,
+ crate::tests::new_test_ext(),
+ crate::tests::Test,
+);
pallets/scheduler/src/lib.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/scheduler/src/lib.rs
@@ -0,0 +1,1610 @@
+// This file is part of Substrate.
+
+// Copyright (C) 2017-2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: Apache-2.0
+
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! # Scheduler
+//! A module for scheduling dispatches.
+//!
+//! - [`Config`]
+//! - [`Call`]
+//! - [`Module`]
+//!
+//! ## Overview
+//!
+//! This module exposes capabilities for scheduling dispatches to occur at a
+//! specified block number or at a specified period. These scheduled dispatches
+//! may be named or anonymous and may be canceled.
+//!
+//! **NOTE:** The scheduled calls will be dispatched with the default filter
+//! for the origin: namely `frame_system::Config::BaseCallFilter` for all origin
+//! except root which will get no filter. And not the filter contained in origin
+//! use to call `fn schedule`.
+//!
+//! If a call is scheduled using proxy or whatever mecanism which adds filter,
+//! then those filter will not be used when dispatching the schedule call.
+//!
+//! ## Interface
+//!
+//! ### Dispatchable Functions
+//!
+//! * `schedule` - schedule a dispatch, which may be periodic, to occur at a
+//! specified block and with a specified priority.
+//! * `cancel` - cancel a scheduled dispatch, specified by block number and
+//! index.
+//! * `schedule_named` - augments the `schedule` interface with an additional
+//! `Vec<u8>` parameter that can be used for identification.
+//! * `cancel_named` - the named complement to the cancel function.
+
+// Ensure we're `no_std` when compiling for Wasm.
+#![cfg_attr(not(feature = "std"), no_std)]
+
+mod benchmarking;
+pub mod weights;
+
+use sp_std::{prelude::*, marker::PhantomData, borrow::Borrow};
+use codec::{Encode, Decode, Codec};
+use sp_runtime::{RuntimeDebug, traits::{Zero, One, BadOrigin, Saturating}};
+use frame_support::{
+ decl_module, decl_storage, decl_event, decl_error, IterableStorageMap,
+ dispatch::{Dispatchable, DispatchError, DispatchResult, Parameter},
+ traits::{Get, schedule::{self, DispatchTime}, OriginTrait, EnsureOrigin, IsType},
+ weights::{GetDispatchInfo, Weight},
+};
+use frame_system::{self as system, ensure_signed};
+use pallet_nft::*;
+// use pallet_nft_transaction_payment::{self as nft_transaction_payment};
+use nft_data_structs::*;
+pub use weights::WeightInfo;
+
+/// Our pallet's configuration trait. All our types and constants go in here. If the
+/// pallet is dependent on specific other pallets, then their configuration traits
+/// should be added to our implied traits list.
+///
+/// `system::Config` should always be included in our implied traits.
+/// //
+pub trait Config: system::Config
+{
+
+ /// The overarching event type.
+ type Event: From<Event<Self>> + Into<<Self as system::Config>::Event>;
+
+ /// The aggregated origin which the dispatch will take.
+ type Origin: OriginTrait<PalletsOrigin = Self::PalletsOrigin>
+ + From<Self::PalletsOrigin> + IsType<<Self as system::Config>::Origin>;
+
+ /// The caller origin, overarching type of all pallets origins.
+ type PalletsOrigin: From<system::RawOrigin<Self::AccountId>> + Codec + Clone + Eq;
+
+ /// The aggregated call type.
+ type Call: Parameter + Dispatchable<Origin=<Self as Config>::Origin> + GetDispatchInfo + From<system::Call<Self>>;
+
+ /// The maximum weight that may be scheduled per block for any dispatchables of less priority
+ /// than `schedule::HARD_DEADLINE`.
+ type MaximumWeight: Get<Weight>;
+
+ /// Required origin to schedule or cancel calls.
+ type ScheduleOrigin: EnsureOrigin<<Self as system::Config>::Origin>;
+
+ /// The maximum number of scheduled calls in the queue for a single block.
+ /// Not strictly enforced, but used for weight estimation.
+ type MaxScheduledPerBlock: Get<u32>;
+
+ /// Sponsoring function
+ type Sponsoring: SponsoringResolve<Self::AccountId, <Self as Config>::Call>;
+
+ /// Weight information for extrinsics in this pallet.
+ type WeightInfo: WeightInfo;
+}
+
+// pub type SelfWeightInfo<T> = <T as system::Config>::WeightInfo;
+
+/// Just a simple index for naming period tasks.
+pub type PeriodicIndex = u32;
+/// The location of a scheduled task that can be used to remove it.
+pub type TaskAddress<BlockNumber> = (BlockNumber, u32);
+
+#[cfg_attr(any(feature = "std", test), derive(PartialEq, Eq))]
+#[derive(Clone, RuntimeDebug, Encode, Decode)]
+struct ScheduledV1<Call, BlockNumber> {
+ maybe_id: Option<Vec<u8>>,
+ priority: schedule::Priority,
+ call: Call,
+ maybe_periodic: Option<schedule::Period<BlockNumber>>,
+}
+
+/// Information regarding an item to be executed in the future.
+#[cfg_attr(any(feature = "std", test), derive(PartialEq, Eq))]
+#[derive(Clone, RuntimeDebug, Encode, Decode)]
+pub struct ScheduledV2<Call, BlockNumber, PalletsOrigin, AccountId> {
+ /// The unique identity for this task, if there is one.
+ maybe_id: Option<Vec<u8>>,
+ /// This task's priority.
+ priority: schedule::Priority,
+ /// The call to be dispatched.
+ call: Call,
+ /// If the call is periodic, then this points to the information concerning that.
+ maybe_periodic: Option<schedule::Period<BlockNumber>>,
+ /// The origin to dispatch the call.
+ origin: PalletsOrigin,
+ _phantom: PhantomData<AccountId>,
+}
+
+/// The current version of Scheduled struct.
+pub type Scheduled<Call, BlockNumber, PalletsOrigin, AccountId> = ScheduledV2<Call, BlockNumber, PalletsOrigin, AccountId>;
+
+// A value placed in storage that represents the current version of the Scheduler storage.
+// This value is used by the `on_runtime_upgrade` logic to determine whether we run
+// storage migration logic.
+#[derive(Encode, Decode, Clone, Copy, PartialEq, Eq, RuntimeDebug)]
+enum Releases {
+ V1,
+ V2,
+}
+
+impl Default for Releases {
+ fn default() -> Self {
+ Releases::V1
+ }
+}
+
+#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug)]
+pub struct CallSpec {
+
+ module: u32,
+ method: u32,
+}
+
+decl_storage! {
+ trait Store for Module<T: Config> as Scheduler {
+ /// Items to be executed, indexed by the block number that they should be executed on.
+ pub Agenda: map hasher(twox_64_concat) T::BlockNumber
+ => Vec<Option<Scheduled<<T as Config>::Call, T::BlockNumber, T::PalletsOrigin, T::AccountId>>>;
+
+ pub SpecAgenda: map hasher(twox_64_concat) T::BlockNumber
+ => Vec<Option<CallSpec>>;
+
+ /// Lookup from identity to the block number and index of the task.
+ Lookup: map hasher(twox_64_concat) Vec<u8> => Option<TaskAddress<T::BlockNumber>>;
+
+ /// Storage version of the pallet.
+ ///
+ /// New networks start with last version.
+ StorageVersion build(|_| Releases::V2): Releases;
+ }
+}
+
+decl_event!(
+ pub enum Event<T> where <T as system::Config>::BlockNumber {
+ /// Scheduled some task. \[when, index\]
+ Scheduled(BlockNumber, u32),
+ /// Canceled some task. \[when, index\]
+ Canceled(BlockNumber, u32),
+ /// Dispatched some task. \[task, id, result\]
+ Dispatched(TaskAddress<BlockNumber>, Option<Vec<u8>>, DispatchResult),
+ }
+);
+
+decl_error! {
+ pub enum Error for Module<T: Config> {
+ /// Failed to schedule a call
+ FailedToSchedule,
+ /// Cannot find the scheduled call.
+ NotFound,
+ /// Given target block number is in the past.
+ TargetBlockNumberInPast,
+ /// Reschedule failed because it does not change scheduled time.
+ RescheduleNoChange,
+ }
+}
+
+decl_module! {
+ /// Scheduler module declaration.
+ pub struct Module<T: Config> for enum Call
+ where
+ origin: <T as system::Config>::Origin
+ {
+ type Error = Error<T>;
+ fn deposit_event() = default;
+
+
+ /// Anonymously schedule a task.
+ ///
+ /// # <weight>
+ /// - S = Number of already scheduled calls
+ /// - Base Weight: 22.29 + .126 * S µs
+ /// - DB Weight:
+ /// - Read: Agenda
+ /// - Write: Agenda
+ /// - Will use base weight of 25 which should be good for up to 30 scheduled calls
+ /// # </weight>
+ #[weight = <T as Config>::WeightInfo::schedule(T::MaxScheduledPerBlock::get())]
+ fn schedule(origin,
+ when: T::BlockNumber,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ call: Box<<T as Config>::Call>,
+ )
+ {
+ let origin = <T as Config>::Origin::from(origin);
+ Self::do_schedule(DispatchTime::At(when), maybe_periodic, priority, origin.caller().clone(), *call)?;
+ }
+
+ /// Cancel an anonymously scheduled task.
+ ///
+ /// # <weight>
+ /// - S = Number of already scheduled calls
+ /// - Base Weight: 22.15 + 2.869 * S µs
+ /// - DB Weight:
+ /// - Read: Agenda
+ /// - Write: Agenda, Lookup
+ /// - Will use base weight of 100 which should be good for up to 30 scheduled calls
+ /// # </weight>
+ #[weight = <T as Config>::WeightInfo::cancel(T::MaxScheduledPerBlock::get())]
+ fn cancel(origin, when: T::BlockNumber, index: u32) {
+ T::ScheduleOrigin::ensure_origin(origin.clone())?;
+ let origin = <T as Config>::Origin::from(origin);
+ Self::do_cancel(Some(origin.caller().clone()), (when, index))?;
+ }
+
+ /// Schedule a named task.
+ ///
+ /// # <weight>
+ /// - S = Number of already scheduled calls
+ /// - Base Weight: 29.6 + .159 * S µs
+ /// - DB Weight:
+ /// - Read: Agenda, Lookup
+ /// - Write: Agenda, Lookup
+ /// - Will use base weight of 35 which should be good for more than 30 scheduled calls
+ /// # </weight>
+ #[weight = <T as Config>::WeightInfo::schedule_named(T::MaxScheduledPerBlock::get())]
+ fn schedule_named(origin,
+ id: Vec<u8>,
+ when: T::BlockNumber,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ call: Box<<T as Config>::Call>,
+ ) {
+ T::ScheduleOrigin::ensure_origin(origin.clone())?;
+ let origin = <T as Config>::Origin::from(origin);
+ Self::do_schedule_named(
+ id, DispatchTime::At(when), maybe_periodic, priority, origin.caller().clone(), *call
+ )?;
+ }
+
+ /// Cancel a named scheduled task.
+ ///
+ /// # <weight>
+ /// - S = Number of already scheduled calls
+ /// - Base Weight: 24.91 + 2.907 * S µs
+ /// - DB Weight:
+ /// - Read: Agenda, Lookup
+ /// - Write: Agenda, Lookup
+ /// - Will use base weight of 100 which should be good for up to 30 scheduled calls
+ /// # </weight>
+ #[weight = <T as Config>::WeightInfo::cancel_named(T::MaxScheduledPerBlock::get())]
+ fn cancel_named(origin, id: Vec<u8>) {
+ T::ScheduleOrigin::ensure_origin(origin.clone())?;
+ let origin = <T as Config>::Origin::from(origin);
+ Self::do_cancel_named(Some(origin.caller().clone()), id)?;
+ }
+
+ /// Anonymously schedule a task after a delay.
+ ///
+ /// # <weight>
+ /// Same as [`schedule`].
+ /// # </weight>
+ #[weight = <T as Config>::WeightInfo::schedule(T::MaxScheduledPerBlock::get())]
+ fn schedule_after(origin,
+ after: T::BlockNumber,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ call: Box<<T as Config>::Call>,
+ ) {
+ T::ScheduleOrigin::ensure_origin(origin.clone())?;
+ let origin = <T as Config>::Origin::from(origin);
+ Self::do_schedule(
+ DispatchTime::After(after), maybe_periodic, priority, origin.caller().clone(), *call
+ )?;
+ }
+
+ /// Schedule a named task after a delay.
+ ///
+ /// # <weight>
+ /// Same as [`schedule_named`].
+ /// # </weight>
+ #[weight = <T as Config>::WeightInfo::schedule_named(T::MaxScheduledPerBlock::get())]
+ fn schedule_named_after(origin,
+ id: Vec<u8>,
+ after: T::BlockNumber,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ call: Box<<T as Config>::Call>,
+ ) {
+ T::ScheduleOrigin::ensure_origin(origin.clone())?;
+ let origin = <T as Config>::Origin::from(origin);
+ Self::do_schedule_named(
+ id, DispatchTime::After(after), maybe_periodic, priority, origin.caller().clone(), *call
+ )?;
+ }
+
+ /// Execute the scheduled calls
+ ///
+ /// # <weight>
+ /// - S = Number of already scheduled calls
+ /// - N = Named scheduled calls
+ /// - P = Periodic Calls
+ /// - Base Weight: 9.243 + 23.45 * S µs
+ /// - DB Weight:
+ /// - Read: Agenda + Lookup * N + Agenda(Future) * P
+ /// - Write: Agenda + Lookup * N + Agenda(future) * P
+ /// # </weight>
+ fn on_initialize(now: T::BlockNumber) -> Weight {
+ let limit = T::MaximumWeight::get();
+ let mut queued = Agenda::<T>::take(now).into_iter()
+ .enumerate()
+ .filter_map(|(index, s)| s.map(|inner| (index as u32, inner)))
+ .collect::<Vec<_>>();
+ if queued.len() as u32 > T::MaxScheduledPerBlock::get() {
+ log::warn!(
+ target: "runtime::scheduler",
+ "Warning: This block has more items queued in Scheduler than \
+ expected from the runtime configuration. An update might be needed."
+ );
+ }
+ queued.sort_by_key(|(_, s)| s.priority);
+ let base_weight: Weight = T::DbWeight::get().reads_writes(1, 2); // Agenda + Agenda(next)
+ let mut total_weight: Weight = 0;
+ queued.into_iter()
+ .enumerate()
+ .scan(base_weight, |cumulative_weight, (order, (index, s))| {
+ *cumulative_weight = cumulative_weight
+ .saturating_add(s.call.get_dispatch_info().weight);
+
+ let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(
+ s.origin.clone()
+ ).into();
+
+ if ensure_signed(origin).is_ok() {
+ // AccountData for inner call origin accountdata.
+ *cumulative_weight = cumulative_weight
+ .saturating_add(T::DbWeight::get().reads_writes(1, 1));
+ }
+
+ if s.maybe_id.is_some() {
+ // Remove/Modify Lookup
+ *cumulative_weight = cumulative_weight.saturating_add(T::DbWeight::get().writes(1));
+ }
+ if s.maybe_periodic.is_some() {
+ // Read/Write Agenda for future block
+ *cumulative_weight = cumulative_weight.saturating_add(T::DbWeight::get().reads_writes(1, 1));
+ }
+
+ Some((order, index, *cumulative_weight, s))
+ })
+ .filter_map(|(order, index, cumulative_weight, mut s)| {
+ // We allow a scheduled call if any is true:
+ // - It's priority is `HARD_DEADLINE`
+ // - It does not push the weight past the limit.
+ // - It is the first item in the schedule
+ if s.priority <= schedule::HARD_DEADLINE || cumulative_weight <= limit || order == 0 {
+
+ let origin = <<T as Config>::Origin as From<T::PalletsOrigin>>::from(
+ s.origin.clone()
+ ).into();
+ let sender = ensure_signed(origin).unwrap_or(T::AccountId::default());
+ let who_will_pay = T::Sponsoring::resolve(&sender, &s.call.clone()).unwrap_or(
+ sender);
+ let sponsor = T::PalletsOrigin::from(system::RawOrigin::Signed(who_will_pay));
+ let r = s.call.clone().dispatch(sponsor.into());
+ let maybe_id = s.maybe_id.clone();
+ if let &Some((period, count)) = &s.maybe_periodic {
+ if count > 1 {
+ s.maybe_periodic = Some((period, count - 1));
+ } else {
+ s.maybe_periodic = None;
+ }
+ let next = now + period;
+ // If scheduled is named, place it's information in `Lookup`
+ if let Some(ref id) = s.maybe_id {
+ let next_index = Agenda::<T>::decode_len(now + period).unwrap_or(0);
+ Lookup::<T>::insert(id, (next, next_index as u32));
+ }
+ Agenda::<T>::append(next, Some(s));
+ } else {
+ if let Some(ref id) = s.maybe_id {
+ Lookup::<T>::remove(id);
+ }
+ }
+ Self::deposit_event(RawEvent::Dispatched(
+ (now, index),
+ maybe_id,
+ r.map(|_| ()).map_err(|e| e.error)
+ ));
+ total_weight = cumulative_weight;
+ None
+ } else {
+ Some(Some(s))
+ }
+ })
+ .for_each(|unused| {
+ let next = now + One::one();
+ Agenda::<T>::append(next, unused);
+ });
+
+ total_weight
+ }
+ }
+}
+
+impl<T: Config> Module<T> {
+ /// Migrate storage format from V1 to V2.
+ /// Return true if migration is performed.
+ pub fn migrate_v1_to_t2() -> bool {
+ if StorageVersion::get() == Releases::V1 {
+ StorageVersion::put(Releases::V2);
+
+ Agenda::<T>::translate::<
+ Vec<Option<ScheduledV1<<T as Config>::Call, T::BlockNumber>>>, _
+ >(|_, agenda| Some(
+ agenda
+ .into_iter()
+ .map(|schedule| schedule.map(|schedule| ScheduledV2 {
+ maybe_id: schedule.maybe_id,
+ priority: schedule.priority,
+ call: schedule.call,
+ maybe_periodic: schedule.maybe_periodic,
+ origin: system::RawOrigin::Root.into(),
+ _phantom: Default::default(),
+ }))
+ .collect::<Vec<_>>()
+ ));
+
+ true
+ } else {
+ false
+ }
+ }
+
+ /// Helper to migrate scheduler when the pallet origin type has changed.
+ pub fn migrate_origin<OldOrigin: Into<T::PalletsOrigin> + codec::Decode>() {
+ Agenda::<T>::translate::<
+ Vec<Option<Scheduled<<T as Config>::Call, T::BlockNumber, OldOrigin, T::AccountId>>>, _
+ >(|_, agenda| Some(
+ agenda
+ .into_iter()
+ .map(|schedule| schedule.map(|schedule| Scheduled {
+ maybe_id: schedule.maybe_id,
+ priority: schedule.priority,
+ call: schedule.call,
+ maybe_periodic: schedule.maybe_periodic,
+ origin: schedule.origin.into(),
+ _phantom: Default::default(),
+ }))
+ .collect::<Vec<_>>()
+ ));
+ }
+
+ fn resolve_time(when: DispatchTime<T::BlockNumber>) -> Result<T::BlockNumber, DispatchError> {
+ let now = frame_system::Pallet::<T>::block_number();
+
+ let when = match when {
+ DispatchTime::At(x) => x,
+ // The current block has already completed it's scheduled tasks, so
+ // Schedule the task at lest one block after this current block.
+ DispatchTime::After(x) => now.saturating_add(x).saturating_add(One::one())
+ };
+
+ if when <= now {
+ return Err(Error::<T>::TargetBlockNumberInPast.into())
+ }
+
+ Ok(when)
+ }
+
+ fn do_schedule(
+ when: DispatchTime<T::BlockNumber>,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ origin: T::PalletsOrigin,
+ call: <T as Config>::Call
+ ) -> Result<TaskAddress<T::BlockNumber>, DispatchError> {
+ let when = Self::resolve_time(when)?;
+
+ // sanitize maybe_periodic
+ let maybe_periodic = maybe_periodic
+ .filter(|p| p.1 > 1 && !p.0.is_zero())
+ // Remove one from the number of repetitions since we will schedule one now.
+ .map(|(p, c)| (p, c - 1));
+ let s = Some(Scheduled {
+ maybe_id: None, priority, call, maybe_periodic, origin, _phantom: PhantomData::<T::AccountId>::default(),
+ });
+ Agenda::<T>::append(when, s);
+ let index = Agenda::<T>::decode_len(when).unwrap_or(1) as u32 - 1;
+ if index > T::MaxScheduledPerBlock::get() {
+ log::warn!(
+ target: "runtime::scheduler",
+ "Warning: There are more items queued in the Scheduler than \
+ expected from the runtime configuration. An update might be needed.",
+ );
+ }
+ Self::deposit_event(RawEvent::Scheduled(when, index));
+
+ Ok((when, index))
+ }
+
+ fn do_cancel(
+ origin: Option<T::PalletsOrigin>,
+ (when, index): TaskAddress<T::BlockNumber>
+ ) -> Result<(), DispatchError> {
+ let scheduled = Agenda::<T>::try_mutate(
+ when,
+ |agenda| {
+ agenda.get_mut(index as usize)
+ .map_or(Ok(None), |s| -> Result<Option<Scheduled<_, _, _, _>>, DispatchError> {
+ if let (Some(ref o), Some(ref s)) = (origin, s.borrow()) {
+ if *o != s.origin {
+ return Err(BadOrigin.into());
+ }
+ };
+ Ok(s.take())
+ })
+ },
+ )?;
+ if let Some(s) = scheduled {
+ if let Some(id) = s.maybe_id {
+ Lookup::<T>::remove(id);
+ }
+ Self::deposit_event(RawEvent::Canceled(when, index));
+ Ok(())
+ } else {
+ Err(Error::<T>::NotFound)?
+ }
+ }
+
+ fn do_reschedule(
+ (when, index): TaskAddress<T::BlockNumber>,
+ new_time: DispatchTime<T::BlockNumber>,
+ ) -> Result<TaskAddress<T::BlockNumber>, DispatchError> {
+ let new_time = Self::resolve_time(new_time)?;
+
+ if new_time == when {
+ return Err(Error::<T>::RescheduleNoChange.into());
+ }
+
+ Agenda::<T>::try_mutate(when, |agenda| -> DispatchResult {
+ let task = agenda.get_mut(index as usize).ok_or(Error::<T>::NotFound)?;
+ let task = task.take().ok_or(Error::<T>::NotFound)?;
+ Agenda::<T>::append(new_time, Some(task));
+ Ok(())
+ })?;
+
+ let new_index = Agenda::<T>::decode_len(new_time).unwrap_or(1) as u32 - 1;
+ Self::deposit_event(RawEvent::Canceled(when, index));
+ Self::deposit_event(RawEvent::Scheduled(new_time, new_index));
+
+ Ok((new_time, new_index))
+ }
+
+ fn do_schedule_named(
+ id: Vec<u8>,
+ when: DispatchTime<T::BlockNumber>,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ origin: T::PalletsOrigin,
+ call: <T as Config>::Call,
+ ) -> Result<TaskAddress<T::BlockNumber>, DispatchError> {
+ // ensure id it is unique
+ if Lookup::<T>::contains_key(&id) {
+ return Err(Error::<T>::FailedToSchedule)?
+ }
+
+ let when = Self::resolve_time(when)?;
+
+ // sanitize maybe_periodic
+ let maybe_periodic = maybe_periodic
+ .filter(|p| p.1 > 1 && !p.0.is_zero())
+ // Remove one from the number of repetitions since we will schedule one now.
+ .map(|(p, c)| (p, c - 1));
+
+ let s = Scheduled {
+ maybe_id: Some(id.clone()), priority, call, maybe_periodic, origin, _phantom: Default::default()
+ };
+ Agenda::<T>::append(when, Some(s));
+ let index = Agenda::<T>::decode_len(when).unwrap_or(1) as u32 - 1;
+ if index > T::MaxScheduledPerBlock::get() {
+ log::warn!(
+ target: "runtime::scheduler",
+ "Warning: There are more items queued in the Scheduler than \
+ expected from the runtime configuration. An update might be needed.",
+ );
+ }
+ let address = (when, index);
+ Lookup::<T>::insert(&id, &address);
+ Self::deposit_event(RawEvent::Scheduled(when, index));
+
+ Ok(address)
+ }
+
+ fn do_cancel_named(origin: Option<T::PalletsOrigin>, id: Vec<u8>) -> DispatchResult {
+ Lookup::<T>::try_mutate_exists(id, |lookup| -> DispatchResult {
+ if let Some((when, index)) = lookup.take() {
+ let i = index as usize;
+ Agenda::<T>::try_mutate(when, |agenda| -> DispatchResult {
+ if let Some(s) = agenda.get_mut(i) {
+ if let (Some(ref o), Some(ref s)) = (origin, s.borrow()) {
+ if *o != s.origin {
+ return Err(BadOrigin.into());
+ }
+ }
+ *s = None;
+ }
+ Ok(())
+ })?;
+ Self::deposit_event(RawEvent::Canceled(when, index));
+ Ok(())
+ } else {
+ Err(Error::<T>::NotFound)?
+ }
+ })
+ }
+
+ fn do_reschedule_named(
+ id: Vec<u8>,
+ new_time: DispatchTime<T::BlockNumber>,
+ ) -> Result<TaskAddress<T::BlockNumber>, DispatchError> {
+ let new_time = Self::resolve_time(new_time)?;
+
+ Lookup::<T>::try_mutate_exists(id, |lookup| -> Result<TaskAddress<T::BlockNumber>, DispatchError> {
+ let (when, index) = lookup.ok_or(Error::<T>::NotFound)?;
+
+ if new_time == when {
+ return Err(Error::<T>::RescheduleNoChange.into());
+ }
+
+ Agenda::<T>::try_mutate(when, |agenda| -> DispatchResult {
+ let task = agenda.get_mut(index as usize).ok_or(Error::<T>::NotFound)?;
+ let task = task.take().ok_or(Error::<T>::NotFound)?;
+ Agenda::<T>::append(new_time, Some(task));
+
+ Ok(())
+ })?;
+
+ let new_index = Agenda::<T>::decode_len(new_time).unwrap_or(1) as u32 - 1;
+ Self::deposit_event(RawEvent::Canceled(when, index));
+ Self::deposit_event(RawEvent::Scheduled(new_time, new_index));
+
+ *lookup = Some((new_time, new_index));
+
+ Ok((new_time, new_index))
+ })
+ }
+}
+
+impl<T: Config> schedule::Anon<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin> for Module<T> {
+ type Address = TaskAddress<T::BlockNumber>;
+
+ fn schedule(
+ when: DispatchTime<T::BlockNumber>,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ origin: T::PalletsOrigin,
+ call: <T as Config>::Call
+ ) -> Result<Self::Address, DispatchError> {
+ Self::do_schedule(when, maybe_periodic, priority, origin, call)
+ }
+
+ fn cancel((when, index): Self::Address) -> Result<(), ()> {
+ Self::do_cancel(None, (when, index)).map_err(|_| ())
+ }
+
+ fn reschedule(
+ address: Self::Address,
+ when: DispatchTime<T::BlockNumber>,
+ ) -> Result<Self::Address, DispatchError> {
+ Self::do_reschedule(address, when)
+ }
+
+ fn next_dispatch_time((when, index): Self::Address) -> Result<T::BlockNumber, ()> {
+ Agenda::<T>::get(when).get(index as usize).ok_or(()).map(|_| when)
+ }
+}
+
+impl<T: Config> schedule::Named<T::BlockNumber, <T as Config>::Call, T::PalletsOrigin> for Module<T> {
+ type Address = TaskAddress<T::BlockNumber>;
+
+ fn schedule_named(
+ id: Vec<u8>,
+ when: DispatchTime<T::BlockNumber>,
+ maybe_periodic: Option<schedule::Period<T::BlockNumber>>,
+ priority: schedule::Priority,
+ origin: T::PalletsOrigin,
+ call: <T as Config>::Call,
+ ) -> Result<Self::Address, ()> {
+ Self::do_schedule_named(id, when, maybe_periodic, priority, origin, call).map_err(|_| ())
+ }
+
+ fn cancel_named(id: Vec<u8>) -> Result<(), ()> {
+ Self::do_cancel_named(None, id).map_err(|_| ())
+ }
+
+ fn reschedule_named(
+ id: Vec<u8>,
+ when: DispatchTime<T::BlockNumber>,
+ ) -> Result<Self::Address, DispatchError> {
+ Self::do_reschedule_named(id, when)
+ }
+
+ fn next_dispatch_time(id: Vec<u8>) -> Result<T::BlockNumber, ()> {
+ Lookup::<T>::get(id).and_then(|(when, index)| Agenda::<T>::get(when).get(index as usize).map(|_| when)).ok_or(())
+ }
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ use frame_support::{
+ parameter_types, assert_ok, ord_parameter_types,
+ assert_noop, assert_err, Hashable,
+ traits::{OnInitialize, OnFinalize, Filter},
+ weights::constants::RocksDbWeight,
+ };
+ use sp_core::H256;
+ use sp_runtime::{
+ Perbill,
+ testing::Header,
+ traits::{BlakeTwo256, IdentityLookup},
+ };
+ use frame_system::{EnsureOneOf, EnsureRoot, EnsureSignedBy};
+ use substrate_test_utils::assert_eq_uvec;
+ use crate as scheduler;
+
+ mod logger {
+ use super::*;
+ use std::cell::RefCell;
+
+ thread_local! {
+ static LOG: RefCell<Vec<(OriginCaller, u32)>> = RefCell::new(Vec::new());
+ }
+ pub fn log() -> Vec<(OriginCaller, u32)> {
+ LOG.with(|log| log.borrow().clone())
+ }
+ pub trait Config: system::Config {
+ type Event: From<Event> + Into<<Self as system::Config>::Event>;
+ }
+ decl_event! {
+ pub enum Event {
+ Logged(u32, Weight),
+ }
+ }
+ decl_module! {
+ pub struct Module<T: Config> for enum Call
+ where
+ origin: <T as system::Config>::Origin,
+ <T as system::Config>::Origin: OriginTrait<PalletsOrigin = OriginCaller>
+ {
+ fn deposit_event() = default;
+
+ #[weight = *weight]
+ fn log(origin, i: u32, weight: Weight) {
+ Self::deposit_event(Event::Logged(i, weight));
+ LOG.with(|log| {
+ log.borrow_mut().push((origin.caller().clone(), i));
+ })
+ }
+
+ #[weight = *weight]
+ fn log_without_filter(origin, i: u32, weight: Weight) {
+ Self::deposit_event(Event::Logged(i, weight));
+ LOG.with(|log| {
+ log.borrow_mut().push((origin.caller().clone(), i));
+ })
+ }
+ }
+ }
+ }
+
+ type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
+ type Block = frame_system::mocking::MockBlock<Test>;
+
+ frame_support::construct_runtime!(
+ pub enum Test where
+ Block = Block,
+ NodeBlock = Block,
+ UncheckedExtrinsic = UncheckedExtrinsic,
+ {
+ System: frame_system::{Pallet, Call, Config, Storage, Event<T>},
+ Logger: logger::{Pallet, Call, Event},
+ Scheduler: scheduler::{Pallet, Call, Storage, Event<T>},
+ }
+ );
+
+ // Scheduler must dispatch with root and no filter, this tests base filter is indeed not used.
+ pub struct BaseFilter;
+ impl Filter<Call> for BaseFilter {
+ fn filter(call: &Call) -> bool {
+ !matches!(call, Call::Logger(logger::Call::log(_, _)))
+ }
+ }
+
+ parameter_types! {
+ pub const BlockHashCount: u64 = 250;
+ pub BlockWeights: frame_system::limits::BlockWeights =
+ frame_system::limits::BlockWeights::simple_max(2_000_000_000_000);
+ }
+ impl system::Config for Test {
+ type BaseCallFilter = BaseFilter;
+ type BlockWeights = ();
+ type BlockLength = ();
+ type DbWeight = RocksDbWeight;
+ type Origin = Origin;
+ type Call = Call;
+ type Index = u64;
+ type BlockNumber = u64;
+ type Hash = H256;
+ type Hashing = BlakeTwo256;
+ type AccountId = u64;
+ type Lookup = IdentityLookup<Self::AccountId>;
+ type Header = Header;
+ type Event = Event;
+ type BlockHashCount = BlockHashCount;
+ type Version = ();
+ type PalletInfo = PalletInfo;
+ type AccountData = ();
+ type OnNewAccount = ();
+ type OnKilledAccount = ();
+ type SystemWeightInfo = ();
+ type SS58Prefix = ();
+ type OnSetCode = ();
+ }
+ impl logger::Config for Test {
+ type Event = Event;
+ }
+ parameter_types! {
+ pub MaximumSchedulerWeight: Weight = Perbill::from_percent(80) * BlockWeights::get().max_block;
+ pub const MaxScheduledPerBlock: u32 = 10;
+ }
+ ord_parameter_types! {
+ pub const One: u64 = 1;
+ }
+
+ impl Config for Test {
+ type Event = Event;
+ type Origin = Origin;
+ type PalletsOrigin = OriginCaller;
+ type Call = Call;
+ type MaximumWeight = MaximumSchedulerWeight;
+ type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
+ type MaxScheduledPerBlock = MaxScheduledPerBlock;
+ type WeightInfo = ();
+ }
+
+ pub fn new_test_ext() -> sp_io::TestExternalities {
+ let t = system::GenesisConfig::default().build_storage::<Test>().unwrap();
+ t.into()
+ }
+
+ fn run_to_block(n: u64) {
+ while System::block_number() < n {
+ Scheduler::on_finalize(System::block_number());
+ System::set_block_number(System::block_number() + 1);
+ Scheduler::on_initialize(System::block_number());
+ }
+ }
+
+ fn root() -> OriginCaller {
+ system::RawOrigin::Root.into()
+ }
+
+ #[test]
+ fn basic_scheduling_works() {
+ new_test_ext().execute_with(|| {
+ let call = Call::Logger(logger::Call::log(42, 1000));
+ assert!(!<Test as frame_system::Config>::BaseCallFilter::filter(&call));
+ assert_ok!(Scheduler::do_schedule(DispatchTime::At(4), None, 127, root(), call));
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn schedule_after_works() {
+ new_test_ext().execute_with(|| {
+ run_to_block(2);
+ let call = Call::Logger(logger::Call::log(42, 1000));
+ assert!(!<Test as frame_system::Config>::BaseCallFilter::filter(&call));
+ // This will schedule the call 3 blocks after the next block... so block 3 + 3 = 6
+ assert_ok!(Scheduler::do_schedule(DispatchTime::After(3), None, 127, root(), call));
+ run_to_block(5);
+ assert!(logger::log().is_empty());
+ run_to_block(6);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn schedule_after_zero_works() {
+ new_test_ext().execute_with(|| {
+ run_to_block(2);
+ let call = Call::Logger(logger::Call::log(42, 1000));
+ assert!(!<Test as frame_system::Config>::BaseCallFilter::filter(&call));
+ assert_ok!(Scheduler::do_schedule(DispatchTime::After(0), None, 127, root(), call));
+ // Will trigger on the next block.
+ run_to_block(3);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn periodic_scheduling_works() {
+ new_test_ext().execute_with(|| {
+ // at #4, every 3 blocks, 3 times.
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4), Some((3, 3)), 127, root(), Call::Logger(logger::Call::log(42, 1000))
+ ));
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(6);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(7);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32)]);
+ run_to_block(9);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32)]);
+ run_to_block(10);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32), (root(), 42u32)]);
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32), (root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn reschedule_works() {
+ new_test_ext().execute_with(|| {
+ let call = Call::Logger(logger::Call::log(42, 1000));
+ assert!(!<Test as frame_system::Config>::BaseCallFilter::filter(&call));
+ assert_eq!(Scheduler::do_schedule(DispatchTime::At(4), None, 127, root(), call).unwrap(), (4, 0));
+
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+
+ assert_eq!(Scheduler::do_reschedule((4, 0), DispatchTime::At(6)).unwrap(), (6, 0));
+
+ assert_noop!(Scheduler::do_reschedule((6, 0), DispatchTime::At(6)), Error::<Test>::RescheduleNoChange);
+
+ run_to_block(4);
+ assert!(logger::log().is_empty());
+
+ run_to_block(6);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn reschedule_named_works() {
+ new_test_ext().execute_with(|| {
+ let call = Call::Logger(logger::Call::log(42, 1000));
+ assert!(!<Test as frame_system::Config>::BaseCallFilter::filter(&call));
+ assert_eq!(Scheduler::do_schedule_named(
+ 1u32.encode(), DispatchTime::At(4), None, 127, root(), call
+ ).unwrap(), (4, 0));
+
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+
+ assert_eq!(Scheduler::do_reschedule_named(1u32.encode(), DispatchTime::At(6)).unwrap(), (6, 0));
+
+ assert_noop!(Scheduler::do_reschedule_named(1u32.encode(), DispatchTime::At(6)), Error::<Test>::RescheduleNoChange);
+
+ run_to_block(4);
+ assert!(logger::log().is_empty());
+
+ run_to_block(6);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn reschedule_named_perodic_works() {
+ new_test_ext().execute_with(|| {
+ let call = Call::Logger(logger::Call::log(42, 1000));
+ assert!(!<Test as frame_system::Config>::BaseCallFilter::filter(&call));
+ assert_eq!(Scheduler::do_schedule_named(
+ 1u32.encode(), DispatchTime::At(4), Some((3, 3)), 127, root(), call
+ ).unwrap(), (4, 0));
+
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+
+ assert_eq!(Scheduler::do_reschedule_named(1u32.encode(), DispatchTime::At(5)).unwrap(), (5, 0));
+ assert_eq!(Scheduler::do_reschedule_named(1u32.encode(), DispatchTime::At(6)).unwrap(), (6, 0));
+
+ run_to_block(5);
+ assert!(logger::log().is_empty());
+
+ run_to_block(6);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+
+ assert_eq!(Scheduler::do_reschedule_named(1u32.encode(), DispatchTime::At(10)).unwrap(), (10, 0));
+
+ run_to_block(9);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+
+ run_to_block(10);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32)]);
+
+ run_to_block(13);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32), (root(), 42u32)]);
+
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 42u32), (root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn cancel_named_scheduling_works_with_normal_cancel() {
+ new_test_ext().execute_with(|| {
+ // at #4.
+ Scheduler::do_schedule_named(
+ 1u32.encode(), DispatchTime::At(4), None, 127, root(), Call::Logger(logger::Call::log(69, 1000))
+ ).unwrap();
+ let i = Scheduler::do_schedule(
+ DispatchTime::At(4), None, 127, root(), Call::Logger(logger::Call::log(42, 1000))
+ ).unwrap();
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+ assert_ok!(Scheduler::do_cancel_named(None, 1u32.encode()));
+ assert_ok!(Scheduler::do_cancel(None, i));
+ run_to_block(100);
+ assert!(logger::log().is_empty());
+ });
+ }
+
+ #[test]
+ fn cancel_named_periodic_scheduling_works() {
+ new_test_ext().execute_with(|| {
+ // at #4, every 3 blocks, 3 times.
+ Scheduler::do_schedule_named(
+ 1u32.encode(),
+ DispatchTime::At(4),
+ Some((3, 3)),
+ 127,
+ root(),
+ Call::Logger(logger::Call::log(42, 1000))
+ ).unwrap();
+ // same id results in error.
+ assert!(Scheduler::do_schedule_named(
+ 1u32.encode(),
+ DispatchTime::At(4),
+ None,
+ 127,
+ root(),
+ Call::Logger(logger::Call::log(69, 1000))
+ ).is_err());
+ // different id is ok.
+ Scheduler::do_schedule_named(
+ 2u32.encode(), DispatchTime::At(8), None, 127, root(), Call::Logger(logger::Call::log(69, 1000))
+ ).unwrap();
+ run_to_block(3);
+ assert!(logger::log().is_empty());
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(6);
+ assert_ok!(Scheduler::do_cancel_named(None, 1u32.encode()));
+ run_to_block(100);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 69u32)]);
+ });
+ }
+
+ #[test]
+ fn scheduler_respects_weight_limits() {
+ new_test_ext().execute_with(|| {
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 127,
+ root(),
+ Call::Logger(logger::Call::log(42, MaximumSchedulerWeight::get() / 2))
+ ));
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 127,
+ root(), Call::Logger(logger::Call::log(69, MaximumSchedulerWeight::get() / 2))
+ ));
+ // 69 and 42 do not fit together
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 42u32)]);
+ run_to_block(5);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 69u32)]);
+ });
+ }
+
+ #[test]
+ fn scheduler_respects_hard_deadlines_more() {
+ new_test_ext().execute_with(|| {
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 0,
+ root(),
+ Call::Logger(logger::Call::log(42, MaximumSchedulerWeight::get() / 2))
+ ));
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 0,
+ root(),
+ Call::Logger(logger::Call::log(69, MaximumSchedulerWeight::get() / 2))
+ ));
+ // With base weights, 69 and 42 should not fit together, but do because of hard deadlines
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 42u32), (root(), 69u32)]);
+ });
+ }
+
+ #[test]
+ fn scheduler_respects_priority_ordering() {
+ new_test_ext().execute_with(|| {
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 1,
+ root(),
+ Call::Logger(logger::Call::log(42, MaximumSchedulerWeight::get() / 2))
+ ));
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 0,
+ root(),
+ Call::Logger(logger::Call::log(69, MaximumSchedulerWeight::get() / 2))
+ ));
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 69u32), (root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn scheduler_respects_priority_ordering_with_soft_deadlines() {
+ new_test_ext().execute_with(|| {
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 255,
+ root(), Call::Logger(logger::Call::log(42, MaximumSchedulerWeight::get() / 3))
+ ));
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 127,
+ root(), Call::Logger(logger::Call::log(69, MaximumSchedulerWeight::get() / 2))
+ ));
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(4),
+ None,
+ 126,
+ root(), Call::Logger(logger::Call::log(2600, MaximumSchedulerWeight::get() / 2))
+ ));
+
+ // 2600 does not fit with 69 or 42, but has higher priority, so will go through
+ run_to_block(4);
+ assert_eq!(logger::log(), vec![(root(), 2600u32)]);
+ // 69 and 42 fit together
+ run_to_block(5);
+ assert_eq!(logger::log(), vec![(root(), 2600u32), (root(), 69u32), (root(), 42u32)]);
+ });
+ }
+
+ #[test]
+ fn on_initialize_weight_is_correct() {
+ new_test_ext().execute_with(|| {
+ let base_weight: Weight = <Test as frame_system::Config>::DbWeight::get().reads_writes(1, 2);
+ let base_multiplier = 0;
+ let named_multiplier = <Test as frame_system::Config>::DbWeight::get().writes(1);
+ let periodic_multiplier = <Test as frame_system::Config>::DbWeight::get().reads_writes(1, 1);
+
+ // Named
+ assert_ok!(
+ Scheduler::do_schedule_named(
+ 1u32.encode(), DispatchTime::At(1), None, 255, root(),
+ Call::Logger(logger::Call::log(3, MaximumSchedulerWeight::get() / 3))
+ )
+ );
+ // Anon Periodic
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(1),
+ Some((1000, 3)),
+ 128,
+ root(),
+ Call::Logger(logger::Call::log(42, MaximumSchedulerWeight::get() / 3))
+ ));
+ // Anon
+ assert_ok!(Scheduler::do_schedule(
+ DispatchTime::At(1),
+ None,
+ 127,
+ root(),
+ Call::Logger(logger::Call::log(69, MaximumSchedulerWeight::get() / 2))
+ ));
+ // Named Periodic
+ assert_ok!(Scheduler::do_schedule_named(
+ 2u32.encode(), DispatchTime::At(1), Some((1000, 3)), 126, root(),
+ Call::Logger(logger::Call::log(2600, MaximumSchedulerWeight::get() / 2)))
+ );
+
+ // Will include the named periodic only
+ let actual_weight = Scheduler::on_initialize(1);
+ let call_weight = MaximumSchedulerWeight::get() / 2;
+ assert_eq!(
+ actual_weight, call_weight + base_weight + base_multiplier + named_multiplier + periodic_multiplier
+ );
+ assert_eq!(logger::log(), vec![(root(), 2600u32)]);
+
+ // Will include anon and anon periodic
+ let actual_weight = Scheduler::on_initialize(2);
+ let call_weight = MaximumSchedulerWeight::get() / 2 + MaximumSchedulerWeight::get() / 3;
+ assert_eq!(actual_weight, call_weight + base_weight + base_multiplier * 2 + periodic_multiplier);
+ assert_eq!(logger::log(), vec![(root(), 2600u32), (root(), 69u32), (root(), 42u32)]);
+
+ // Will include named only
+ let actual_weight = Scheduler::on_initialize(3);
+ let call_weight = MaximumSchedulerWeight::get() / 3;
+ assert_eq!(actual_weight, call_weight + base_weight + base_multiplier + named_multiplier);
+ assert_eq!(logger::log(), vec![(root(), 2600u32), (root(), 69u32), (root(), 42u32), (root(), 3u32)]);
+
+ // Will contain none
+ let actual_weight = Scheduler::on_initialize(4);
+ assert_eq!(actual_weight, 0);
+ });
+ }
+
+ #[test]
+ fn root_calls_works() {
+ new_test_ext().execute_with(|| {
+ let call = Box::new(Call::Logger(logger::Call::log(69, 1000)));
+ let call2 = Box::new(Call::Logger(logger::Call::log(42, 1000)));
+ assert_ok!(Scheduler::schedule_named(Origin::root(), 1u32.encode(), 4, None, 127, call));
+ assert_ok!(Scheduler::schedule(Origin::root(), 4, None, 127, call2));
+ run_to_block(3);
+ // Scheduled calls are in the agenda.
+ assert_eq!(Agenda::<Test>::get(4).len(), 2);
+ assert!(logger::log().is_empty());
+ assert_ok!(Scheduler::cancel_named(Origin::root(), 1u32.encode()));
+ assert_ok!(Scheduler::cancel(Origin::root(), 4, 1));
+ // Scheduled calls are made NONE, so should not effect state
+ run_to_block(100);
+ assert!(logger::log().is_empty());
+ });
+ }
+
+ #[test]
+ fn fails_to_schedule_task_in_the_past() {
+ new_test_ext().execute_with(|| {
+ run_to_block(3);
+
+ let call = Box::new(Call::Logger(logger::Call::log(69, 1000)));
+ let call2 = Box::new(Call::Logger(logger::Call::log(42, 1000)));
+
+ assert_err!(
+ Scheduler::schedule_named(Origin::root(), 1u32.encode(), 2, None, 127, call),
+ Error::<Test>::TargetBlockNumberInPast,
+ );
+
+ assert_err!(
+ Scheduler::schedule(Origin::root(), 2, None, 127, call2.clone()),
+ Error::<Test>::TargetBlockNumberInPast,
+ );
+
+ assert_err!(
+ Scheduler::schedule(Origin::root(), 3, None, 127, call2),
+ Error::<Test>::TargetBlockNumberInPast,
+ );
+ });
+ }
+
+ #[test]
+ fn should_use_orign() {
+ new_test_ext().execute_with(|| {
+ let call = Box::new(Call::Logger(logger::Call::log(69, 1000)));
+ let call2 = Box::new(Call::Logger(logger::Call::log(42, 1000)));
+ assert_ok!(
+ Scheduler::schedule_named(system::RawOrigin::Signed(1).into(), 1u32.encode(), 4, None, 127, call)
+ );
+ assert_ok!(Scheduler::schedule(system::RawOrigin::Signed(1).into(), 4, None, 127, call2));
+ run_to_block(3);
+ // Scheduled calls are in the agenda.
+ assert_eq!(Agenda::<Test>::get(4).len(), 2);
+ assert!(logger::log().is_empty());
+ assert_ok!(Scheduler::cancel_named(system::RawOrigin::Signed(1).into(), 1u32.encode()));
+ assert_ok!(Scheduler::cancel(system::RawOrigin::Signed(1).into(), 4, 1));
+ // Scheduled calls are made NONE, so should not effect state
+ run_to_block(100);
+ assert!(logger::log().is_empty());
+ });
+ }
+
+ #[test]
+ fn should_check_orign() {
+ new_test_ext().execute_with(|| {
+ let call = Box::new(Call::Logger(logger::Call::log(69, 1000)));
+ let call2 = Box::new(Call::Logger(logger::Call::log(42, 1000)));
+ assert_noop!(
+ Scheduler::schedule_named(system::RawOrigin::Signed(2).into(), 1u32.encode(), 4, None, 127, call),
+ BadOrigin
+ );
+ assert_noop!(Scheduler::schedule(system::RawOrigin::Signed(2).into(), 4, None, 127, call2), BadOrigin);
+ });
+ }
+
+ #[test]
+ fn should_check_orign_for_cancel() {
+ new_test_ext().execute_with(|| {
+ let call = Box::new(Call::Logger(logger::Call::log_without_filter(69, 1000)));
+ let call2 = Box::new(Call::Logger(logger::Call::log_without_filter(42, 1000)));
+ assert_ok!(
+ Scheduler::schedule_named(system::RawOrigin::Signed(1).into(), 1u32.encode(), 4, None, 127, call)
+ );
+ assert_ok!(Scheduler::schedule(system::RawOrigin::Signed(1).into(), 4, None, 127, call2));
+ run_to_block(3);
+ // Scheduled calls are in the agenda.
+ assert_eq!(Agenda::<Test>::get(4).len(), 2);
+ assert!(logger::log().is_empty());
+ assert_noop!(Scheduler::cancel_named(system::RawOrigin::Signed(2).into(), 1u32.encode()), BadOrigin);
+ assert_noop!(Scheduler::cancel(system::RawOrigin::Signed(2).into(), 4, 1), BadOrigin);
+ assert_noop!(Scheduler::cancel_named(system::RawOrigin::Root.into(), 1u32.encode()), BadOrigin);
+ assert_noop!(Scheduler::cancel(system::RawOrigin::Root.into(), 4, 1), BadOrigin);
+ run_to_block(5);
+ assert_eq!(
+ logger::log(),
+ vec![(system::RawOrigin::Signed(1).into(), 69u32), (system::RawOrigin::Signed(1).into(), 42u32)]
+ );
+ });
+ }
+
+ #[test]
+ fn migration_to_v2_works() {
+ new_test_ext().execute_with(|| {
+ for i in 0..3u64 {
+ let k = i.twox_64_concat();
+ let old = vec![
+ Some(ScheduledV1 {
+ maybe_id: None,
+ priority: i as u8 + 10,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ }),
+ None,
+ Some(ScheduledV1 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ }),
+ ];
+ frame_support::migration::put_storage_value(
+ b"Scheduler",
+ b"Agenda",
+ &k,
+ old,
+ );
+ }
+
+ assert_eq!(StorageVersion::get(), Releases::V1);
+
+ assert!(Scheduler::migrate_v1_to_t2());
+
+ assert_eq_uvec!(Agenda::<Test>::iter().collect::<Vec<_>>(), vec![
+ (
+ 0,
+ vec![
+ Some(ScheduledV2 {
+ maybe_id: None,
+ priority: 10,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ origin: root(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ None,
+ Some(ScheduledV2 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ origin: root(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ ]),
+ (
+ 1,
+ vec![
+ Some(ScheduledV2 {
+ maybe_id: None,
+ priority: 11,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ origin: root(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ None,
+ Some(ScheduledV2 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ origin: root(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ ]
+ ),
+ (
+ 2,
+ vec![
+ Some(ScheduledV2 {
+ maybe_id: None,
+ priority: 12,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ origin: root(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ None,
+ Some(ScheduledV2 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ origin: root(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ ]
+ )
+ ]);
+
+ assert_eq!(StorageVersion::get(), Releases::V2);
+ });
+ }
+
+ #[test]
+ fn test_migrate_origin() {
+ new_test_ext().execute_with(|| {
+ for i in 0..3u64 {
+ let k = i.twox_64_concat();
+ let old: Vec<Option<Scheduled<_, _, u32, u64>>> = vec![
+ Some(Scheduled {
+ maybe_id: None,
+ priority: i as u8 + 10,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ origin: 3u32,
+ maybe_periodic: None,
+ _phantom: Default::default(),
+ }),
+ None,
+ Some(Scheduled {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ origin: 2u32,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ _phantom: Default::default(),
+ }),
+ ];
+ frame_support::migration::put_storage_value(
+ b"Scheduler",
+ b"Agenda",
+ &k,
+ old,
+ );
+ }
+
+ impl Into<OriginCaller> for u32 {
+ fn into(self) -> OriginCaller {
+ match self {
+ 3u32 => system::RawOrigin::Root.into(),
+ 2u32 => system::RawOrigin::None.into(),
+ _ => unreachable!("test make no use of it"),
+ }
+ }
+ }
+
+ Scheduler::migrate_origin::<u32>();
+
+ assert_eq_uvec!(Agenda::<Test>::iter().collect::<Vec<_>>(), vec![
+ (
+ 0,
+ vec![
+ Some(ScheduledV2::<_, _, OriginCaller, u64> {
+ maybe_id: None,
+ priority: 10,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ origin: system::RawOrigin::Root.into(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ None,
+ Some(ScheduledV2 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ origin: system::RawOrigin::None.into(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ ]),
+ (
+ 1,
+ vec![
+ Some(ScheduledV2 {
+ maybe_id: None,
+ priority: 11,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ origin: system::RawOrigin::Root.into(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ None,
+ Some(ScheduledV2 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ origin: system::RawOrigin::None.into(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ ]
+ ),
+ (
+ 2,
+ vec![
+ Some(ScheduledV2 {
+ maybe_id: None,
+ priority: 12,
+ call: Call::Logger(logger::Call::log(96, 100)),
+ maybe_periodic: None,
+ origin: system::RawOrigin::Root.into(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ None,
+ Some(ScheduledV2 {
+ maybe_id: Some(b"test".to_vec()),
+ priority: 123,
+ call: Call::Logger(logger::Call::log(69, 1000)),
+ maybe_periodic: Some((456u64, 10)),
+ origin: system::RawOrigin::None.into(),
+ _phantom: PhantomData::<u64>::default(),
+ }),
+ ]
+ )
+ ]);
+ });
+ }
+}
pallets/scheduler/src/weights.rsdiffbeforeafterboth--- /dev/null
+++ b/pallets/scheduler/src/weights.rs
@@ -0,0 +1,118 @@
+// This file is part of Substrate.
+
+// Copyright (C) 2020-2021 Parity Technologies (UK) Ltd.
+// SPDX-License-Identifier: Apache-2.0
+
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//! Weights for pallet_scheduler
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 2.0.0
+//! DATE: 2020-10-27, STEPS: `[50, ]`, REPEAT: 20, LOW RANGE: [], HIGH RANGE: []
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 128
+
+// Executed Command:
+// target/release/substrate
+// benchmark
+// --chain=dev
+// --steps=50
+// --repeat=20
+// --pallet=pallet_scheduler
+// --extrinsic=*
+// --execution=wasm
+// --wasm-execution=compiled
+// --heap-pages=4096
+// --output=./frame/scheduler/src/weights.rs
+// --template=./.maintain/frame-weight-template.hbs
+
+
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+
+use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
+use sp_std::marker::PhantomData;
+
+/// Weight functions needed for pallet_scheduler.
+pub trait WeightInfo {
+ fn schedule(s: u32, ) -> Weight;
+ fn cancel(s: u32, ) -> Weight;
+ fn schedule_named(s: u32, ) -> Weight;
+ fn cancel_named(s: u32, ) -> Weight;
+
+}
+
+/// Weights for pallet_scheduler using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
+ fn schedule(s: u32, ) -> Weight {
+ (35_029_000 as Weight)
+ .saturating_add((77_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(T::DbWeight::get().reads(1 as Weight))
+ .saturating_add(T::DbWeight::get().writes(1 as Weight))
+
+ }
+ fn cancel(s: u32, ) -> Weight {
+ (31_419_000 as Weight)
+ .saturating_add((4_015_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(T::DbWeight::get().reads(1 as Weight))
+ .saturating_add(T::DbWeight::get().writes(2 as Weight))
+
+ }
+ fn schedule_named(s: u32, ) -> Weight {
+ (44_752_000 as Weight)
+ .saturating_add((123_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(T::DbWeight::get().reads(2 as Weight))
+ .saturating_add(T::DbWeight::get().writes(2 as Weight))
+
+ }
+ fn cancel_named(s: u32, ) -> Weight {
+ (35_712_000 as Weight)
+ .saturating_add((4_008_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(T::DbWeight::get().reads(2 as Weight))
+ .saturating_add(T::DbWeight::get().writes(2 as Weight))
+
+ }
+
+}
+
+// For backwards compatibility and tests
+impl WeightInfo for () {
+ fn schedule(s: u32, ) -> Weight {
+ (35_029_000 as Weight)
+ .saturating_add((77_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(RocksDbWeight::get().reads(1 as Weight))
+ .saturating_add(RocksDbWeight::get().writes(1 as Weight))
+
+ }
+ fn cancel(s: u32, ) -> Weight {
+ (31_419_000 as Weight)
+ .saturating_add((4_015_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(RocksDbWeight::get().reads(1 as Weight))
+ .saturating_add(RocksDbWeight::get().writes(2 as Weight))
+
+ }
+ fn schedule_named(s: u32, ) -> Weight {
+ (44_752_000 as Weight)
+ .saturating_add((123_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(RocksDbWeight::get().reads(2 as Weight))
+ .saturating_add(RocksDbWeight::get().writes(2 as Weight))
+
+ }
+ fn cancel_named(s: u32, ) -> Weight {
+ (35_712_000 as Weight)
+ .saturating_add((4_008_000 as Weight).saturating_mul(s as Weight))
+ .saturating_add(RocksDbWeight::get().reads(2 as Weight))
+ .saturating_add(RocksDbWeight::get().writes(2 as Weight))
+
+ }
+
+}
primitives/Cargo.tomldiffbeforeafterboth--- /dev/null
+++ b/primitives/Cargo.toml
@@ -0,0 +1,30 @@
+[package]
+name = "nft-data-structs"
+authors = ['Substrate DevHub <https://github.com/substrate-developer-hub>']
+description = "Nft data structs definitions"
+edition = "2018"
+license = 'GPL-3.0'
+homepage = "https://substrate.dev"
+repository = 'https://github.com/clover-network/clover'
+version = '0.9.0'
+
+[dependencies]
+codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = ['derive'] }
+serde = { version = "1.0.119", optional = true, features = ['derive'] }
+frame-support = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+frame-system = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+pallet-contracts = { default-features = false, version = '3.0.0', git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-core = { version = "3.0.0", default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+sp-runtime = { version = "3.0.0", default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.3' }
+
+[features]
+default = ["std"]
+std = [
+ "serde",
+ "codec/std",
+ "frame-system/std",
+ "frame-support/std",
+ "sp-runtime/std",
+ "sp-core/std",
+ "pallet-contracts/std",
+]
\ No newline at end of file
primitives/src/lib.rsdiffbeforeafterboth--- /dev/null
+++ b/primitives/src/lib.rs
@@ -0,0 +1,285 @@
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+pub use serde::{Serealize, Deserialize};
+
+use frame_system;
+use sp_runtime::sp_std::prelude::Vec;
+use codec::{Decode, Encode};
+pub use frame_support::{
+ construct_runtime, decl_event, decl_module, decl_storage, decl_error,
+ dispatch::DispatchResult,
+ ensure, fail, parameter_types,
+ traits::{
+ Currency, ExistenceRequirement, Get, Imbalance, KeyOwnerProofSystem, OnUnbalanced,
+ Randomness, IsSubType, WithdrawReasons,
+ },
+ weights::{
+ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
+ DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,
+ WeightToFeePolynomial, DispatchClass,
+ },
+ StorageValue,
+ transactional,
+};
+
+pub const MAX_DECIMAL_POINTS: DecimalPoints = 30;
+pub const MAX_REFUNGIBLE_PIECES: u128 = 1_000_000_000_000_000_000_000;
+pub const MAX_SPONSOR_TIMEOUT: u32 = 10_368_000;
+pub const MAX_TOKEN_OWNERSHIP: u32 = 10_000_000;
+
+pub type CollectionId = u32;
+pub type TokenId = u32;
+pub type DecimalPoints = u8;
+
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub enum CollectionMode {
+ Invalid,
+ NFT,
+ // decimal points
+ Fungible(DecimalPoints),
+ ReFungible,
+}
+
+impl Default for CollectionMode {
+ fn default() -> Self {
+ Self::Invalid
+ }
+}
+
+impl Into<u8> for CollectionMode {
+ fn into(self) -> u8 {
+ match self {
+ CollectionMode::Invalid => 0,
+ CollectionMode::NFT => 1,
+ CollectionMode::Fungible(_) => 2,
+ CollectionMode::ReFungible => 3,
+ }
+ }
+}
+
+pub trait SponsoringResolve<AccountId, Call> {
+ fn resolve(
+ who: &AccountId,
+ call: &Call) -> Option<AccountId>;
+}
+
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub enum AccessMode {
+ Normal,
+ WhiteList,
+}
+impl Default for AccessMode {
+ fn default() -> Self {
+ Self::Normal
+ }
+}
+
+#[derive(Encode, Decode, Eq, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub enum SchemaVersion {
+ ImageURL,
+ Unique,
+}
+impl Default for SchemaVersion {
+ fn default() -> Self {
+ Self::ImageURL
+ }
+}
+
+#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct Ownership<AccountId> {
+ pub owner: AccountId,
+ pub fraction: u128,
+}
+
+#[derive(Encode, Decode, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub enum SponsorshipState<AccountId> {
+ /// The fees are applied to the transaction sender
+ Disabled,
+ Unconfirmed(AccountId),
+ /// Transactions are sponsored by specified account
+ Confirmed(AccountId),
+}
+
+impl<AccountId> SponsorshipState<AccountId> {
+ pub fn sponsor(&self) -> Option<&AccountId> {
+ match self {
+ Self::Confirmed(sponsor) => Some(sponsor),
+ _ => None,
+ }
+ }
+
+ pub fn pending_sponsor(&self) -> Option<&AccountId> {
+ match self {
+ Self::Unconfirmed(sponsor) | Self::Confirmed(sponsor) => Some(sponsor),
+ _ => None,
+ }
+ }
+
+ pub fn confirmed(&self) -> bool {
+ matches!(self, Self::Confirmed(_))
+ }
+}
+
+impl<T> Default for SponsorshipState<T> {
+ fn default() -> Self {
+ Self::Disabled
+ }
+}
+
+#[derive(Encode, Decode, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct Collection<T: frame_system::Config> {
+ pub owner: T::AccountId,
+ pub mode: CollectionMode,
+ pub access: AccessMode,
+ pub decimal_points: DecimalPoints,
+ pub name: Vec<u16>, // 64 include null escape char
+ pub description: Vec<u16>, // 256 include null escape char
+ pub token_prefix: Vec<u8>, // 16 include null escape char
+ pub mint_mode: bool,
+ pub offchain_schema: Vec<u8>,
+ pub schema_version: SchemaVersion,
+ pub sponsorship: SponsorshipState<T::AccountId>,
+ pub limits: CollectionLimits<T::BlockNumber>, // Collection private restrictions
+ pub variable_on_chain_schema: Vec<u8>, //
+ pub const_on_chain_schema: Vec<u8>, //
+}
+
+#[derive(Encode, Decode, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct NftItemType<AccountId> {
+ pub owner: AccountId,
+ pub const_data: Vec<u8>,
+ pub variable_data: Vec<u8>,
+}
+
+#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct FungibleItemType {
+ pub value: u128,
+}
+
+#[derive(Encode, Decode, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct ReFungibleItemType<AccountId> {
+ pub owner: Vec<Ownership<AccountId>>,
+ pub const_data: Vec<u8>,
+ pub variable_data: Vec<u8>,
+}
+
+
+#[derive(Encode, Decode, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct CollectionLimits<BlockNumber: Encode + Decode> {
+ pub account_token_ownership_limit: u32,
+ pub sponsored_data_size: u32,
+ /// None - setVariableMetadata is not sponsored
+ /// Some(v) - setVariableMetadata is sponsored
+ /// if there is v block between txs
+ pub sponsored_data_rate_limit: Option<BlockNumber>,
+ pub token_limit: u32,
+
+ // Timeouts for item types in passed blocks
+ pub sponsor_transfer_timeout: u32,
+ pub owner_can_transfer: bool,
+ pub owner_can_destroy: bool,
+}
+
+impl<BlockNumber: Encode + Decode> Default for CollectionLimits<BlockNumber> {
+ fn default() -> Self {
+ Self {
+ account_token_ownership_limit: 10_000_000,
+ token_limit: u32::max_value(),
+ sponsored_data_size: u32::MAX,
+ sponsored_data_rate_limit: None,
+ sponsor_transfer_timeout: 14400,
+ owner_can_transfer: true,
+ owner_can_destroy: true
+ }
+ }
+}
+
+#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct ChainLimits {
+ pub collection_numbers_limit: u32,
+ pub account_token_ownership_limit: u32,
+ pub collections_admins_limit: u64,
+ pub custom_data_limit: u32,
+
+ // Timeouts for item types in passed blocks
+ pub nft_sponsor_transfer_timeout: u32,
+ pub fungible_sponsor_transfer_timeout: u32,
+ pub refungible_sponsor_transfer_timeout: u32,
+
+ // Schema limits
+ pub offchain_schema_limit: u32,
+ pub variable_on_chain_schema_limit: u32,
+ pub const_on_chain_schema_limit: u32,
+}
+
+
+#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct CreateNftData {
+ pub const_data: Vec<u8>,
+ pub variable_data: Vec<u8>,
+}
+
+#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct CreateFungibleData {
+ pub value: u128,
+}
+
+#[derive(Encode, Decode, Default, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub struct CreateReFungibleData {
+ pub const_data: Vec<u8>,
+ pub variable_data: Vec<u8>,
+ pub pieces: u128,
+}
+
+#[derive(Encode, Decode, Debug, Clone, PartialEq)]
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
+pub enum CreateItemData {
+ NFT(CreateNftData),
+ Fungible(CreateFungibleData),
+ ReFungible(CreateReFungibleData),
+}
+
+impl CreateItemData {
+ pub fn len(&self) -> usize {
+ let len = match self {
+ CreateItemData::NFT(data) => data.variable_data.len() + data.const_data.len(),
+ CreateItemData::ReFungible(data) => data.variable_data.len() + data.const_data.len(),
+ _ => 0
+ };
+
+ return len;
+ }
+}
+
+impl From<CreateNftData> for CreateItemData {
+ fn from(item: CreateNftData) -> Self {
+ CreateItemData::NFT(item)
+ }
+}
+
+impl From<CreateReFungibleData> for CreateItemData {
+ fn from(item: CreateReFungibleData) -> Self {
+ CreateItemData::ReFungible(item)
+ }
+}
+
+impl From<CreateFungibleData> for CreateItemData {
+ fn from(item: CreateFungibleData) -> Self {
+ CreateItemData::Fungible(item)
+ }
+}
\ No newline at end of file
runtime/Cargo.tomldiffbeforeafterboth--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -1,70 +1,20 @@
+################################################################################
+# Package
+
[package]
-authors = ['UseTech Professional <https://usetech.com/blockchain>']
+authors = ['Unique Network <support@uniquenetwork.io>']
+build = 'build.rs'
+description = 'Substrate node nft'
edition = '2018'
-homepage = 'https://substrate.io'
+homepage = 'https://unique.network'
license = 'All Rights Reserved'
name = 'nft-runtime'
-repository = 'https://github.com/usetech-llc/nft_parachain/'
+repository = 'https://github.com/usetech-llc/nft_private/'
version = '3.0.0'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
-
-[build-dependencies]
-substrate-wasm-builder = '4.0.0'
-
-# alias "parity-scale-code" to "codec"
-[dependencies.codec]
-default-features = false
-features = ['derive']
-package = 'parity-scale-codec'
-version = '2.0.0'
-
-[dependencies]
-hex-literal = { optional = true, version = '0.3.1' }
-serde = { features = ['derive'], optional = true, version = '1.0.119' }
-# local dependencies
-pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' }
-pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' }
-
-# Substrate dependencies
-frame-benchmarking = { default-features = false, optional = true, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-executive = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-support = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-system = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-system-benchmarking = { default-features = false, optional = true, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-frame-system-rpc-runtime-api = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-aura = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-balances = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-contracts = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-contracts-primitives = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-contracts-rpc-runtime-api = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-evm = { default-features = false, version = "4.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-pallet-ethereum = { default-features = false, version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-pallet-grandpa = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-randomness-collective-flip = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-sudo = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-timestamp = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-transaction-payment = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-treasury = { default-features = false, version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-pallet-vesting = { default-features = false, version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-fp-rpc = { default-features = false, version = "2.0.0", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
-sp-arithmetic = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-api = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-block-builder = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-consensus-aura = { default-features = false, version = '0.9.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-core = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-inherents = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-offchain = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-runtime = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-session = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-std = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-transaction-pool = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-sp-version = { default-features = false, version = '3.0.0', git = "https://github.com/paritytech/substrate.git", branch = "frontier" }
-smallvec = "1.4.1"
-
[features]
default = ['std']
runtime-benchmarks = [
@@ -81,17 +31,21 @@
]
std = [
'codec/std',
- 'serde',
+ 'cumulus-pallet-aura-ext/std',
+ 'cumulus-pallet-parachain-system/std',
+ 'cumulus-pallet-xcm/std',
+ 'cumulus-pallet-xcmp-queue/std',
+ 'cumulus-primitives-core/std',
+ 'cumulus-primitives-utility/std',
'frame-executive/std',
'frame-support/std',
'frame-system/std',
'frame-system-rpc-runtime-api/std',
- 'pallet-aura/std',
+ 'pallet-aura/std',
'pallet-balances/std',
'pallet-contracts/std',
'pallet-contracts-primitives/std',
'pallet-contracts-rpc-runtime-api/std',
- 'pallet-grandpa/std',
'pallet-randomness-collective-flip/std',
'pallet-sudo/std',
'pallet-timestamp/std',
@@ -101,20 +55,332 @@
'pallet-vesting/std',
'pallet-evm/std',
'pallet-ethereum/std',
-
+ 'fp-rpc/std',
+ 'parachain-info/std',
+ 'serde',
'pallet-inflation/std',
'pallet-nft/std',
- 'fp-rpc/std',
+ 'pallet-scheduler/std',
+ 'pallet-nft-charge-transaction/std',
+ 'pallet-nft-transaction-payment/std',
+ 'nft-data-structs/std',
'sp-api/std',
'sp-block-builder/std',
- 'sp-consensus-aura/std',
+ "sp-consensus-aura/std",
'sp-core/std',
'sp-inherents/std',
+ 'sp-io/std',
'sp-offchain/std',
'sp-runtime/std',
'sp-session/std',
'sp-std/std',
'sp-transaction-pool/std',
'sp-version/std',
+ 'xcm/std',
+ 'xcm-builder/std',
+ 'xcm-executor/std',
+]
+
+################################################################################
+# Substrate Dependencies
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '2.0.0'
+
+[dependencies.frame-benchmarking]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+optional = true
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-executive]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-support]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-system]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-system-benchmarking]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+optional = true
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.frame-system-rpc-runtime-api]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.hex-literal]
+optional = true
+version = '0.3.1'
+
+[dependencies.serde]
+features = ['derive']
+optional = true
+version = '1.0.119'
+
+[dependencies.pallet-aura]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-balances]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+# Contracts specific packages
+[dependencies.pallet-contracts]
+git = 'https://github.com/paritytech/substrate.git'
+default-features = false
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts-primitives]
+git = 'https://github.com/paritytech/substrate.git'
+default-features = false
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-contracts-rpc-runtime-api]
+git = 'https://github.com/paritytech/substrate.git'
+default-features = false
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-randomness-collective-flip]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-sudo]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-timestamp]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-transaction-payment]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-transaction-payment-rpc-runtime-api]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-treasury]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.pallet-vesting]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-arithmetic]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-api]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-block-builder]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-core]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-consensus-aura]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '0.9.0'
+
+[dependencies.sp-inherents]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-io]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-offchain]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-runtime]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-session]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-std]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-transaction-pool]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.sp-version]
+default-features = false
+git = 'https://github.com/paritytech/substrate.git'
+branch = 'polkadot-v0.9.3'
+version = '3.0.0'
+
+[dependencies.smallvec]
+version = '1.4.1'
+
+################################################################################
+# Cumulus dependencies
+
+[dependencies.parachain-info]
+default-features = false
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+version = '0.1.0'
+
+[dependencies.cumulus-pallet-aura-ext]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
+
+[dependencies.cumulus-pallet-parachain-system]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
+
+[dependencies.cumulus-primitives-core]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
-]
+[dependencies.cumulus-pallet-xcm]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
+
+[dependencies.cumulus-pallet-dmp-queue]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
+
+[dependencies.cumulus-pallet-xcmp-queue]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
+
+[dependencies.cumulus-primitives-utility]
+git = 'https://github.com/paritytech/cumulus.git'
+branch = 'polkadot-v0.9.3'
+default-features = false
+
+################################################################################
+# Polkadot dependencies
+
+[dependencies.polkadot-parachain]
+git = 'https://github.com/paritytech/polkadot'
+branch = 'release-v0.9.3'
+default-features = false
+
+[dependencies.xcm]
+git = 'https://github.com/paritytech/polkadot'
+branch = 'release-v0.9.3'
+default-features = false
+
+[dependencies.xcm-builder]
+git = 'https://github.com/paritytech/polkadot'
+branch = 'release-v0.9.3'
+default-features = false
+
+[dependencies.xcm-executor]
+git = 'https://github.com/paritytech/polkadot'
+branch = 'release-v0.9.3'
+default-features = false
+
+[dependencies.pallet-xcm]
+git = 'https://github.com/paritytech/polkadot'
+branch = 'release-v0.9.3'
+default-features = false
+
+
+
+################################################################################
+# local dependencies
+
+[dependencies]
+pallet-nft = { path = '../pallets/nft', default-features = false, version = '3.0.0' }
+pallet-inflation = { path = '../pallets/inflation', default-features = false, version = '3.0.0' }
+nft-data-structs = { path = '../primitives', default-features = false, version = '0.9.0' }
+pallet-scheduler = { path = '../pallets/scheduler', default-features = false, version = '3.0.0' }
+pallet-nft-transaction-payment = { path = '../pallets/nft-transaction-payment', default-features = false, version = '3.0.0' }
+pallet-nft-charge-transaction = { path = '../pallets/nft-charge-transaction', default-features = false, version = '3.0.0' }
+
+pallet-evm = { default-features = false, version = "4.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
+pallet-ethereum = { default-features = false, version = "2.0.0-dev", git = "https://github.com/usetech-llc/frontier.git", branch = "injected-transactions" }
+
+################################################################################
+# Build Dependencies
+
+[build-dependencies]
+substrate-wasm-builder = '4.0.0'
\ No newline at end of file
runtime/src/chain_extension.rsdiffbeforeafterboth--- a/runtime/src/chain_extension.rs
+++ b/runtime/src/chain_extension.rs
@@ -18,6 +18,8 @@
extern crate pallet_nft;
pub use pallet_nft::*;
use pallet_nft::CrossAccountId;
+use nft_data_structs::*;
+
use crate::Vec;
/// Create item parameters
@@ -80,7 +82,7 @@
pub type NftWeightInfoOf<C> = <C as pallet_nft::Config>::WeightInfo;
-impl<C: Config> ChainExtension<C> for NFTExtension {
+impl<C: Config + pallet_contracts::Config> ChainExtension<C> for NFTExtension {
fn call<E: Ext>(func_id: u32, env: Environment<E, InitState>) -> Result<RetVal, DispatchError>
where
E: Ext<T = C>,
runtime/src/lib.rsdiffbeforeafterboth--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -7,60 +7,61 @@
#![cfg_attr(not(feature = "std"), no_std)]
// `construct_runtime!` does a lot of recursion and requires us to increase the limit to 256.
-#![recursion_limit = "256"]
+#![recursion_limit = "1024"]
// Make the WASM binary available.
#[cfg(feature = "std")]
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
-use pallet_grandpa::fg_primitives;
-use pallet_grandpa::{AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList};
use sp_api::impl_runtime_apis;
-use sp_consensus_aura::sr25519::AuthorityId as AuraId;
-use sp_core::{ crypto::KeyTypeId, crypto::Public, OpaqueMetadata, H160, U256 };
+use sp_core::{ crypto::KeyTypeId, OpaqueMetadata };
+// #[cfg(any(feature = "std", test))]
+// pub use sp_runtime::BuildStorage;
+
use sp_runtime::{
- Permill, Perbill, Percent,
- ModuleId,
- create_runtime_str, generic, impl_opaque_keys,
- traits::{
- Convert, ConvertInto, BlakeTwo256, Block as BlockT, IdentifyAccount,
- IdentityLookup, NumberFor, Verify, AccountIdConversion,
- },
- transaction_validity::{TransactionSource, TransactionValidity},
- ApplyExtrinsicResult, MultiSignature,
+ Permill, Perbill, Percent,
+ create_runtime_str, generic, impl_opaque_keys,
+ traits::{
+ AccountIdLookup, ConvertInto, BlakeTwo256, Block as BlockT, IdentifyAccount,
+ Verify, AccountIdConversion,
+ },
+ transaction_validity::{TransactionSource, TransactionValidity},
+ ApplyExtrinsicResult, MultiSignature,
};
+
+use sp_std::prelude::*;
+
#[cfg(feature = "std")]
use sp_version::NativeVersion;
use sp_version::RuntimeVersion;
-pub use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment, CurrencyAdapter, FeeDetails, RuntimeDispatchInfo};
+pub use pallet_transaction_payment::{Multiplier, TargetedFeeAdjustment, FeeDetails, RuntimeDispatchInfo};
// A few exports that help ease life for downstream crates.
pub use pallet_balances::Call as BalancesCall;
pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};
-pub use pallet_contracts::{Schedule as ContractsSchedule };
pub use frame_support::{
- construct_runtime,
- dispatch::DispatchResult,
- parameter_types,
- StorageValue,
- traits::{
- Currency, ExistenceRequirement, Get, KeyOwnerProofSystem, OnUnbalanced, Randomness,
- LockIdentifier, FindAuthor,
- },
- weights::{
- constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
- DispatchClass, DispatchInfo, GetDispatchInfo, Pays, PostDispatchInfo, Weight,
- WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients
- },
- ConsensusEngineId,
+ construct_runtime,
+ match_type,
+ dispatch::DispatchResult,
+ PalletId,
+ parameter_types,
+ StorageValue,
+ traits::{
+ All, Currency, ExistenceRequirement, Get, IsInVec, KeyOwnerProofSystem, LockIdentifier, OnUnbalanced, Randomness
+ },
+ weights::{
+ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_PER_SECOND},
+ DispatchClass, DispatchInfo, GetDispatchInfo, IdentityFee, Pays, PostDispatchInfo, Weight,
+ WeightToFeePolynomial, WeightToFeeCoefficient, WeightToFeeCoefficients
+ },
};
+use nft_data_structs::*;
use pallet_contracts::weights::WeightInfo;
// #[cfg(any(feature = "std", test))]
use frame_system::{
- self as system,
- EnsureRoot,
+ self as system,
+ EnsureRoot, EnsureSigned,
limits::{BlockWeights, BlockLength},
};
-use sp_std::{prelude::*, marker::PhantomData};
use sp_arithmetic::{traits::{BaseArithmetic, Unsigned}};
use smallvec::smallvec;
use codec::{Encode, Decode};
@@ -68,38 +69,44 @@
use fp_rpc::TransactionStatus;
use sp_core::H256;
-pub use pallet_timestamp::Call as TimestampCall;
+use sp_runtime::{
+ traits::{
+ Dispatchable,
+ },
+};
+use pallet_contracts::chain_extension::UncheckedFrom;
-mod chain_extension;
-use crate::chain_extension::{ NFTExtension, Imbalance };
-/// Struct that handles the conversion of Balance -> `u64`. This is used for
-/// staking's election calculation.
-pub struct CurrencyToVoteHandler;
+pub use pallet_timestamp::Call as TimestampCall;
+pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;
-impl CurrencyToVoteHandler {
- fn factor() -> Balance {
- (Balances::total_issuance() / u64::max_value() as Balance).max(1)
- }
-}
+// Polkadot imports
+use pallet_xcm::XcmPassthrough;
+use polkadot_parachain::primitives::Sibling;
+use xcm::v0::Xcm;
+use xcm::v0::{BodyId, Junction::*, MultiAsset, MultiLocation, MultiLocation::*, NetworkId};
+use xcm_builder::{
+ AccountId32Aliases, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, CurrencyAdapter,
+ EnsureXcmOrigin, FixedWeightBounds, IsConcrete, LocationInverter, NativeAsset,
+ ParentAsSuperuser, ParentIsDefault, RelayChainAsNative, SiblingParachainAsNative,
+ SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32,
+ SovereignSignedViaLocation, TakeWeightCredit, UsingComponents,
+};
+use xcm_executor::{Config, XcmExecutor};
-impl Convert<Balance, u64> for CurrencyToVoteHandler {
- fn convert(x: Balance) -> u64 {
- (x / Self::factor()) as u64
- }
-}
-impl Convert<u128, Balance> for CurrencyToVoteHandler {
- fn convert(x: u128) -> Balance {
- x * Self::factor()
- }
-}
+mod chain_extension;
+use crate::chain_extension::{ NFTExtension, Imbalance };
/// Re-export a nft pallet
/// TODO: Check this re-export. Is this safe and good style?
extern crate pallet_nft;
pub use pallet_nft::*;
+/// Reimport pallet inflation
+extern crate pallet_inflation;
+pub use pallet_inflation::*;
+
/// An index to a block.
pub type BlockNumber = u32;
@@ -137,19 +144,16 @@
pub use sp_runtime::OpaqueExtrinsic as UncheckedExtrinsic;
- /// Opaque block header type.
- pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
- /// Opaque block type.
- pub type Block = generic::Block<Header, UncheckedExtrinsic>;
- /// Opaque block identifier type.
- pub type BlockId = generic::BlockId<Block>;
+ /// Opaque block type.
+ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
+ pub type SessionHandlers = ();
+
impl_opaque_keys! {
- pub struct SessionKeys {
+ pub struct SessionKeys {
pub aura: Aura,
- pub grandpa: Grandpa,
}
- }
+ }
}
/// This runtime version.
@@ -163,7 +167,7 @@
transaction_version: 1,
};
-pub const MILLISECS_PER_BLOCK: u64 = 6000;
+pub const MILLISECS_PER_BLOCK: u64 = 12000;
pub const SLOT_DURATION: u64 = MILLISECS_PER_BLOCK;
@@ -172,52 +176,21 @@
pub const HOURS: BlockNumber = MINUTES * 60;
pub const DAYS: BlockNumber = HOURS * 24;
+#[derive(codec::Encode, codec::Decode)]
+pub enum XCMPMessage<XAccountId, XBalance> {
+ /// Transfer tokens to the given account from the Parachain account.
+ TransferToken(XAccountId, XBalance),
+}
+
/// The version information used to identify this runtime when compiled natively.
#[cfg(feature = "std")]
pub fn native_version() -> NativeVersion {
NativeVersion {
runtime_version: VERSION,
can_author_with: Default::default(),
- }
-}
-
-/// Provides a membership set with only the configured aura users
-pub struct ValiudatorsOnly<Runtime: pallet_aura::Config>(PhantomData<Runtime>);
-impl frame_support::traits::Contains<AccountId> for ValiudatorsOnly<Runtime> {
- fn contains(t: &AccountId) -> bool {
- let arr: [u8; 32] = *t.as_ref();
- let raw_key: Vec<u8> = Vec::from(arr);
-
- match pallet_aura::Module::<Runtime>::authorities().iter().find(|auth| auth.to_raw_vec() == raw_key) {
- Some(_) => true,
- None => false,
- }
- }
- fn sorted_members() -> Vec<AccountId> {
- let mut members: Vec<AccountId> = Vec::new();
- for auth in pallet_aura::Module::<Runtime>::authorities() {
- let mut arr: [u8; 32] = Default::default();
- let bor_arr = auth.clone().to_raw_vec();
- let slice = bor_arr.as_slice();
- arr.copy_from_slice(slice);
- members.push(AccountId::from(arr));
- }
- members
- }
- fn count() -> usize {
- pallet_aura::Module::<Runtime>::authorities().len()
}
}
-impl frame_support::traits::ContainsLengthBound for ValiudatorsOnly<Runtime> {
- fn min_len() -> usize {
- 1
- }
- fn max_len() -> usize {
- 100
- }
-}
-
type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;
pub struct DealWithFees;
@@ -236,21 +209,6 @@
}
}
-// impl OnUnbalanced<NegativeImbalance> for DealWithFees {
-// fn on_unbalanceds<B>(mut fees_then_tips: impl Iterator<Item=NegativeImbalance>) {
-// if let Some(fees) = fees_then_tips.next() {
-// // for fees, 100% to treasury
-// let mut split = fees.ration(100, 0);
-// if let Some(tips) = fees_then_tips.next() {
-// // for tips, if any, 100% to treasury
-// tips.ration_merge_into(100, 0, &mut split);
-// }
-// Treasury::on_unbalanced(split.0);
-// // Author::on_unbalanced(split.1);
-// }
-// }
-// }
-
/// We assume that ~10% of the block weight is consumed by `on_initalize` handlers.
/// This is used to limit the maximal weight of a single extrinsic.
const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10);
@@ -288,57 +246,7 @@
pub const SS58Prefix: u8 = 42;
}
-impl system::Config for Runtime {
- /// The basic call filter to use in dispatchable.
- type BaseCallFilter = ();
- /// The identifier used to distinguish between accounts.
- type AccountId = AccountId;
- /// The aggregated dispatch type that is available for extrinsics.
- type Call = Call;
- /// The lookup mechanism to get account ID from whatever is passed in dispatchers.
- type Lookup = IdentityLookup<AccountId>;
- /// The index type for storing how many extrinsics an account has signed.
- type Index = Index;
- /// The index type for blocks.
- type BlockNumber = BlockNumber;
- /// The type for hashing blocks and tries.
- type Hash = Hash;
- /// The hashing algorithm used.
- type Hashing = BlakeTwo256;
- /// The header type.
- type Header = generic::Header<BlockNumber, BlakeTwo256>;
- /// The ubiquitous event type.
- type Event = Event;
- /// The ubiquitous origin type.
- type Origin = Origin;
- /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
- type BlockHashCount = BlockHashCount;
- /// The weight of database operations that the runtime can invoke.
- type DbWeight = RocksDbWeight;
- /// The weight of the overhead invoked on the block import process, independent of the
- /// extrinsics included in that block.
- type BlockWeights = RuntimeBlockWeights;
- /// Version of the runtime.
- type Version = Version;
- /// This type is being generated by `construct_runtime!`.
- type PalletInfo = PalletInfo;
- /// What to do if a new account is created.
- type OnNewAccount = ();
- /// What to do if an account is fully reaped from the system.
- type OnKilledAccount = ();
- /// The data to be stored in an account.
- type AccountData = pallet_balances::AccountData<Balance>;
- /// Weight information for the extrinsics of this pallet.
- type SystemWeightInfo = system::weights::SubstrateWeight<Runtime>;
- type BlockLength = RuntimeBlockLength;
- type SS58Prefix = SS58Prefix;
-}
-
-impl pallet_aura::Config for Runtime {
- type AuthorityId = AuraId;
-}
-
parameter_types! {
pub const ChainId: u64 = 8888;
}
@@ -384,23 +292,52 @@
type EvmSubmitLog = pallet_evm::Module<Runtime>;
}
-impl pallet_grandpa::Config for Runtime {
- type Event = Event;
- type Call = Call;
-
- type KeyOwnerProofSystem = ();
-
- type KeyOwnerProof =
- <Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, GrandpaId)>>::Proof;
-
- type KeyOwnerIdentification = <Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(
- KeyTypeId,
- GrandpaId,
- )>>::IdentificationTuple;
-
- type HandleEquivocation = ();
-
- type WeightInfo = ();
+impl system::Config for Runtime {
+ /// The data to be stored in an account.
+ type AccountData = pallet_balances::AccountData<Balance>;
+ /// The identifier used to distinguish between accounts.
+ type AccountId = AccountId;
+ /// The basic call filter to use in dispatchable.
+ type BaseCallFilter = ();
+ /// Maximum number of block number to block hash mappings to keep (oldest pruned first).
+ type BlockHashCount = BlockHashCount;
+ /// The maximum length of a block (in bytes).
+ type BlockLength = RuntimeBlockLength;
+ /// The index type for blocks.
+ type BlockNumber = BlockNumber;
+ /// The weight of the overhead invoked on the block import process, independent of the extrinsics included in that block.
+ type BlockWeights = RuntimeBlockWeights;
+ /// The aggregated dispatch type that is available for extrinsics.
+ type Call = Call;
+ /// The weight of database operations that the runtime can invoke.
+ type DbWeight = RocksDbWeight;
+ /// The ubiquitous event type.
+ type Event = Event;
+ /// The type for hashing blocks and tries.
+ type Hash = Hash;
+ /// The hashing algorithm used.
+ type Hashing = BlakeTwo256;
+ /// The header type.
+ type Header = generic::Header<BlockNumber, BlakeTwo256>;
+ /// The index type for storing how many extrinsics an account has signed.
+ type Index = Index;
+ /// The lookup mechanism to get account ID from whatever is passed in dispatchers.
+ type Lookup = AccountIdLookup<AccountId, ()>;
+ /// What to do if an account is fully reaped from the system.
+ type OnKilledAccount = ();
+ /// What to do if a new account is created.
+ type OnNewAccount = ();
+ type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
+ /// The ubiquitous origin type.
+ type Origin = Origin;
+ /// This type is being generated by `construct_runtime!`.
+ type PalletInfo = PalletInfo;
+ /// This is used as an identifier of the chain. 42 is the generic substrate prefix.
+ type SS58Prefix = SS58Prefix;
+ /// Weight information for the extrinsics of this pallet.
+ type SystemWeightInfo = system::weights::SubstrateWeight<Runtime>;
+ /// Version of the runtime.
+ type Version = Version;
}
parameter_types! {
@@ -410,7 +347,7 @@
impl pallet_timestamp::Config for Runtime {
/// A timestamp: milliseconds since the unix epoch.
type Moment = u64;
- type OnTimestampSet = Aura;
+ type OnTimestampSet = ();
type MinimumPeriod = MinimumPeriod;
type WeightInfo = ();
}
@@ -430,7 +367,7 @@
type DustRemoval = Treasury;
type ExistentialDeposit = ExistentialDeposit;
type AccountStore = System;
- type WeightInfo = ();
+ type WeightInfo = pallet_balances::weights::SubstrateWeight<Runtime>;
}
pub const MICROUNIQUE: Balance = 1_000_000_000;
@@ -443,11 +380,11 @@
}
parameter_types! {
- pub const TombstoneDeposit: Balance = deposit(
- 0,
- sp_std::mem::size_of::<pallet_contracts::ContractInfo<Runtime>>() as u32
+ pub TombstoneDeposit: Balance = deposit(
+ 1,
+ sp_std::mem::size_of::<pallet_contracts::Pallet<Runtime>> as u32,
);
- pub const DepositPerContract: Balance = TombstoneDeposit::get();
+ pub DepositPerContract: Balance = TombstoneDeposit::get();
pub const DepositPerStorageByte: Balance = deposit(0, 1);
pub const DepositPerStorageItem: Balance = deposit(1, 0);
pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * DAYS);
@@ -465,8 +402,8 @@
<Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(1) -
<Runtime as pallet_contracts::Config>::WeightInfo::on_initialize_per_queue_item(0)
)) / 5) as u32;
+ pub Schedule: pallet_contracts::Schedule<Runtime> = Default::default();
}
-
impl pallet_contracts::Config for Runtime {
type Time = Timestamp;
@@ -481,14 +418,16 @@
type DepositPerStorageItem = DepositPerStorageItem;
type RentFraction = RentFraction;
type SurchargeReward = SurchargeReward;
- type MaxDepth = MaxDepth;
- type MaxValueSize = MaxValueSize;
+ // type MaxDepth = MaxDepth;
+ // type MaxValueSize = MaxValueSize;
type WeightPrice = pallet_transaction_payment::Module<Self>;
type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;
type ChainExtension = NFTExtension;
type DeletionQueueDepth = DeletionQueueDepth;
type DeletionWeightLimit = DeletionWeightLimit;
- type MaxCodeSize = MaxCodeSize;
+ // type MaxCodeSize = MaxCodeSize;
+ type Schedule = Schedule;
+ type CallStack = [pallet_contracts::Frame<Self>; 31];
}
parameter_types! {
@@ -514,7 +453,7 @@
}
impl pallet_transaction_payment::Config for Runtime {
- type OnChargeTransaction = CurrencyAdapter<Balances, DealWithFees>;
+ type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, ()>;
type TransactionByteFee = TransactionByteFee;
type WeightToFee = LinearFee<Balance>;
type FeeMultiplierUpdate = ();
@@ -531,15 +470,16 @@
pub const DataDepositPerByte: Balance = 1 * CENTIUNIQUE;
pub const BountyDepositBase: Balance = 1 * UNIQUE;
pub const BountyDepositPayoutDelay: BlockNumber = 1 * DAYS;
- pub const TreasuryModuleId: ModuleId = ModuleId(*b"py/trsry");
+ pub const TreasuryModuleId: PalletId = PalletId(*b"py/trsry");
pub const BountyUpdatePeriod: BlockNumber = 14 * DAYS;
pub const MaximumReasonLength: u32 = 16384;
pub const BountyCuratorDeposit: Permill = Permill::from_percent(50);
pub const BountyValueMinimum: Balance = 5 * UNIQUE;
+ pub const MaxApprovals: u32 = 100;
}
impl pallet_treasury::Config for Runtime {
- type ModuleId = TreasuryModuleId;
+ type PalletId = TreasuryModuleId;
type Currency = Balances;
type ApproveOrigin = EnsureRoot<AccountId>;
type RejectOrigin = EnsureRoot<AccountId>;
@@ -552,6 +492,7 @@
type BurnDestination = ();
type SpendFunds = ();
type WeightInfo = pallet_treasury::weights::SubstrateWeight<Runtime>;
+ type MaxApprovals = MaxApprovals;
}
impl pallet_sudo::Config for Runtime {
@@ -572,6 +513,173 @@
}
parameter_types! {
+ pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;
+ pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;
+}
+
+impl cumulus_pallet_parachain_system::Config for Runtime {
+ type Event = Event;
+ type OnValidationData = ();
+ type SelfParaId = parachain_info::Pallet<Runtime>;
+ // type DownwardMessageHandlers = cumulus_primitives_utility::UnqueuedDmpAsParent<
+ // MaxDownwardMessageWeight,
+ // XcmExecutor<XcmConfig>,
+ // Call,
+ // >;
+ type OutboundXcmpMessageSource = XcmpQueue;
+ type DmpMessageHandler = DmpQueue;
+ type ReservedDmpWeight = ReservedDmpWeight;
+ type ReservedXcmpWeight = ReservedXcmpWeight;
+ type XcmpMessageHandler = XcmpQueue;
+}
+
+impl parachain_info::Config for Runtime {}
+
+impl cumulus_pallet_aura_ext::Config for Runtime {}
+
+parameter_types! {
+ pub const RelayLocation: MultiLocation = X1(Parent);
+ pub const RelayNetwork: NetworkId = NetworkId::Polkadot;
+ pub RelayOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into();
+ pub Ancestry: MultiLocation = X1(Parachain(ParachainInfo::parachain_id().into()));
+}
+
+/// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used
+/// when determining ownership of accounts for asset transacting and when attempting to use XCM
+/// `Transact` in order to determine the dispatch Origin.
+pub type LocationToAccountId = (
+ // The parent (Relay-chain) origin converts to the default `AccountId`.
+ ParentIsDefault<AccountId>,
+ // Sibling parachain origins convert to AccountId via the `ParaId::into`.
+ SiblingParachainConvertsVia<Sibling, AccountId>,
+ // Straight up local `AccountId32` origins just alias directly to `AccountId`.
+ AccountId32Aliases<RelayNetwork, AccountId>,
+);
+
+/// Means for transacting assets on this chain.
+pub type LocalAssetTransactor = CurrencyAdapter<
+ // Use this currency:
+ Balances,
+ // Use this currency when it is a fungible asset matching the given location or name:
+ IsConcrete<RelayLocation>,
+ // Do a simple punn to convert an AccountId32 MultiLocation into a native chain account ID:
+ LocationToAccountId,
+ // Our chain's account ID type (we can't get away without mentioning it explicitly):
+ AccountId,
+ // We don't track any teleports.
+ (),
+>;
+
+/// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance,
+/// ready for dispatching a transaction with Xcm's `Transact`. There is an `OriginKind` which can
+/// biases the kind of local `Origin` it will become.
+pub type XcmOriginToTransactDispatchOrigin = (
+ // Sovereign account converter; this attempts to derive an `AccountId` from the origin location
+ // using `LocationToAccountId` and then turn that into the usual `Signed` origin. Useful for
+ // foreign chains who want to have a local sovereign account on this chain which they control.
+ SovereignSignedViaLocation<LocationToAccountId, Origin>,
+ // Native converter for Relay-chain (Parent) location; will converts to a `Relay` origin when
+ // recognised.
+ RelayChainAsNative<RelayOrigin, Origin>,
+ // Native converter for sibling Parachains; will convert to a `SiblingPara` origin when
+ // recognised.
+ SiblingParachainAsNative<cumulus_pallet_xcm::Origin, Origin>,
+ // Superuser converter for the Relay-chain (Parent) location. This will allow it to issue a
+ // transaction from the Root origin.
+ ParentAsSuperuser<Origin>,
+ // Native signed account converter; this just converts an `AccountId32` origin into a normal
+ // `Origin::Signed` origin of the same 32-byte value.
+ SignedAccountId32AsNative<RelayNetwork, Origin>,
+ // Xcm origins can be represented natively under the Xcm pallet's Xcm origin.
+ XcmPassthrough<Origin>,
+);
+
+parameter_types! {
+ // One XCM operation is 1_000_000 weight - almost certainly a conservative estimate.
+ pub UnitWeightCost: Weight = 1_000_000;
+ // 1200 UNIQUEs buy 1 second of weight.
+ pub const WeightPrice: (MultiLocation, u128) = (X1(Parent), 1_200 * UNIQUE);
+}
+
+match_type! {
+ pub type ParentOrParentsUnitPlurality: impl Contains<MultiLocation> = {
+ X1(Parent) | X2(Parent, Plurality { id: BodyId::Unit, .. })
+ };
+}
+
+pub type Barrier = (
+ TakeWeightCredit,
+ AllowTopLevelPaidExecutionFrom<All<MultiLocation>>,
+ AllowUnpaidExecutionFrom<ParentOrParentsUnitPlurality>,
+ // ^^^ Parent & its unit plurality gets free execution
+);
+
+pub struct XcmConfig;
+impl Config for XcmConfig {
+ type Call = Call;
+ type XcmSender = XcmRouter;
+ // How to withdraw and deposit an asset.
+ type AssetTransactor = LocalAssetTransactor;
+ type OriginConverter = XcmOriginToTransactDispatchOrigin;
+ type IsReserve = NativeAsset;
+ type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of ROC
+ type LocationInverter = LocationInverter<Ancestry>;
+ type Barrier = Barrier;
+ type Weigher = FixedWeightBounds<UnitWeightCost, Call>;
+ type Trader = UsingComponents<IdentityFee<Balance>, RelayLocation, AccountId, Balances, ()>;
+ type ResponseHandler = (); // Don't handle responses for now.
+}
+
+// parameter_types! {
+// pub const MaxDownwardMessageWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 10;
+// }
+
+/// No local origins on this chain are allowed to dispatch XCM sends/executions.
+pub type LocalOriginToLocation = (SignedToAccountId32<Origin, AccountId, RelayNetwork>,);
+
+/// The means for routing XCM messages which are not for local execution into the right message
+/// queues.
+pub type XcmRouter = (
+ // Two routers - use UMP to communicate with the relay chain:
+ cumulus_primitives_utility::ParentAsUmp<ParachainSystem>,
+ // ..and XCMP to communicate with the sibling chains.
+ XcmpQueue,
+);
+
+impl pallet_xcm::Config for Runtime {
+ type Event = Event;
+ type SendXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;
+ type XcmRouter = XcmRouter;
+ type ExecuteXcmOrigin = EnsureXcmOrigin<Origin, LocalOriginToLocation>;
+ type XcmExecuteFilter = All<(MultiLocation, Xcm<Call>)>;
+ type XcmExecutor = XcmExecutor<XcmConfig>;
+ type XcmTeleportFilter = All<(MultiLocation, Vec<MultiAsset>)>;
+ type XcmReserveTransferFilter = ();
+ type Weigher = FixedWeightBounds<UnitWeightCost, Call>;
+}
+
+impl cumulus_pallet_xcm::Config for Runtime {
+ type Event = Event;
+ type XcmExecutor = XcmExecutor<XcmConfig>;
+}
+
+impl cumulus_pallet_xcmp_queue::Config for Runtime {
+ type Event = Event;
+ type XcmExecutor = XcmExecutor<XcmConfig>;
+ type ChannelInfo = ParachainSystem;
+}
+
+impl cumulus_pallet_dmp_queue::Config for Runtime {
+ type Event = Event;
+ type XcmExecutor = XcmExecutor<XcmConfig>;
+ type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;
+}
+
+impl pallet_aura::Config for Runtime {
+ type AuthorityId = AuraId;
+}
+
+parameter_types! {
pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account();
pub const CollectionCreationPrice: Balance = 100 * UNIQUE;
}
@@ -594,10 +702,6 @@
type EthereumTransactionSender = pallet_ethereum::Module<Runtime>;
}
-/// Reimport pallet inflation
-extern crate pallet_inflation;
-pub use pallet_inflation::*;
-
parameter_types! {
pub const InflationBlockInterval: BlockNumber = 100; // every time per how many blocks inflation is applied
}
@@ -609,28 +713,85 @@
type InflationBlockInterval = InflationBlockInterval;
}
-construct_runtime!(
- pub enum Runtime where
- Block = Block,
- NodeBlock = opaque::Block,
- UncheckedExtrinsic = UncheckedExtrinsic
+parameter_types! {
+ pub MaximumSchedulerWeight: Weight = Perbill::from_percent(50) *
+ RuntimeBlockWeights::get().max_block;
+ pub const MaxScheduledPerBlock: u32 = 50;
+}
+
+pub struct Sponsoring;
+impl SponsoringResolve<AccountId, Call> for Sponsoring {
+
+ fn resolve(who: &AccountId, call: &Call) -> Option<AccountId>
+ where
+ Call: Dispatchable<Info=DispatchInfo>,
+ Call: IsSubType<pallet_nft::Call<Runtime>>,
+ Call: IsSubType<pallet_contracts::Call<Runtime>>,
+ AccountId: AsRef<[u8]>,
+ AccountId: UncheckedFrom<Hash>
{
- System: system::{Module, Call, Config, Storage, Event<T>},
- RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Module, Call, Storage},
- Contracts: pallet_contracts::{Module, Call, Config<T>, Storage, Event<T>},
- Timestamp: pallet_timestamp::{Module, Call, Storage, Inherent},
- Aura: pallet_aura::{Module, Config<T> },
+ pallet_nft_transaction_payment::Module::<Runtime>::withdraw_type(who, call)
+ }
+}
+
+impl pallet_scheduler::Config for Runtime {
+ type Event = Event;
+ type Origin = Origin;
+ type PalletsOrigin = OriginCaller;
+ type Call = Call;
+ type MaximumWeight = MaximumSchedulerWeight;
+ type ScheduleOrigin = EnsureSigned<AccountId>;
+ type MaxScheduledPerBlock = MaxScheduledPerBlock;
+ type Sponsoring = Sponsoring;
+ type WeightInfo = ();
+}
+
+impl pallet_nft_transaction_payment::Config for Runtime {
+}
+
+impl pallet_nft_charge_transaction::Config for Runtime {
+}
+
+construct_runtime!(
+ pub enum Runtime where
+ Block = Block,
+ NodeBlock = opaque::Block,
+ UncheckedExtrinsic = UncheckedExtrinsic
+ {
+ Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>} = 30,
+ Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>},
+ RandomnessCollectiveFlip: pallet_randomness_collective_flip::{Pallet, Call, Storage},
+ Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent},
+ TransactionPayment: pallet_transaction_payment::{Pallet, Storage},
+ Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>},
+ Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>},
+ System: system::{Pallet, Call, Storage, Config, Event<T>},
+ Vesting: pallet_vesting::{Pallet, Call, Config<T>, Storage, Event<T>},
+
+ ParachainSystem: cumulus_pallet_parachain_system::{Pallet, Call, Storage, Inherent, Event<T>, ValidateUnsigned} = 20,
+ ParachainInfo: parachain_info::{Pallet, Storage, Config} = 21,
+
+ Aura: pallet_aura::{Pallet, Config<T>},
+ AuraExt: cumulus_pallet_aura_ext::{Pallet, Config},
+
+ // Frontier
EVM: pallet_evm::{Module, Config, Call, Storage, Event<T>},
Ethereum: pallet_ethereum::{Module, Config, Call, Storage, Event, ValidateUnsigned},
- Grandpa: pallet_grandpa::{Module, Call, Storage, Config, Event},
- Balances: pallet_balances::{Module, Call, Storage, Config<T>, Event<T>},
- TransactionPayment: pallet_transaction_payment::{Module, Storage},
- Sudo: pallet_sudo::{Module, Call, Config<T>, Storage, Event<T>},
- Inflation: pallet_inflation::{Module, Call, Storage},
- Nft: pallet_nft::{Module, Call, Config<T>, Storage, Event<T>},
- Treasury: pallet_treasury::{Module, Call, Storage, Config, Event<T>},
- Vesting: pallet_vesting::{Module, Call, Config<T>, Storage, Event<T>},
- }
+
+ // XCM helpers.
+ XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,
+ PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,
+ CumulusXcm: cumulus_pallet_xcm::{Pallet, Call, Event<T>, Origin} = 52,
+ DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event<T>} = 53,
+
+
+ // Unique Pallets
+ Inflation: pallet_inflation::{Pallet, Call, Storage},
+ Nft: pallet_nft::{Pallet, Call, Config<T>, Storage, Event<T>},
+ Scheduler: pallet_scheduler::{Pallet, Call, Storage, Event<T>},
+ NftPayment: pallet_nft_transaction_payment::{Pallet, Call, Storage},
+ Charging: pallet_nft_charge_transaction::{Pallet, Call, Storage },
+ }
);
pub struct TransactionConverter;
@@ -650,7 +811,7 @@
}
/// The address format for describing accounts.
-pub type Address = AccountId;
+pub type Address = sp_runtime::MultiAddress<AccountId, ()>;
/// Block header type as expected by this runtime.
pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
/// Block type as expected by this runtime.
@@ -661,111 +822,87 @@
pub type BlockId = generic::BlockId<Block>;
/// The SignedExtension to the basic transaction logic.
pub type SignedExtra = (
- system::CheckSpecVersion<Runtime>,
- system::CheckTxVersion<Runtime>,
- system::CheckGenesis<Runtime>,
- system::CheckEra<Runtime>,
- system::CheckNonce<Runtime>,
- system::CheckWeight<Runtime>,
- pallet_nft::ChargeTransactionPayment<Runtime>,
+ system::CheckSpecVersion<Runtime>,
+ // system::CheckTxVersion<Runtime>,
+ system::CheckGenesis<Runtime>,
+ system::CheckEra<Runtime>,
+ system::CheckNonce<Runtime>,
+ system::CheckWeight<Runtime>,
+ pallet_nft_charge_transaction::ChargeTransactionPayment<Runtime>,
);
/// Unchecked extrinsic type as expected by this runtime.
pub type UncheckedExtrinsic = generic::UncheckedExtrinsic<Address, Call, Signature, SignedExtra>;
/// Extrinsic type that has already been checked.
pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, Call, SignedExtra>;
/// Executive: handles dispatch to the various modules.
-pub type Executive =
- frame_executive::Executive<Runtime, Block, system::ChainContext<Runtime>, Runtime, AllModules>;
+pub type Executive = frame_executive::Executive<
+ Runtime,
+ Block,
+ frame_system::ChainContext<Runtime>,
+ Runtime,
+ AllPallets,
+>;
-impl_runtime_apis! {
- impl pallet_nft::NftApi<Block>
- for Runtime
- {
- fn eth_contract_code(account: H160) -> Option<Vec<u8>> {
- <pallet_nft::NftErcSupport<Runtime>>::get_code(&account)
- }
+impl_opaque_keys! {
+ pub struct SessionKeys {
+ pub aura: Aura,
}
+}
- impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber>
- for Runtime
- {
- fn call(
- origin: AccountId,
- dest: AccountId,
- value: Balance,
- gas_limit: u64,
- input_data: Vec<u8>,
- ) -> pallet_contracts_primitives::ContractExecResult {
- Contracts::bare_call(origin, dest, value, gas_limit, input_data)
- }
+impl_runtime_apis! {
+ impl sp_api::Core<Block> for Runtime {
+ fn version() -> RuntimeVersion {
+ VERSION
+ }
- fn get_storage(
- address: AccountId,
- key: [u8; 32],
- ) -> pallet_contracts_primitives::GetStorageResult {
- Contracts::get_storage(address, key)
- }
+ fn execute_block(block: Block) {
+ Executive::execute_block(block)
+ }
- fn rent_projection(
- address: AccountId,
- ) -> pallet_contracts_primitives::RentProjectionResult<BlockNumber> {
- Contracts::rent_projection(address)
- }
- }
+ fn initialize_block(header: &<Block as BlockT>::Header) {
+ Executive::initialize_block(header)
+ }
+ }
- impl sp_api::Core<Block> for Runtime {
- fn version() -> RuntimeVersion {
- VERSION
- }
+ impl sp_api::Metadata<Block> for Runtime {
+ fn metadata() -> OpaqueMetadata {
+ Runtime::metadata().into()
+ }
+ }
- fn execute_block(block: Block) {
- Executive::execute_block(block)
- }
+ impl sp_block_builder::BlockBuilder<Block> for Runtime {
+ fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {
+ Executive::apply_extrinsic(extrinsic)
+ }
- fn initialize_block(header: &<Block as BlockT>::Header) {
- Executive::initialize_block(header)
- }
- }
-
- impl sp_api::Metadata<Block> for Runtime {
- fn metadata() -> OpaqueMetadata {
- Runtime::metadata().into()
- }
- }
-
- impl sp_block_builder::BlockBuilder<Block> for Runtime {
- fn apply_extrinsic(extrinsic: <Block as BlockT>::Extrinsic) -> ApplyExtrinsicResult {
- Executive::apply_extrinsic(extrinsic)
- }
-
- fn finalize_block() -> <Block as BlockT>::Header {
- Executive::finalize_block()
- }
+ fn finalize_block() -> <Block as BlockT>::Header {
+ Executive::finalize_block()
+ }
- fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {
- data.create_extrinsics()
- }
+ fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<<Block as BlockT>::Extrinsic> {
+ data.create_extrinsics()
+ }
- fn check_inherents(
- block: Block,
- data: sp_inherents::InherentData,
- ) -> sp_inherents::CheckInherentsResult {
- data.check_extrinsics(&block)
- }
+ fn check_inherents(
+ block: Block,
+ data: sp_inherents::InherentData,
+ ) -> sp_inherents::CheckInherentsResult {
+ data.check_extrinsics(&block)
+ }
- fn random_seed() -> <Block as BlockT>::Hash {
- RandomnessCollectiveFlip::random_seed().0
- }
- }
+ // fn random_seed() -> <Block as BlockT>::Hash {
+ // RandomnessCollectiveFlip::random_seed().0
+ // }
+ }
- impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {
- fn validate_transaction(
- source: TransactionSource,
- tx: <Block as BlockT>::Extrinsic,
- ) -> TransactionValidity {
- Executive::validate_transaction(source, tx)
- }
- }
+ impl sp_transaction_pool::runtime_api::TaggedTransactionQueue<Block> for Runtime {
+ fn validate_transaction(
+ source: TransactionSource,
+ tx: <Block as BlockT>::Extrinsic,
+ ) -> TransactionValidity {
+ Executive::validate_transaction(source, tx)
+ }
+ }
impl sp_offchain::OffchainWorkerApi<Block> for Runtime {
fn offchain_worker(header: &<Block as BlockT>::Header) {
@@ -773,16 +910,6 @@
}
}
- impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
- fn slot_duration() -> u64 {
- Aura::slot_duration()
- }
-
- fn authorities() -> Vec<AuraId> {
- Aura::authorities()
- }
- }
-
impl fp_rpc::EthereumRuntimeRPCApi<Block> for Runtime {
fn chain_id() -> u64 {
<Runtime as pallet_evm::Config>::ChainId::get()
@@ -894,40 +1021,30 @@
}
impl sp_session::SessionKeys<Block> for Runtime {
- fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {
- opaque::SessionKeys::generate(seed)
- }
-
fn decode_session_keys(
encoded: Vec<u8>,
) -> Option<Vec<(Vec<u8>, KeyTypeId)>> {
- opaque::SessionKeys::decode_into_raw_public_keys(&encoded)
+ SessionKeys::decode_into_raw_public_keys(&encoded)
+ }
+
+ fn generate_session_keys(seed: Option<Vec<u8>>) -> Vec<u8> {
+ SessionKeys::generate(seed)
}
}
- impl fg_primitives::GrandpaApi<Block> for Runtime {
- fn grandpa_authorities() -> GrandpaAuthorityList {
- Grandpa::grandpa_authorities()
+ impl sp_consensus_aura::AuraApi<Block, AuraId> for Runtime {
+ fn slot_duration() -> sp_consensus_aura::SlotDuration {
+ sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
}
- fn submit_report_equivocation_unsigned_extrinsic(
- _equivocation_proof: fg_primitives::EquivocationProof<
- <Block as BlockT>::Hash,
- NumberFor<Block>,
- >,
- _key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof,
- ) -> Option<()> {
- None
+ fn authorities() -> Vec<AuraId> {
+ Aura::authorities()
}
+ }
- fn generate_key_ownership_proof(
- _set_id: fg_primitives::SetId,
- _authority_id: GrandpaId,
- ) -> Option<fg_primitives::OpaqueKeyOwnershipProof> {
- // NOTE: this is the only implementation possible since we've
- // defined our key owner proof type as a bottom type (i.e. a type
- // with no values).
- None
+ impl cumulus_primitives_core::CollectCollationInfo<Block> for Runtime {
+ fn collect_collation_info() -> cumulus_primitives_core::CollationInfo {
+ ParachainSystem::collect_collation_info()
}
}
@@ -946,7 +1063,46 @@
}
}
- #[cfg(feature = "runtime-benchmarks")]
+ impl pallet_contracts_rpc_runtime_api::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash>
+ for Runtime
+ {
+ fn call(
+ origin: AccountId,
+ dest: AccountId,
+ value: Balance,
+ gas_limit: u64,
+ input_data: Vec<u8>,
+ ) -> pallet_contracts_primitives::ContractExecResult {
+ Contracts::bare_call(origin, dest, value, gas_limit, input_data, false)
+ }
+
+ fn instantiate(
+ origin: AccountId,
+ endowment: Balance,
+ gas_limit: u64,
+ code: pallet_contracts_primitives::Code<Hash>,
+ data: Vec<u8>,
+ salt: Vec<u8>,
+ ) -> pallet_contracts_primitives::ContractInstantiateResult<AccountId, BlockNumber>
+ {
+ Contracts::bare_instantiate(origin, endowment, gas_limit, code, data, salt, true, false)
+ }
+
+ fn get_storage(
+ address: AccountId,
+ key: [u8; 32],
+ ) -> pallet_contracts_primitives::GetStorageResult {
+ Contracts::get_storage(address, key)
+ }
+
+ fn rent_projection(
+ address: AccountId,
+ ) -> pallet_contracts_primitives::RentProjectionResult<BlockNumber> {
+ Contracts::rent_projection(address)
+ }
+ }
+
+ #[cfg(feature = "runtime-benchmarks")]
impl frame_benchmarking::Benchmark<Block> for Runtime {
fn dispatch_benchmark(
config: frame_benchmarking::BenchmarkConfig
@@ -977,3 +1133,8 @@
}
}
}
+
+cumulus_pallet_parachain_system::register_validate_block!(
+ Runtime,
+ cumulus_pallet_aura_ext::BlockExecutor::<Runtime, Executive>,
+);
runtime_types.jsondiffbeforeafterboth--- a/runtime_types.json
+++ b/runtime_types.json
@@ -61,8 +61,8 @@
"ConstOnChainSchema": "Vec<u8>"
},
"RawData": "Vec<u8>",
- "Address": "AccountId",
- "LookupSource": "AccountId",
+ "Address": "MultiAddress",
+ "LookupSource": "MultiAddress",
"Weight": "u64",
"CreateNftData": {
"const_data": "Vec<u8>",
tests/package.jsondiffbeforeafterboth--- a/tests/package.json
+++ b/tests/package.json
@@ -4,10 +4,10 @@
"description": "Substrate Nft tests",
"main": "",
"devDependencies": {
- "@polkadot/dev": "^0.62.10",
- "@polkadot/ts": "^0.3.63",
- "@polkadot/typegen": "^4.7.2",
- "@polkadot/util-crypto": "^6.3.1",
+ "@polkadot/dev": "0.62.41",
+ "@polkadot/ts": "0.3.89",
+ "@polkadot/typegen": "4.13.2-5",
+ "@polkadot/util-crypto": "6.7.1",
"@types/chai": "^4.2.17",
"@types/chai-as-promised": "^7.1.3",
"@types/mocha": "^8.2.2",
@@ -53,14 +53,15 @@
"testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",
"testSetVariableMetadataSponsoringRateLimit": "mocha --timeout 9999999 -r ts-node/register ./**/setVariableMetadataSponsoringRateLimit.test.ts",
"testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",
- "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts"
+ "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
+ "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts"
},
"author": "",
"license": "SEE LICENSE IN ../LICENSE",
"homepage": "",
"dependencies": {
- "@polkadot/api": "4.7.2",
- "@polkadot/api-contract": "4.7.2",
+ "@polkadot/api": "4.13.2-5",
+ "@polkadot/api-contract": "4.13.2-5",
"@polkadot/util": "6.3.1",
"bignumber.js": "^9.0.1",
"chai-as-promised": "^7.1.1",
tests/src/block-production.test.tsdiffbeforeafterboth--- /dev/null
+++ b/tests/src/block-production.test.ts
@@ -0,0 +1,34 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+import usingApi from "./substrate/substrate-api";
+import { expect } from "chai";
+import { ApiPromise } from "@polkadot/api";
+
+const BlockTimeMs = 12000;
+const ToleranceMs = 1000;
+
+async function getBlocks(api: ApiPromise): Promise<number[]> {
+ return new Promise<number[]>(async (resolve, reject) => {
+ const blockNumbers: number[] = [];
+ setTimeout(() => reject('Block production test failed due to timeout.'), BlockTimeMs + ToleranceMs);
+ const unsubscribe = await api.rpc.chain.subscribeNewHeads((head: any) => {
+ blockNumbers.push(head.number.toNumber());
+ if(blockNumbers.length >= 2) {
+ unsubscribe();
+ resolve(blockNumbers);
+ }
+ });
+ });
+}
+
+describe('Block Production smoke test', () => {
+ it('Node produces new blocks', async () => {
+ await usingApi(async (api) => {
+ let blocks: number[] | undefined = await getBlocks(api);
+ expect(blocks[0]).to.be.lessThan(blocks[1]);
+ });
+ });
+});
tests/src/blocks-production.test.tsdiffbeforeafterboth--- a/tests/src/blocks-production.test.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// This file is subject to the terms and conditions defined in
-// file 'LICENSE', which is part of this source code package.
-//
-
-import usingApi from "./substrate/substrate-api";
-import { expect } from "chai";
-import { ApiPromise } from "@polkadot/api";
-
-const BlockTimeMs = 6000;
-const ToleranceMs = 1000;
-
-async function getBlocks(api: ApiPromise): Promise<number[]> {
- return new Promise<number[]>(async (resolve, reject) => {
- const blockNumbers: number[] = [];
- setTimeout(() => reject('Block production test failed due to timeout.'), BlockTimeMs + ToleranceMs);
- const unsubscribe = await api.rpc.chain.subscribeNewHeads((head) => {
- blockNumbers.push(head.number.toNumber());
- if(blockNumbers.length >= 2) {
- unsubscribe();
- resolve(blockNumbers);
- }
- });
- });
-}
-
-describe('Block Production smoke test', () => {
- it('Node produces new blocks', async () => {
- await usingApi(async (api) => {
- let blocks: number[] | undefined = await getBlocks(api);
- expect(blocks[0]).to.be.lessThan(blocks[1]);
- });
- });
-});
tests/src/config.tsdiffbeforeafterboth--- a/tests/src/config.ts
+++ b/tests/src/config.ts
@@ -6,7 +6,7 @@
import process from 'process';
const config = {
- substrateUrl: process.env.substrateUrl || 'ws://127.0.0.1:9944'
+ substrateUrl: process.env.substrateUrl || 'ws://127.0.0.1:9845'
}
export default config;
\ No newline at end of file
tests/src/pallet-presence.test.tsdiffbeforeafterboth--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -13,12 +13,13 @@
// Pallets that must always be present
const requiredPallets = [
- 'nft', 'inflation', 'balances', 'contracts', 'randomnesscollectiveflip', 'system', 'timestamp', 'transactionpayment', 'treasury', 'vesting', 'nft', 'ethereum'
+ 'nft', 'inflation', 'balances', 'contracts', 'randomnesscollectiveflip', 'system', 'timestamp', 'transactionpayment', 'treasury', 'vesting', 'evm', 'ethereum',
+ 'scheduler', 'nftpayment', 'charging'
];
// Pallets that depend on consensus and governance configuration
const consensusPallets = [
- 'sudo', 'grandpa', 'aura'
+ 'sudo', 'aura'
];
describe('Pallet presence', () => {
tests/src/scheduler.test.tsdiffbeforeafterboth--- /dev/null
+++ b/tests/src/scheduler.test.ts
@@ -0,0 +1,94 @@
+//
+// This file is subject to the terms and conditions defined in
+// file 'LICENSE', which is part of this source code package.
+//
+
+import { IKeyringPair } from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from './substrate/privateKey';
+import usingApi from './substrate/substrate-api';
+import {
+ createItemExpectSuccess,
+ createCollectionExpectSuccess,
+ destroyCollectionExpectSuccess,
+ findNotExistingCollection,
+ queryCollectionExpectSuccess,
+ setOffchainSchemaExpectFailure,
+ setOffchainSchemaExpectSuccess,
+ transferExpectSuccess,
+ scheduleTransferExpectSuccess,
+ setCollectionSponsorExpectSuccess,
+ confirmSponsorshipExpectSuccess
+} from './util/helpers';
+
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+
+const DATA = [1, 2, 3, 4];
+
+describe('Integration Test scheduler base transaction', () => {
+ let alice: IKeyringPair;
+
+ before(async () => {
+ await usingApi(async () => {
+ alice = privateKey('//Alice');
+ });
+ });
+
+ it('User can transfer owned token with delay (scheduler)', async () => {
+ await usingApi(async (api) => {
+ const Alice = privateKey('//Alice');
+ const Bob = privateKey('//Bob');
+ // nft
+ const nftCollectionId = await createCollectionExpectSuccess();
+ const newNftTokenId = await createItemExpectSuccess(Alice, nftCollectionId, 'NFT');
+ await setCollectionSponsorExpectSuccess(nftCollectionId, Alice.address);
+ await confirmSponsorshipExpectSuccess(nftCollectionId);
+
+ await scheduleTransferExpectSuccess(nftCollectionId, newNftTokenId, Alice, Bob, 1, 'NFT');
+ });
+ });
+
+
+});
+
+// describe('Negative Integration Test setOffchainSchema', () => {
+// let alice: IKeyringPair;
+// let bob: IKeyringPair;
+
+// let validCollectionId: number;
+
+// before(async () => {
+// await usingApi(async () => {
+// alice = privateKey('//Alice');
+// bob = privateKey('//Bob');
+
+// validCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });
+// });
+// });
+
+// it('fails on not existing collection id', async () => {
+// const nonExistingCollectionId = await usingApi(findNotExistingCollection);
+
+// await setOffchainSchemaExpectFailure(alice, nonExistingCollectionId, DATA);
+// });
+
+// it('fails on destroyed collection id', async () => {
+// const destroyedCollectionId = await createCollectionExpectSuccess({ mode: { type: 'NFT' } });
+// await destroyCollectionExpectSuccess(destroyedCollectionId);
+
+// await setOffchainSchemaExpectFailure(alice, destroyedCollectionId, DATA);
+// });
+
+// it('fails on too long data', async () => {
+// const tooLongData = new Array(4097).fill(0xff);
+
+// await setOffchainSchemaExpectFailure(alice, validCollectionId, tooLongData);
+// });
+
+// it('fails on execution by non-owner', async () => {
+// await setOffchainSchemaExpectFailure(bob, validCollectionId, DATA);
+// });
+// });
tests/src/setCollectionLimits.test.tsdiffbeforeafterboth--- a/tests/src/setCollectionLimits.test.ts
+++ b/tests/src/setCollectionLimits.test.ts
@@ -29,7 +29,7 @@
const sponsoredDataSize = 0;
const sponsoredMintSize = 0;
const sponsorTimeout = 1;
-const tokenLimit = 1;
+const tokenLimit = 10;
describe('setCollectionLimits positive', () => {
let tx;
@@ -69,6 +69,45 @@
expect(collectionInfo.Limits.OwnerCanDestroy).to.be.true;
});
});
+
+ it('Set the same token limit twice', async () => {
+ await usingApi(async (api: ApiPromise) => {
+
+ let collectionLimits = {
+ AccountTokenOwnershipLimit: accountTokenOwnershipLimit,
+ SponsoredMintSize: sponsoredDataSize,
+ TokenLimit: tokenLimit,
+ SponsorTimeout: sponsorTimeout,
+ OwnerCanTransfer: true,
+ OwnerCanDestroy: true
+ };
+
+ // The first time
+ const tx1 = api.tx.nft.setCollectionLimits(
+ collectionIdForTesting,
+ collectionLimits,
+ );
+ const events1 = await submitTransactionAsync(alice, tx1);
+ const result1 = getCreateItemResult(events1);
+ const collectionInfo1 = await getDetailedCollectionInfo(api, collectionIdForTesting) as ICollectionInterface;
+
+ // The second time
+ const tx2 = api.tx.nft.setCollectionLimits(
+ collectionIdForTesting,
+ collectionLimits,
+ );
+ const events2 = await submitTransactionAsync(alice, tx2);
+ const result2 = getCreateItemResult(events2);
+ const collectionInfo2 = await getDetailedCollectionInfo(api, collectionIdForTesting) as ICollectionInterface;
+
+ // tslint:disable-next-line:no-unused-expression
+ expect(result1.success).to.be.true;
+ expect(collectionInfo1.Limits.TokenLimit).to.be.equal(tokenLimit);
+ expect(result2.success).to.be.true;
+ expect(collectionInfo2.Limits.TokenLimit).to.be.equal(tokenLimit);
+ });
+ });
+
});
describe('setCollectionLimits negative', () => {
@@ -165,4 +204,27 @@
OwnerCanDestroy: true
});
});
+
+ it('Setting the higher token limit fails', async () => {
+ await usingApi(async (api: ApiPromise) => {
+
+ const collectionId = await createCollectionExpectSuccess();
+ let collectionLimits = {
+ AccountTokenOwnershipLimit: accountTokenOwnershipLimit,
+ SponsoredMintSize: sponsoredDataSize,
+ TokenLimit: tokenLimit,
+ SponsorTimeout: sponsorTimeout,
+ OwnerCanTransfer: true,
+ OwnerCanDestroy: true
+ };
+
+ // The first time
+ await setCollectionLimitsExpectSuccess(alice, collectionId, collectionLimits);
+
+ // The second time - higher token limit
+ collectionLimits.TokenLimit += 1;
+ await setCollectionLimitsExpectFailure(alice, collectionId, collectionLimits);
+ });
+ });
+
});
tests/src/util/helpers.tsdiffbeforeafterboth--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -4,7 +4,8 @@
//
import { ApiPromise, Keyring } from '@polkadot/api';
-import type { AccountId, EventRecord } from '@polkadot/types/interfaces';
+import { Enum, Struct } from '@polkadot/types/codec';
+import type { AccountId, BlockNumber, Call, EventRecord } from '@polkadot/types/interfaces';
import { u128 } from '@polkadot/types/primitive';
import { IKeyringPair } from '@polkadot/types/types';
import { evmToAddress } from '@polkadot/util-crypto';
@@ -17,6 +18,8 @@
import { default as usingApi, submitTransactionAsync, submitTransactionExpectFailAsync } from '../substrate/substrate-api';
import { ICollectionInterface } from '../types';
import { hexToStr, strToUTF16, utf16ToStr } from './util';
+import { Compact, Option, Raw, Vec } from '@polkadot/types/codec';
+// import { AccountId, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, Call, ChangesTrieConfiguration, Consensus, ConsensusEngineId, Digest, DigestItem, DispatchClass, DispatchInfo, DispatchInfoTo190, EcdsaSignature, Ed25519Signature, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV1, ExtrinsicPayloadV2, ExtrinsicPayloadV3, ExtrinsicPayloadV4, ExtrinsicSignatureV1, ExtrinsicSignatureV2, ExtrinsicSignatureV3, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV1, ExtrinsicV2, ExtrinsicV3, ExtrinsicV4, Hash, Header, ImmortalEra, Index, Justification, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, Moment, MortalEra, MultiSignature, Origin, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Seal, SealV0, Signature, SignedBlock, SignerPayload, Sr25519Signature, ValidatorId, Weight, WeightMultiplier } from '@polkadot/types/interfaces/runtime';
chai.use(chaiAsPromised);
const expect = chai.expect;
@@ -727,6 +730,54 @@
});
}
+async function getBlockNumber(api: ApiPromise): Promise<number> {
+ return new Promise<number>(async (resolve, reject) => {
+ const unsubscribe = await api.rpc.chain.subscribeNewHeads((head) => {
+ unsubscribe();
+ resolve(head.number.toNumber());
+ });
+ });
+}
+
+export async function
+scheduleTransferExpectSuccess(collectionId: number,
+ tokenId: number,
+ sender: IKeyringPair,
+ recipient: IKeyringPair,
+ value: number | bigint = 1,
+ type: string = 'NFT') {
+ await usingApi(async (api: ApiPromise) => {
+ let balanceBefore = new BN(0);
+
+
+ let blockNumber: number | undefined = await getBlockNumber(api);
+ let expectedBlockNumber = blockNumber + 2;
+
+ expect(blockNumber).to.be.greaterThan(0);
+ const transferTx = await api.tx.nft.transfer(recipient.address, collectionId, tokenId, value);
+ const scheduleTx = await api.tx.scheduler.schedule(expectedBlockNumber, null, 0, transferTx);
+
+ const events = await submitTransactionAsync(sender, scheduleTx);
+
+ const sponsorBalanceBefore = new BigNumber((await api.query.system.account(sender.address)).data.free.toString());
+ const recipientBalanceBefore = new BigNumber((await api.query.system.account(recipient.address)).data.free.toString());
+
+ const nftItemDataBefore = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON() as unknown as ITokenDataType;
+ expect(nftItemDataBefore.Owner.toString()).to.be.equal(sender.address);
+
+ // sleep for 2 blocks
+ await new Promise(resolve => setTimeout(resolve, 6000 * 2));
+
+ const sponsorBalanceAfter = new BigNumber((await api.query.system.account(sender.address)).data.free.toString());
+ const recipientBalanceAfter = new BigNumber((await api.query.system.account(recipient.address)).data.free.toString());
+
+ const nftItemData = (await api.query.nft.nftItemList(collectionId, tokenId)).toJSON() as unknown as ITokenDataType;
+ expect(nftItemData.Owner.toString()).to.be.equal(recipient.address);
+ expect(recipientBalanceAfter.toNumber()).to.be.equal(recipientBalanceBefore.toNumber());
+ });
+}
+
+
export async function
transferExpectSuccess(collectionId: number,
tokenId: number,
tests/yarn.lockdiffbeforeafterboth--- a/tests/yarn.lock
+++ b/tests/yarn.lock
@@ -2,10 +2,10 @@
# yarn lockfile v1
-"@babel/cli@^7.13.16":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.13.16.tgz#9d372e943ced0cc291f068204a9b010fd9cfadbc"
- integrity sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==
+"@babel/cli@^7.14.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.14.5.tgz#9551b194f02360729de6060785bbdcce52c69f0a"
+ integrity sha512-poegjhRvXHWO0EAsnYajwYZuqcz7gyfxwfaecUESxDujrqOivf3zrjFbub8IJkrqEaz3fvJWh001EzxBub54fg==
dependencies:
commander "^4.0.1"
convert-source-map "^1.1.0"
@@ -15,7 +15,7 @@
slash "^2.0.0"
source-map "^0.5.0"
optionalDependencies:
- "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents"
+ "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.2"
chokidar "^3.4.0"
"@babel/code-frame@7.12.11":
@@ -25,32 +25,32 @@
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
- integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
+ integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
dependencies:
- "@babel/highlight" "^7.12.13"
+ "@babel/highlight" "^7.14.5"
-"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4"
- integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz#8ef4c18e58e801c5c95d3c1c0f2874a2680fadea"
+ integrity sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==
-"@babel/core@^7.1.0", "@babel/core@^7.13.16", "@babel/core@^7.7.5":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.16.tgz#7756ab24396cc9675f1c3fcd5b79fcce192ea96a"
- integrity sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==
+"@babel/core@^7.1.0", "@babel/core@^7.14.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab"
+ integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==
dependencies:
- "@babel/code-frame" "^7.12.13"
- "@babel/generator" "^7.13.16"
- "@babel/helper-compilation-targets" "^7.13.16"
- "@babel/helper-module-transforms" "^7.13.14"
- "@babel/helpers" "^7.13.16"
- "@babel/parser" "^7.13.16"
- "@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.15"
- "@babel/types" "^7.13.16"
+ "@babel/code-frame" "^7.14.5"
+ "@babel/generator" "^7.14.5"
+ "@babel/helper-compilation-targets" "^7.14.5"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helpers" "^7.14.6"
+ "@babel/parser" "^7.14.6"
+ "@babel/template" "^7.14.5"
+ "@babel/traverse" "^7.14.5"
+ "@babel/types" "^7.14.5"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@@ -58,63 +58,64 @@
semver "^6.3.0"
source-map "^0.5.0"
-"@babel/generator@^7.13.16":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.16.tgz#0befc287031a201d84cdfc173b46b320ae472d14"
- integrity sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==
+"@babel/generator@^7.14.5", "@babel/generator@^7.7.2":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785"
+ integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==
dependencies:
- "@babel/types" "^7.13.16"
+ "@babel/types" "^7.14.5"
jsesc "^2.5.1"
source-map "^0.5.0"
-"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
- integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==
+"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61"
+ integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==
dependencies:
- "@babel/types" "^7.12.13"
+ "@babel/types" "^7.14.5"
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc"
- integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191"
+ integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.12.13"
- "@babel/types" "^7.12.13"
+ "@babel/helper-explode-assignable-expression" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.13.8":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c"
- integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf"
+ integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==
dependencies:
- "@babel/compat-data" "^7.13.15"
- "@babel/helper-validator-option" "^7.12.17"
- browserslist "^4.14.5"
+ "@babel/compat-data" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ browserslist "^4.16.6"
semver "^6.3.0"
-"@babel/helper-create-class-features-plugin@^7.13.0":
- version "7.13.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz#30d30a005bca2c953f5653fc25091a492177f4f6"
- integrity sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==
+"@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.14.6":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542"
+ integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==
dependencies:
- "@babel/helper-function-name" "^7.12.13"
- "@babel/helper-member-expression-to-functions" "^7.13.0"
- "@babel/helper-optimise-call-expression" "^7.12.13"
- "@babel/helper-replace-supers" "^7.13.0"
- "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-member-expression-to-functions" "^7.14.5"
+ "@babel/helper-optimise-call-expression" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.14.5"
+ "@babel/helper-split-export-declaration" "^7.14.5"
-"@babel/helper-create-regexp-features-plugin@^7.12.13":
- version "7.12.17"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7"
- integrity sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==
+"@babel/helper-create-regexp-features-plugin@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4"
+ integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
regexpu-core "^4.7.1"
-"@babel/helper-define-polyfill-provider@^0.2.0":
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz#a640051772045fedaaecc6f0c6c69f02bdd34bf1"
- integrity sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==
+"@babel/helper-define-polyfill-provider@^0.2.2":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6"
+ integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==
dependencies:
"@babel/helper-compilation-targets" "^7.13.0"
"@babel/helper-module-imports" "^7.12.13"
@@ -125,277 +126,295 @@
resolve "^1.14.2"
semver "^6.1.2"
-"@babel/helper-explode-assignable-expression@^7.12.13":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f"
- integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==
+"@babel/helper-explode-assignable-expression@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645"
+ integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==
dependencies:
- "@babel/types" "^7.13.0"
+ "@babel/types" "^7.14.5"
-"@babel/helper-function-name@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a"
- integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==
+"@babel/helper-function-name@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
+ integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==
dependencies:
- "@babel/helper-get-function-arity" "^7.12.13"
- "@babel/template" "^7.12.13"
- "@babel/types" "^7.12.13"
+ "@babel/helper-get-function-arity" "^7.14.5"
+ "@babel/template" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helper-get-function-arity@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
- integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==
+"@babel/helper-get-function-arity@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
+ integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==
dependencies:
- "@babel/types" "^7.12.13"
+ "@babel/types" "^7.14.5"
-"@babel/helper-hoist-variables@^7.13.0":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30"
- integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==
+"@babel/helper-hoist-variables@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
+ integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==
dependencies:
- "@babel/traverse" "^7.13.15"
- "@babel/types" "^7.13.16"
+ "@babel/types" "^7.14.5"
-"@babel/helper-member-expression-to-functions@^7.13.0", "@babel/helper-member-expression-to-functions@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
- integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==
+"@babel/helper-member-expression-to-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz#d5c70e4ad13b402c95156c7a53568f504e2fb7b8"
+ integrity sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==
dependencies:
- "@babel/types" "^7.13.12"
+ "@babel/types" "^7.14.5"
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
- integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3"
+ integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==
dependencies:
- "@babel/types" "^7.13.12"
+ "@babel/types" "^7.14.5"
-"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.13.14":
- version "7.13.14"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz#e600652ba48ccb1641775413cb32cfa4e8b495ef"
- integrity sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==
+"@babel/helper-module-transforms@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e"
+ integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==
dependencies:
- "@babel/helper-module-imports" "^7.13.12"
- "@babel/helper-replace-supers" "^7.13.12"
- "@babel/helper-simple-access" "^7.13.12"
- "@babel/helper-split-export-declaration" "^7.12.13"
- "@babel/helper-validator-identifier" "^7.12.11"
- "@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.13"
- "@babel/types" "^7.13.14"
+ "@babel/helper-module-imports" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.14.5"
+ "@babel/helper-simple-access" "^7.14.5"
+ "@babel/helper-split-export-declaration" "^7.14.5"
+ "@babel/helper-validator-identifier" "^7.14.5"
+ "@babel/template" "^7.14.5"
+ "@babel/traverse" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helper-optimise-call-expression@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
- integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==
+"@babel/helper-optimise-call-expression@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
+ integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==
dependencies:
- "@babel/types" "^7.12.13"
+ "@babel/types" "^7.14.5"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af"
- integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
+ integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
-"@babel/helper-remap-async-to-generator@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209"
- integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==
+"@babel/helper-remap-async-to-generator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6"
+ integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.12.13"
- "@babel/helper-wrap-function" "^7.13.0"
- "@babel/types" "^7.13.0"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-wrap-function" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.0", "@babel/helper-replace-supers@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804"
- integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==
+"@babel/helper-replace-supers@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94"
+ integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==
dependencies:
- "@babel/helper-member-expression-to-functions" "^7.13.12"
- "@babel/helper-optimise-call-expression" "^7.12.13"
- "@babel/traverse" "^7.13.0"
- "@babel/types" "^7.13.12"
+ "@babel/helper-member-expression-to-functions" "^7.14.5"
+ "@babel/helper-optimise-call-expression" "^7.14.5"
+ "@babel/traverse" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helper-simple-access@^7.12.13", "@babel/helper-simple-access@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
- integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==
+"@babel/helper-simple-access@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4"
+ integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==
dependencies:
- "@babel/types" "^7.13.12"
+ "@babel/types" "^7.14.5"
-"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
- integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==
+"@babel/helper-skip-transparent-expression-wrappers@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4"
+ integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==
dependencies:
- "@babel/types" "^7.12.1"
+ "@babel/types" "^7.14.5"
-"@babel/helper-split-export-declaration@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05"
- integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==
+"@babel/helper-split-export-declaration@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
+ integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==
dependencies:
- "@babel/types" "^7.12.13"
+ "@babel/types" "^7.14.5"
-"@babel/helper-validator-identifier@^7.12.11":
- version "7.12.11"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
- integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
+"@babel/helper-validator-identifier@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
+ integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
-"@babel/helper-validator-option@^7.12.17":
- version "7.12.17"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
- integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
+"@babel/helper-validator-option@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
+ integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
-"@babel/helper-wrap-function@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4"
- integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==
+"@babel/helper-wrap-function@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff"
+ integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==
dependencies:
- "@babel/helper-function-name" "^7.12.13"
- "@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.0"
- "@babel/types" "^7.13.0"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/template" "^7.14.5"
+ "@babel/traverse" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/helpers@^7.13.16":
- version "7.13.17"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.17.tgz#b497c7a00e9719d5b613b8982bda6ed3ee94caf6"
- integrity sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==
+"@babel/helpers@^7.14.6":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635"
+ integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==
dependencies:
- "@babel/template" "^7.12.13"
- "@babel/traverse" "^7.13.17"
- "@babel/types" "^7.13.17"
+ "@babel/template" "^7.14.5"
+ "@babel/traverse" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
- version "7.13.10"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1"
- integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
+ integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
dependencies:
- "@babel/helper-validator-identifier" "^7.12.11"
+ "@babel/helper-validator-identifier" "^7.14.5"
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.16":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37"
- integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.7.2":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.6.tgz#d85cc68ca3cac84eae384c06f032921f5227f4b2"
+ integrity sha512-oG0ej7efjEXxb4UgE+klVx+3j4MVo+A2vCzm7OUN4CLo6WhQ+vSOD2yJ8m7B+DghObxtLxt3EfgMWpq+AsWehQ==
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a"
- integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e"
+ integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
- "@babel/plugin-proposal-optional-chaining" "^7.13.12"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.5"
-"@babel/plugin-proposal-async-generator-functions@^7.13.15":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz#80e549df273a3b3050431b148c892491df1bcc5b"
- integrity sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==
+"@babel/plugin-proposal-async-generator-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz#4024990e3dd74181f4f426ea657769ff49a2df39"
+ integrity sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-remap-async-to-generator" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-remap-async-to-generator" "^7.14.5"
"@babel/plugin-syntax-async-generators" "^7.8.4"
-"@babel/plugin-proposal-class-properties@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37"
- integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==
+"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e"
+ integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-proposal-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681"
+ integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-proposal-dynamic-import@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz#876a1f6966e1dec332e8c9451afda3bebcdf2e1d"
- integrity sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==
+"@babel/plugin-proposal-dynamic-import@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c"
+ integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
-"@babel/plugin-proposal-export-namespace-from@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d"
- integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==
+"@babel/plugin-proposal-export-namespace-from@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76"
+ integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-proposal-json-strings@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz#bf1fb362547075afda3634ed31571c5901afef7b"
- integrity sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==
+"@babel/plugin-proposal-json-strings@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb"
+ integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-proposal-logical-assignment-operators@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz#93fa78d63857c40ce3c8c3315220fd00bfbb4e1a"
- integrity sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==
+"@babel/plugin-proposal-logical-assignment-operators@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738"
+ integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz#3730a31dafd3c10d8ccd10648ed80a2ac5472ef3"
- integrity sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6"
+ integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-proposal-numeric-separator@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db"
- integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==
+"@babel/plugin-proposal-numeric-separator@^7.14.2", "@babel/plugin-proposal-numeric-separator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18"
+ integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz#5d210a4d727d6ce3b18f9de82cc99a3964eed60a"
- integrity sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==
+"@babel/plugin-proposal-object-rest-spread@^7.14.4", "@babel/plugin-proposal-object-rest-spread@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz#e581d5ccdfa187ea6ed73f56c6a21c1580b90fbf"
+ integrity sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==
dependencies:
- "@babel/compat-data" "^7.13.8"
- "@babel/helper-compilation-targets" "^7.13.8"
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/compat-data" "^7.14.5"
+ "@babel/helper-compilation-targets" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.13.0"
+ "@babel/plugin-transform-parameters" "^7.14.5"
-"@babel/plugin-proposal-optional-catch-binding@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz#3ad6bd5901506ea996fc31bdcf3ccfa2bed71107"
- integrity sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==
+"@babel/plugin-proposal-optional-catch-binding@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c"
+ integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-proposal-optional-chaining@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz#ba9feb601d422e0adea6760c2bd6bbb7bfec4866"
- integrity sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==
+"@babel/plugin-proposal-optional-chaining@^7.14.2", "@babel/plugin-proposal-optional-chaining@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603"
+ integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-proposal-private-methods@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787"
- integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==
+"@babel/plugin-proposal-private-methods@^7.13.0", "@babel/plugin-proposal-private-methods@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d"
+ integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-proposal-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636"
+ integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-create-class-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba"
- integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==
+"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8"
+ integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
@@ -418,6 +437,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+ integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
"@babel/plugin-syntax-dynamic-import@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
@@ -446,12 +472,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-jsx@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15"
- integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==
+"@babel/plugin-syntax-jsx@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201"
+ integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
@@ -495,347 +521,357 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.8.3":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178"
- integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+ integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474"
- integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==
+"@babel/plugin-syntax-top-level-await@^7.12.13", "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+ integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-typescript@^7.14.5", "@babel/plugin-syntax-typescript@^7.7.2":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
+ integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-arrow-functions@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae"
- integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==
+"@babel/plugin-transform-arrow-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a"
+ integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-async-to-generator@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f"
- integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==
+"@babel/plugin-transform-async-to-generator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67"
+ integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==
dependencies:
- "@babel/helper-module-imports" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-remap-async-to-generator" "^7.13.0"
+ "@babel/helper-module-imports" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-remap-async-to-generator" "^7.14.5"
-"@babel/plugin-transform-block-scoped-functions@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4"
- integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==
+"@babel/plugin-transform-block-scoped-functions@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4"
+ integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-block-scoping@^7.12.13":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz#a9c0f10794855c63b1d629914c7dcfeddd185892"
- integrity sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==
+"@babel/plugin-transform-block-scoping@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz#8cc63e61e50f42e078e6f09be775a75f23ef9939"
+ integrity sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-classes@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b"
- integrity sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==
+"@babel/plugin-transform-classes@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz#0e98e82097b38550b03b483f9b51a78de0acb2cf"
+ integrity sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.12.13"
- "@babel/helper-function-name" "^7.12.13"
- "@babel/helper-optimise-call-expression" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-replace-supers" "^7.13.0"
- "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-optimise-call-expression" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.14.5"
+ "@babel/helper-split-export-declaration" "^7.14.5"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed"
- integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==
+"@babel/plugin-transform-computed-properties@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f"
+ integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-destructuring@^7.13.0":
- version "7.13.17"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz#678d96576638c19d5b36b332504d3fd6e06dea27"
- integrity sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==
+"@babel/plugin-transform-destructuring@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz#d32ad19ff1a6da1e861dc62720d80d9776e3bf35"
+ integrity sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad"
- integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==
+"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a"
+ integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-duplicate-keys@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de"
- integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==
+"@babel/plugin-transform-duplicate-keys@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954"
+ integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-exponentiation-operator@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1"
- integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==
+"@babel/plugin-transform-exponentiation-operator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493"
+ integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==
dependencies:
- "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-for-of@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062"
- integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==
+"@babel/plugin-transform-for-of@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb"
+ integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-function-name@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051"
- integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==
+"@babel/plugin-transform-function-name@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2"
+ integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==
dependencies:
- "@babel/helper-function-name" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-literals@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9"
- integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==
+"@babel/plugin-transform-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78"
+ integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-member-expression-literals@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40"
- integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==
+"@babel/plugin-transform-member-expression-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7"
+ integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-modules-amd@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3"
- integrity sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==
+"@babel/plugin-transform-modules-amd@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7"
+ integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==
dependencies:
- "@babel/helper-module-transforms" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-commonjs@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz#7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b"
- integrity sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==
+"@babel/plugin-transform-modules-commonjs@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz#7aaee0ea98283de94da98b28f8c35701429dad97"
+ integrity sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==
dependencies:
- "@babel/helper-module-transforms" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-simple-access" "^7.12.13"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-simple-access" "^7.14.5"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-systemjs@^7.13.8":
- version "7.13.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3"
- integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==
+"@babel/plugin-transform-modules-systemjs@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29"
+ integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==
dependencies:
- "@babel/helper-hoist-variables" "^7.13.0"
- "@babel/helper-module-transforms" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-validator-identifier" "^7.12.11"
+ "@babel/helper-hoist-variables" "^7.14.5"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-identifier" "^7.14.5"
babel-plugin-dynamic-import-node "^2.3.3"
-"@babel/plugin-transform-modules-umd@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b"
- integrity sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==
+"@babel/plugin-transform-modules-umd@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0"
+ integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==
dependencies:
- "@babel/helper-module-transforms" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9"
- integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz#d537e8ee083ee6f6aa4f4eef9d2081d555746e4c"
+ integrity sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
-"@babel/plugin-transform-new-target@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c"
- integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==
+"@babel/plugin-transform-new-target@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8"
+ integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-object-super@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7"
- integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==
+"@babel/plugin-transform-object-super@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45"
+ integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
- "@babel/helper-replace-supers" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-replace-supers" "^7.14.5"
-"@babel/plugin-transform-parameters@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007"
- integrity sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==
+"@babel/plugin-transform-parameters@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3"
+ integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-property-literals@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81"
- integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==
+"@babel/plugin-transform-property-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34"
+ integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-react-display-name@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd"
- integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA==
+"@babel/plugin-transform-react-display-name@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz#baa92d15c4570411301a85a74c13534873885b65"
+ integrity sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-react-jsx-development@^7.12.17":
- version "7.12.17"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447"
- integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==
+"@babel/plugin-transform-react-jsx-development@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af"
+ integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==
dependencies:
- "@babel/plugin-transform-react-jsx" "^7.12.17"
+ "@babel/plugin-transform-react-jsx" "^7.14.5"
-"@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12":
- version "7.13.12"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz#1df5dfaf0f4b784b43e96da6f28d630e775f68b3"
- integrity sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA==
+"@babel/plugin-transform-react-jsx@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz#39749f0ee1efd8a1bd729152cf5f78f1d247a44a"
+ integrity sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.12.13"
- "@babel/helper-module-imports" "^7.13.12"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/plugin-syntax-jsx" "^7.12.13"
- "@babel/types" "^7.13.12"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-module-imports" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-jsx" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/plugin-transform-react-pure-annotations@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42"
- integrity sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==
+"@babel/plugin-transform-react-pure-annotations@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz#18de612b84021e3a9802cbc212c9d9f46d0d11fc"
+ integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==
dependencies:
- "@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-plugin-utils" "^7.10.4"
+ "@babel/helper-annotate-as-pure" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-regenerator@^7.13.15":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39"
- integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==
+"@babel/plugin-transform-regenerator@^7.13.15", "@babel/plugin-transform-regenerator@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f"
+ integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==
dependencies:
regenerator-transform "^0.14.2"
-"@babel/plugin-transform-reserved-words@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695"
- integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==
+"@babel/plugin-transform-reserved-words@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304"
+ integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-runtime@^7.13.15":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz#2eddf585dd066b84102517e10a577f24f76a9cd7"
- integrity sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA==
+"@babel/plugin-transform-runtime@^7.14.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz#30491dad49c6059f8f8fa5ee8896a0089e987523"
+ integrity sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==
dependencies:
- "@babel/helper-module-imports" "^7.13.12"
- "@babel/helper-plugin-utils" "^7.13.0"
- babel-plugin-polyfill-corejs2 "^0.2.0"
- babel-plugin-polyfill-corejs3 "^0.2.0"
- babel-plugin-polyfill-regenerator "^0.2.0"
+ "@babel/helper-module-imports" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ babel-plugin-polyfill-corejs2 "^0.2.2"
+ babel-plugin-polyfill-corejs3 "^0.2.2"
+ babel-plugin-polyfill-regenerator "^0.2.2"
semver "^6.3.0"
-"@babel/plugin-transform-shorthand-properties@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad"
- integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==
+"@babel/plugin-transform-shorthand-properties@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58"
+ integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-spread@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd"
- integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==
+"@babel/plugin-transform-spread@^7.14.5":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144"
+ integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5"
-"@babel/plugin-transform-sticky-regex@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f"
- integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==
+"@babel/plugin-transform-sticky-regex@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9"
+ integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-template-literals@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d"
- integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==
+"@babel/plugin-transform-template-literals@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93"
+ integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-typeof-symbol@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f"
- integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==
+"@babel/plugin-transform-typeof-symbol@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4"
+ integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-typescript@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz#4a498e1f3600342d2a9e61f60131018f55774853"
- integrity sha512-elQEwluzaU8R8dbVuW2Q2Y8Nznf7hnjM7+DSCd14Lo5fF63C9qNLbwZYbmZrtV9/ySpSUpkRpQXvJb6xyu4hCQ==
+"@babel/plugin-transform-typescript@^7.14.5":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c"
+ integrity sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.13.0"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/plugin-syntax-typescript" "^7.12.13"
+ "@babel/helper-create-class-features-plugin" "^7.14.6"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/plugin-syntax-typescript" "^7.14.5"
-"@babel/plugin-transform-unicode-escapes@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74"
- integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==
+"@babel/plugin-transform-unicode-escapes@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b"
+ integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==
dependencies:
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-unicode-regex@^7.12.13":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac"
- integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==
+"@babel/plugin-transform-unicode-regex@^7.14.5":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e"
+ integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==
dependencies:
- "@babel/helper-create-regexp-features-plugin" "^7.12.13"
- "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-create-regexp-features-plugin" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
-"@babel/preset-env@^7.13.15":
- version "7.13.15"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.15.tgz#c8a6eb584f96ecba183d3d414a83553a599f478f"
- integrity sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==
+"@babel/preset-env@^7.14.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.5.tgz#c0c84e763661fd0e74292c3d511cb33b0c668997"
+ integrity sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==
dependencies:
- "@babel/compat-data" "^7.13.15"
- "@babel/helper-compilation-targets" "^7.13.13"
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-validator-option" "^7.12.17"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12"
- "@babel/plugin-proposal-async-generator-functions" "^7.13.15"
- "@babel/plugin-proposal-class-properties" "^7.13.0"
- "@babel/plugin-proposal-dynamic-import" "^7.13.8"
- "@babel/plugin-proposal-export-namespace-from" "^7.12.13"
- "@babel/plugin-proposal-json-strings" "^7.13.8"
- "@babel/plugin-proposal-logical-assignment-operators" "^7.13.8"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8"
- "@babel/plugin-proposal-numeric-separator" "^7.12.13"
- "@babel/plugin-proposal-object-rest-spread" "^7.13.8"
- "@babel/plugin-proposal-optional-catch-binding" "^7.13.8"
- "@babel/plugin-proposal-optional-chaining" "^7.13.12"
- "@babel/plugin-proposal-private-methods" "^7.13.0"
- "@babel/plugin-proposal-unicode-property-regex" "^7.12.13"
+ "@babel/compat-data" "^7.14.5"
+ "@babel/helper-compilation-targets" "^7.14.5"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5"
+ "@babel/plugin-proposal-async-generator-functions" "^7.14.5"
+ "@babel/plugin-proposal-class-properties" "^7.14.5"
+ "@babel/plugin-proposal-class-static-block" "^7.14.5"
+ "@babel/plugin-proposal-dynamic-import" "^7.14.5"
+ "@babel/plugin-proposal-export-namespace-from" "^7.14.5"
+ "@babel/plugin-proposal-json-strings" "^7.14.5"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5"
+ "@babel/plugin-proposal-numeric-separator" "^7.14.5"
+ "@babel/plugin-proposal-object-rest-spread" "^7.14.5"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.14.5"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.5"
+ "@babel/plugin-proposal-private-methods" "^7.14.5"
+ "@babel/plugin-proposal-private-property-in-object" "^7.14.5"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.14.5"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
"@babel/plugin-syntax-json-strings" "^7.8.3"
@@ -845,45 +881,46 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
- "@babel/plugin-syntax-top-level-await" "^7.12.13"
- "@babel/plugin-transform-arrow-functions" "^7.13.0"
- "@babel/plugin-transform-async-to-generator" "^7.13.0"
- "@babel/plugin-transform-block-scoped-functions" "^7.12.13"
- "@babel/plugin-transform-block-scoping" "^7.12.13"
- "@babel/plugin-transform-classes" "^7.13.0"
- "@babel/plugin-transform-computed-properties" "^7.13.0"
- "@babel/plugin-transform-destructuring" "^7.13.0"
- "@babel/plugin-transform-dotall-regex" "^7.12.13"
- "@babel/plugin-transform-duplicate-keys" "^7.12.13"
- "@babel/plugin-transform-exponentiation-operator" "^7.12.13"
- "@babel/plugin-transform-for-of" "^7.13.0"
- "@babel/plugin-transform-function-name" "^7.12.13"
- "@babel/plugin-transform-literals" "^7.12.13"
- "@babel/plugin-transform-member-expression-literals" "^7.12.13"
- "@babel/plugin-transform-modules-amd" "^7.13.0"
- "@babel/plugin-transform-modules-commonjs" "^7.13.8"
- "@babel/plugin-transform-modules-systemjs" "^7.13.8"
- "@babel/plugin-transform-modules-umd" "^7.13.0"
- "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13"
- "@babel/plugin-transform-new-target" "^7.12.13"
- "@babel/plugin-transform-object-super" "^7.12.13"
- "@babel/plugin-transform-parameters" "^7.13.0"
- "@babel/plugin-transform-property-literals" "^7.12.13"
- "@babel/plugin-transform-regenerator" "^7.13.15"
- "@babel/plugin-transform-reserved-words" "^7.12.13"
- "@babel/plugin-transform-shorthand-properties" "^7.12.13"
- "@babel/plugin-transform-spread" "^7.13.0"
- "@babel/plugin-transform-sticky-regex" "^7.12.13"
- "@babel/plugin-transform-template-literals" "^7.13.0"
- "@babel/plugin-transform-typeof-symbol" "^7.12.13"
- "@babel/plugin-transform-unicode-escapes" "^7.12.13"
- "@babel/plugin-transform-unicode-regex" "^7.12.13"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+ "@babel/plugin-syntax-top-level-await" "^7.14.5"
+ "@babel/plugin-transform-arrow-functions" "^7.14.5"
+ "@babel/plugin-transform-async-to-generator" "^7.14.5"
+ "@babel/plugin-transform-block-scoped-functions" "^7.14.5"
+ "@babel/plugin-transform-block-scoping" "^7.14.5"
+ "@babel/plugin-transform-classes" "^7.14.5"
+ "@babel/plugin-transform-computed-properties" "^7.14.5"
+ "@babel/plugin-transform-destructuring" "^7.14.5"
+ "@babel/plugin-transform-dotall-regex" "^7.14.5"
+ "@babel/plugin-transform-duplicate-keys" "^7.14.5"
+ "@babel/plugin-transform-exponentiation-operator" "^7.14.5"
+ "@babel/plugin-transform-for-of" "^7.14.5"
+ "@babel/plugin-transform-function-name" "^7.14.5"
+ "@babel/plugin-transform-literals" "^7.14.5"
+ "@babel/plugin-transform-member-expression-literals" "^7.14.5"
+ "@babel/plugin-transform-modules-amd" "^7.14.5"
+ "@babel/plugin-transform-modules-commonjs" "^7.14.5"
+ "@babel/plugin-transform-modules-systemjs" "^7.14.5"
+ "@babel/plugin-transform-modules-umd" "^7.14.5"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.5"
+ "@babel/plugin-transform-new-target" "^7.14.5"
+ "@babel/plugin-transform-object-super" "^7.14.5"
+ "@babel/plugin-transform-parameters" "^7.14.5"
+ "@babel/plugin-transform-property-literals" "^7.14.5"
+ "@babel/plugin-transform-regenerator" "^7.14.5"
+ "@babel/plugin-transform-reserved-words" "^7.14.5"
+ "@babel/plugin-transform-shorthand-properties" "^7.14.5"
+ "@babel/plugin-transform-spread" "^7.14.5"
+ "@babel/plugin-transform-sticky-regex" "^7.14.5"
+ "@babel/plugin-transform-template-literals" "^7.14.5"
+ "@babel/plugin-transform-typeof-symbol" "^7.14.5"
+ "@babel/plugin-transform-unicode-escapes" "^7.14.5"
+ "@babel/plugin-transform-unicode-regex" "^7.14.5"
"@babel/preset-modules" "^0.1.4"
- "@babel/types" "^7.13.14"
- babel-plugin-polyfill-corejs2 "^0.2.0"
- babel-plugin-polyfill-corejs3 "^0.2.0"
- babel-plugin-polyfill-regenerator "^0.2.0"
- core-js-compat "^3.9.0"
+ "@babel/types" "^7.14.5"
+ babel-plugin-polyfill-corejs2 "^0.2.2"
+ babel-plugin-polyfill-corejs3 "^0.2.2"
+ babel-plugin-polyfill-regenerator "^0.2.2"
+ core-js-compat "^3.14.0"
semver "^6.3.0"
"@babel/preset-modules@^0.1.4":
@@ -898,30 +935,30 @@
esutils "^2.0.2"
"@babel/preset-react@^7.13.13":
- version "7.13.13"
- resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761"
- integrity sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.14.5.tgz#0fbb769513f899c2c56f3a882fa79673c2d4ab3c"
+ integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-validator-option" "^7.12.17"
- "@babel/plugin-transform-react-display-name" "^7.12.13"
- "@babel/plugin-transform-react-jsx" "^7.13.12"
- "@babel/plugin-transform-react-jsx-development" "^7.12.17"
- "@babel/plugin-transform-react-pure-annotations" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-transform-react-display-name" "^7.14.5"
+ "@babel/plugin-transform-react-jsx" "^7.14.5"
+ "@babel/plugin-transform-react-jsx-development" "^7.14.5"
+ "@babel/plugin-transform-react-pure-annotations" "^7.14.5"
"@babel/preset-typescript@^7.13.0":
- version "7.13.0"
- resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz#ab107e5f050609d806fbb039bec553b33462c60a"
- integrity sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz#aa98de119cf9852b79511f19e7f44a2d379bcce0"
+ integrity sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==
dependencies:
- "@babel/helper-plugin-utils" "^7.13.0"
- "@babel/helper-validator-option" "^7.12.17"
- "@babel/plugin-transform-typescript" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.14.5"
+ "@babel/helper-validator-option" "^7.14.5"
+ "@babel/plugin-transform-typescript" "^7.14.5"
"@babel/register@^7.13.16":
- version "7.13.16"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.13.16.tgz#ae3ab0b55c8ec28763877383c454f01521d9a53d"
- integrity sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.14.5.tgz#d0eac615065d9c2f1995842f85d6e56c345f3233"
+ integrity sha512-TjJpGz/aDjFGWsItRBQMOFTrmTI9tr79CHOK+KIvLeCkbxuOAk2M5QHjvruIMGoo9OuccMh5euplPzc5FjAKGg==
dependencies:
clone-deep "^4.0.1"
find-cache-dir "^2.0.0"
@@ -929,42 +966,43 @@
pirates "^4.0.0"
source-map-support "^0.5.16"
-"@babel/runtime@^7.13.17", "@babel/runtime@^7.13.9", "@babel/runtime@^7.8.4":
- version "7.13.17"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec"
- integrity sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==
+"@babel/runtime@^7.13.17", "@babel/runtime@^7.13.9", "@babel/runtime@^7.14.0", "@babel/runtime@^7.14.5", "@babel/runtime@^7.8.4":
+ version "7.14.6"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d"
+ integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.12.13", "@babel/template@^7.3.3":
- version "7.12.13"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
- integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==
+"@babel/template@^7.14.5", "@babel/template@^7.3.3":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
+ integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
dependencies:
- "@babel/code-frame" "^7.12.13"
- "@babel/parser" "^7.12.13"
- "@babel/types" "^7.12.13"
+ "@babel/code-frame" "^7.14.5"
+ "@babel/parser" "^7.14.5"
+ "@babel/types" "^7.14.5"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.13.17":
- version "7.13.17"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.17.tgz#c85415e0c7d50ac053d758baec98b28b2ecfeea3"
- integrity sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.7.2":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.5.tgz#c111b0f58afab4fea3d3385a406f692748c59870"
+ integrity sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==
dependencies:
- "@babel/code-frame" "^7.12.13"
- "@babel/generator" "^7.13.16"
- "@babel/helper-function-name" "^7.12.13"
- "@babel/helper-split-export-declaration" "^7.12.13"
- "@babel/parser" "^7.13.16"
- "@babel/types" "^7.13.17"
+ "@babel/code-frame" "^7.14.5"
+ "@babel/generator" "^7.14.5"
+ "@babel/helper-function-name" "^7.14.5"
+ "@babel/helper-hoist-variables" "^7.14.5"
+ "@babel/helper-split-export-declaration" "^7.14.5"
+ "@babel/parser" "^7.14.5"
+ "@babel/types" "^7.14.5"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.13.16", "@babel/types@^7.13.17", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.13.17"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4"
- integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==
+"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.14.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
+ integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
dependencies:
- "@babel/helper-validator-identifier" "^7.12.11"
+ "@babel/helper-validator-identifier" "^7.14.5"
to-fast-properties "^2.0.0"
"@bcoe/v8-coverage@^0.2.3":
@@ -972,23 +1010,15 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@cnakazawa/watch@^1.0.3":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a"
- integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==
+"@eslint/eslintrc@^0.4.2":
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179"
+ integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==
dependencies:
- exec-sh "^0.3.2"
- minimist "^1.2.0"
-
-"@eslint/eslintrc@^0.4.0":
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547"
- integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==
- dependencies:
ajv "^6.12.4"
debug "^4.1.1"
espree "^7.3.0"
- globals "^12.1.0"
+ globals "^13.9.0"
ignore "^4.0.6"
import-fresh "^3.2.1"
js-yaml "^3.13.1"
@@ -1010,165 +1040,166 @@
"@ethersproject/properties" "^5.0.3"
"@ethersproject/strings" "^5.0.4"
-"@ethersproject/abstract-provider@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz#1f24c56cda5524ef4ed3cfc562a01d6b6f8eeb0b"
- integrity sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ==
+"@ethersproject/abstract-provider@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.3.0.tgz#f4c0ae4a4cef9f204d7781de805fd44b72756c81"
+ integrity sha512-1+MLhGP1GwxBDBNwMWVmhCsvKwh4gK7oIfOrmlmePNeskg1NhIrYssraJBieaFNHUYfKEd/1DjiVZMw8Qu5Cxw==
dependencies:
- "@ethersproject/bignumber" "^5.1.0"
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/networks" "^5.1.0"
- "@ethersproject/properties" "^5.1.0"
- "@ethersproject/transactions" "^5.1.0"
- "@ethersproject/web" "^5.1.0"
+ "@ethersproject/bignumber" "^5.3.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/networks" "^5.3.0"
+ "@ethersproject/properties" "^5.3.0"
+ "@ethersproject/transactions" "^5.3.0"
+ "@ethersproject/web" "^5.3.0"
-"@ethersproject/abstract-signer@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz#744c7a2d0ebe3cc0bc38294d0f53d5ca3f4e49e3"
- integrity sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w==
+"@ethersproject/abstract-signer@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.3.0.tgz#05172b653e15b535ed5854ef5f6a72f4b441052d"
+ integrity sha512-w8IFwOYqiPrtvosPuArZ3+QPR2nmdVTRrVY8uJYL3NNfMmQfTy3V3l2wbzX47UUlNbPJY+gKvzJAyvK1onZxJg==
dependencies:
- "@ethersproject/abstract-provider" "^5.1.0"
- "@ethersproject/bignumber" "^5.1.0"
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/properties" "^5.1.0"
+ "@ethersproject/abstract-provider" "^5.3.0"
+ "@ethersproject/bignumber" "^5.3.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/properties" "^5.3.0"
-"@ethersproject/address@^5.0.4", "@ethersproject/address@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.1.0.tgz#3854fd7ebcb6af7597de66f847c3345dae735b58"
- integrity sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg==
+"@ethersproject/address@^5.0.4", "@ethersproject/address@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.3.0.tgz#e53b69eacebf332e8175de814c5e6507d6932518"
+ integrity sha512-29TgjzEBK+gUEUAOfWCG7s9IxLNLCqvr+oDSk6L9TXD0VLvZJKhJV479tKQqheVA81OeGxfpdxYtUVH8hqlCvA==
dependencies:
- "@ethersproject/bignumber" "^5.1.0"
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/keccak256" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/rlp" "^5.1.0"
+ "@ethersproject/bignumber" "^5.3.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/keccak256" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/rlp" "^5.3.0"
-"@ethersproject/base64@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.1.0.tgz#27240c174d0a4e13f6eae87416fd876caf7f42b6"
- integrity sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g==
+"@ethersproject/base64@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.3.0.tgz#b831fb35418b42ad24d943c557259062b8640824"
+ integrity sha512-JIqgtOmgKcbc2sjGWTXyXktqUhvFUDte8fPVsAaOrcPiJf6YotNF+nsrOYGC9pbHBEGSuSBp3QR0varkO8JHEw==
dependencies:
- "@ethersproject/bytes" "^5.1.0"
+ "@ethersproject/bytes" "^5.3.0"
-"@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.1.0":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.1.1.tgz#84812695253ccbc639117f7ac49ee1529b68e637"
- integrity sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig==
+"@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.3.0.tgz#74ab2ec9c3bda4e344920565720a6ee9c794e9db"
+ integrity sha512-5xguJ+Q1/zRMgHgDCaqAexx/8DwDVLRemw2i6uR8KyGjwGdXI8f32QZZ1cKGucBN6ekJvpUpHy6XAuQnTv0mPA==
dependencies:
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- bn.js "^4.4.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ bn.js "^4.11.9"
-"@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.1.0.tgz#55dfa9c4c21df1b1b538be3accb50fb76d5facfd"
- integrity sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g==
+"@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.3.0.tgz#473e0da7f831d535b2002be05e6f4ca3729a1bc9"
+ integrity sha512-rqLJjdVqCcn7glPer7Fxh87PRqlnRScVAoxcIP3PmOUNApMWJ6yRdOFfo2KvPAdO7Le3yEI1o0YW+Yvr7XCYvw==
dependencies:
- "@ethersproject/logger" "^5.1.0"
+ "@ethersproject/logger" "^5.3.0"
-"@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.1.0.tgz#4e7da6367ea0e9be87585d8b09f3fccf384b1452"
- integrity sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw==
+"@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.3.0.tgz#a5d6d86c0eec2c64c3024479609493b9afb3fc77"
+ integrity sha512-4y1feNOwEpgjAfiCFWOHznvv6qUF/H6uI0UKp8xdhftb+H+FbKflXg1pOgH5qs4Sr7EYBL+zPyPb+YD5g1aEyw==
dependencies:
- "@ethersproject/bignumber" "^5.1.0"
+ "@ethersproject/bignumber" "^5.3.0"
"@ethersproject/hash@^5.0.4":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.1.0.tgz#40961d64837d57f580b7b055e0d74174876d891e"
- integrity sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ==
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.3.0.tgz#f65e3bf3db3282df4da676db6cfa049535dd3643"
+ integrity sha512-gAFZSjUPQ32CIfoKSMtMEQ+IO0kQxqhwz9fCIFt2DtAq2u4pWt8mL9Z5P0r6KkLcQU8LE9FmuPPyd+JvBzmr1w==
dependencies:
- "@ethersproject/abstract-signer" "^5.1.0"
- "@ethersproject/address" "^5.1.0"
- "@ethersproject/bignumber" "^5.1.0"
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/keccak256" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/properties" "^5.1.0"
- "@ethersproject/strings" "^5.1.0"
+ "@ethersproject/abstract-signer" "^5.3.0"
+ "@ethersproject/address" "^5.3.0"
+ "@ethersproject/bignumber" "^5.3.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/keccak256" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/properties" "^5.3.0"
+ "@ethersproject/strings" "^5.3.0"
-"@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.1.0.tgz#fdcd88fb13bfef4271b225cdd8dec4d315c8e60e"
- integrity sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig==
+"@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.3.0.tgz#fb5cd36bdfd6fa02e2ea84964078a9fc6bd731be"
+ integrity sha512-Gv2YqgIUmRbYVNIibafT0qGaeGYLIA/EdWHJ7JcVxVSs2vyxafGxOJ5VpSBHWeOIsE6OOaCelYowhuuTicgdFQ==
dependencies:
- "@ethersproject/bytes" "^5.1.0"
+ "@ethersproject/bytes" "^5.3.0"
js-sha3 "0.5.7"
-"@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.1.0.tgz#4cdeeefac029373349d5818f39c31b82cc6d9bbf"
- integrity sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==
+"@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.3.0.tgz#7a69fa1d4ca0d4b7138da1627eb152f763d84dd0"
+ integrity sha512-8bwJ2gxJGkZZnpQSq5uSiZSJjyVTWmlGft4oH8vxHdvO1Asy4TwVepAhPgxIQIMxXZFUNMych1YjIV4oQ4I7dA==
-"@ethersproject/networks@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.1.0.tgz#f537290cb05aa6dc5e81e910926c04cfd5814bca"
- integrity sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA==
+"@ethersproject/networks@^5.3.0":
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.3.1.tgz#78fe08324cee289ce239acf8c746121934b2ef61"
+ integrity sha512-6uQKHkYChlsfeiZhQ8IHIqGE/sQsf25o9ZxAYpMxi15dLPzz3IxOEF5KiSD32aHwsjXVBKBSlo+teAXLlYJybw==
dependencies:
- "@ethersproject/logger" "^5.1.0"
+ "@ethersproject/logger" "^5.3.0"
-"@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.1.0.tgz#9484bd6def16595fc6e4bdc26f29dff4d3f6ac42"
- integrity sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==
+"@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.3.0.tgz#feef4c4babeb7c10a6b3449575016f4ad2c092b2"
+ integrity sha512-PaHxJyM5/bfusk6vr3yP//JMnm4UEojpzuWGTmtL5X4uNhNnFNvlYilZLyDr4I9cTkIbipCMsAuIcXWsmdRnEw==
dependencies:
- "@ethersproject/logger" "^5.1.0"
+ "@ethersproject/logger" "^5.3.0"
-"@ethersproject/rlp@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.1.0.tgz#700f4f071c27fa298d3c1d637485fefe919dd084"
- integrity sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw==
+"@ethersproject/rlp@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.3.0.tgz#7cb93a7b5dfa69163894153c9d4b0d936f333188"
+ integrity sha512-oI0joYpsRanl9guDubaW+1NbcpK0vJ3F/6Wpcanzcnqq+oaW9O5E98liwkEDPcb16BUTLIJ+ZF8GPIHYxJ/5Pw==
dependencies:
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
-"@ethersproject/signing-key@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.1.0.tgz#6eddfbddb6826b597b9650e01acf817bf8991b9c"
- integrity sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==
+"@ethersproject/signing-key@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.3.0.tgz#a96c88f8173e1abedfa35de32d3e5db7c48e5259"
+ integrity sha512-+DX/GwHAd0ok1bgedV1cKO0zfK7P/9aEyNoaYiRsGHpCecN7mhLqcdoUiUzE7Uz86LBsxm5ssK0qA1kBB47fbQ==
dependencies:
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/properties" "^5.1.0"
- bn.js "^4.4.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/properties" "^5.3.0"
+ bn.js "^4.11.9"
elliptic "6.5.4"
+ hash.js "1.1.7"
-"@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.1.0.tgz#0f95a56c3c8c9d5510a06c241d818779750e2da5"
- integrity sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw==
+"@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.3.0.tgz#a6b640aab56a18e0909f657da798eef890968ff0"
+ integrity sha512-j/AzIGZ503cvhuF2ldRSjB0BrKzpsBMtCieDtn4TYMMZMQ9zScJn9wLzTQl/bRNvJbBE6TOspK0r8/Ngae/f2Q==
dependencies:
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/constants" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/constants" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
-"@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.1.0":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.1.1.tgz#5a6bbb25fb062c3cc75eb0db12faefcdd3870813"
- integrity sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw==
+"@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.3.0.tgz#49b86f2bafa4d0bdf8e596578fc795ee47c50458"
+ integrity sha512-cdfK8VVyW2oEBCXhURG0WQ6AICL/r6Gmjh0e4Bvbv6MCn/GBd8FeBH3rtl7ho+AW50csMKeGv3m3K1HSHB2jMQ==
dependencies:
- "@ethersproject/address" "^5.1.0"
- "@ethersproject/bignumber" "^5.1.0"
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/constants" "^5.1.0"
- "@ethersproject/keccak256" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/properties" "^5.1.0"
- "@ethersproject/rlp" "^5.1.0"
- "@ethersproject/signing-key" "^5.1.0"
+ "@ethersproject/address" "^5.3.0"
+ "@ethersproject/bignumber" "^5.3.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/constants" "^5.3.0"
+ "@ethersproject/keccak256" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/properties" "^5.3.0"
+ "@ethersproject/rlp" "^5.3.0"
+ "@ethersproject/signing-key" "^5.3.0"
-"@ethersproject/web@^5.1.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.1.0.tgz#ed56bbe4e3d9a8ffe3b2ed882da5c62d3551381b"
- integrity sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA==
+"@ethersproject/web@^5.3.0":
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.3.0.tgz#7959c403f6476c61515008d8f92da51c553a8ee1"
+ integrity sha512-Ni6/DHnY6k/TD41LEkv0RQDx4jqWz5e/RZvrSecsxGYycF+MFy2z++T/yGc2peRunLOTIFwEksgEGGlbwfYmhQ==
dependencies:
- "@ethersproject/base64" "^5.1.0"
- "@ethersproject/bytes" "^5.1.0"
- "@ethersproject/logger" "^5.1.0"
- "@ethersproject/properties" "^5.1.0"
- "@ethersproject/strings" "^5.1.0"
+ "@ethersproject/base64" "^5.3.0"
+ "@ethersproject/bytes" "^5.3.0"
+ "@ethersproject/logger" "^5.3.0"
+ "@ethersproject/properties" "^5.3.0"
+ "@ethersproject/strings" "^5.3.0"
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
@@ -1186,93 +1217,94 @@
resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
-"@jest/console@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2"
- integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==
+"@jest/console@^27.0.2":
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.2.tgz#b8eeff8f21ac51d224c851e1729d2630c18631e6"
+ integrity sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
chalk "^4.0.0"
- jest-message-util "^26.6.2"
- jest-util "^26.6.2"
+ jest-message-util "^27.0.2"
+ jest-util "^27.0.2"
slash "^3.0.0"
-"@jest/core@^26.6.3":
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad"
- integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==
+"@jest/core@^27.0.4":
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.4.tgz#679bf9ac07900da2ddbb9667bb1afa8029038f53"
+ integrity sha512-+dsmV8VUs1h/Szb+rEWk8xBM1fp1I///uFy9nk3wXGvRsF2lBp8EVPmtWc+QFRb3MY2b7u2HbkGF1fzoDzQTLA==
dependencies:
- "@jest/console" "^26.6.2"
- "@jest/reporters" "^26.6.2"
- "@jest/test-result" "^26.6.2"
- "@jest/transform" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/console" "^27.0.2"
+ "@jest/reporters" "^27.0.4"
+ "@jest/test-result" "^27.0.2"
+ "@jest/transform" "^27.0.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
+ emittery "^0.8.1"
exit "^0.1.2"
graceful-fs "^4.2.4"
- jest-changed-files "^26.6.2"
- jest-config "^26.6.3"
- jest-haste-map "^26.6.2"
- jest-message-util "^26.6.2"
- jest-regex-util "^26.0.0"
- jest-resolve "^26.6.2"
- jest-resolve-dependencies "^26.6.3"
- jest-runner "^26.6.3"
- jest-runtime "^26.6.3"
- jest-snapshot "^26.6.2"
- jest-util "^26.6.2"
- jest-validate "^26.6.2"
- jest-watcher "^26.6.2"
- micromatch "^4.0.2"
+ jest-changed-files "^27.0.2"
+ jest-config "^27.0.4"
+ jest-haste-map "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-regex-util "^27.0.1"
+ jest-resolve "^27.0.4"
+ jest-resolve-dependencies "^27.0.4"
+ jest-runner "^27.0.4"
+ jest-runtime "^27.0.4"
+ jest-snapshot "^27.0.4"
+ jest-util "^27.0.2"
+ jest-validate "^27.0.2"
+ jest-watcher "^27.0.2"
+ micromatch "^4.0.4"
p-each-series "^2.1.0"
rimraf "^3.0.0"
slash "^3.0.0"
strip-ansi "^6.0.0"
-"@jest/environment@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c"
- integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==
+"@jest/environment@^27.0.3":
+ version "27.0.3"
+ resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.3.tgz#68769b1dfdd213e3456169d64fbe9bd63a5fda92"
+ integrity sha512-pN9m7fbKsop5vc3FOfH8NF7CKKdRbEZzcxfIo1n2TT6ucKWLFq0P6gCJH0GpnQp036++yY9utHOxpeT1WnkWTA==
dependencies:
- "@jest/fake-timers" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/fake-timers" "^27.0.3"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
- jest-mock "^26.6.2"
+ jest-mock "^27.0.3"
-"@jest/fake-timers@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad"
- integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==
+"@jest/fake-timers@^27.0.3":
+ version "27.0.3"
+ resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.3.tgz#9899ba6304cc636734c74478df502e18136461dd"
+ integrity sha512-fQ+UCKRIYKvTCEOyKPnaPnomLATIhMnHC/xPZ7yT1Uldp7yMgMxoYIFidDbpSTgB79+/U+FgfoD30c6wg3IUjA==
dependencies:
- "@jest/types" "^26.6.2"
- "@sinonjs/fake-timers" "^6.0.1"
+ "@jest/types" "^27.0.2"
+ "@sinonjs/fake-timers" "^7.0.2"
"@types/node" "*"
- jest-message-util "^26.6.2"
- jest-mock "^26.6.2"
- jest-util "^26.6.2"
+ jest-message-util "^27.0.2"
+ jest-mock "^27.0.3"
+ jest-util "^27.0.2"
-"@jest/globals@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a"
- integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==
+"@jest/globals@^27.0.3":
+ version "27.0.3"
+ resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.3.tgz#1cf8933b7791bba0b99305cbf39fd4d2e3fe4060"
+ integrity sha512-OzsIuf7uf+QalqAGbjClyezzEcLQkdZ+7PejUrZgDs+okdAK8GwRCGcYCirHvhMBBQh60Jr3NlIGbn/KBPQLEQ==
dependencies:
- "@jest/environment" "^26.6.2"
- "@jest/types" "^26.6.2"
- expect "^26.6.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/types" "^27.0.2"
+ expect "^27.0.2"
-"@jest/reporters@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6"
- integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==
+"@jest/reporters@^27.0.4":
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.4.tgz#95609b1be97afb80d55d8aa3d7c3179c15810e65"
+ integrity sha512-Xa90Nm3JnV0xCe4M6A10M9WuN9krb+WFKxV1A98Y4ePCw40n++r7uxFUNU7DT1i9Behj7fjrAIju9oU0t1QtCg==
dependencies:
"@bcoe/v8-coverage" "^0.2.3"
- "@jest/console" "^26.6.2"
- "@jest/test-result" "^26.6.2"
- "@jest/transform" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/console" "^27.0.2"
+ "@jest/test-result" "^27.0.2"
+ "@jest/transform" "^27.0.2"
+ "@jest/types" "^27.0.2"
chalk "^4.0.0"
collect-v8-coverage "^1.0.0"
exit "^0.1.2"
@@ -1283,89 +1315,86 @@
istanbul-lib-report "^3.0.0"
istanbul-lib-source-maps "^4.0.0"
istanbul-reports "^3.0.2"
- jest-haste-map "^26.6.2"
- jest-resolve "^26.6.2"
- jest-util "^26.6.2"
- jest-worker "^26.6.2"
+ jest-haste-map "^27.0.2"
+ jest-resolve "^27.0.4"
+ jest-util "^27.0.2"
+ jest-worker "^27.0.2"
slash "^3.0.0"
source-map "^0.6.0"
string-length "^4.0.1"
terminal-link "^2.0.0"
v8-to-istanbul "^7.0.0"
- optionalDependencies:
- node-notifier "^8.0.0"
-"@jest/source-map@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535"
- integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==
+"@jest/source-map@^27.0.1":
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.1.tgz#2afbf73ddbaddcb920a8e62d0238a0a9e0a8d3e4"
+ integrity sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A==
dependencies:
callsites "^3.0.0"
graceful-fs "^4.2.4"
source-map "^0.6.0"
-"@jest/test-result@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18"
- integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==
+"@jest/test-result@^27.0.2":
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.2.tgz#0451049e32ceb609b636004ccc27c8fa22263f10"
+ integrity sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA==
dependencies:
- "@jest/console" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/console" "^27.0.2"
+ "@jest/types" "^27.0.2"
"@types/istanbul-lib-coverage" "^2.0.0"
collect-v8-coverage "^1.0.0"
-"@jest/test-sequencer@^26.6.3":
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17"
- integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==
+"@jest/test-sequencer@^27.0.4":
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.4.tgz#976493b277594d81e589896f0ed21f198308928a"
+ integrity sha512-6UFEVwdmxYdyNffBxVVZxmXEdBE4riSddXYSnFNH0ELFQFk/bvagizim8WfgJTqF4EKd+j1yFxvhb8BMHfOjSQ==
dependencies:
- "@jest/test-result" "^26.6.2"
+ "@jest/test-result" "^27.0.2"
graceful-fs "^4.2.4"
- jest-haste-map "^26.6.2"
- jest-runner "^26.6.3"
- jest-runtime "^26.6.3"
+ jest-haste-map "^27.0.2"
+ jest-runtime "^27.0.4"
-"@jest/transform@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b"
- integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==
+"@jest/transform@^27.0.2":
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.2.tgz#b073b7c589e3f4b842102468875def2bb722d6b5"
+ integrity sha512-H8sqKlgtDfVog/s9I4GG2XMbi4Ar7RBxjsKQDUhn2XHAi3NG+GoQwWMER+YfantzExbjNqQvqBHzo/G2pfTiPw==
dependencies:
"@babel/core" "^7.1.0"
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
babel-plugin-istanbul "^6.0.0"
chalk "^4.0.0"
convert-source-map "^1.4.0"
fast-json-stable-stringify "^2.0.0"
graceful-fs "^4.2.4"
- jest-haste-map "^26.6.2"
- jest-regex-util "^26.0.0"
- jest-util "^26.6.2"
- micromatch "^4.0.2"
+ jest-haste-map "^27.0.2"
+ jest-regex-util "^27.0.1"
+ jest-util "^27.0.2"
+ micromatch "^4.0.4"
pirates "^4.0.1"
slash "^3.0.0"
source-map "^0.6.1"
write-file-atomic "^3.0.0"
-"@jest/types@^26.6.2":
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
- integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==
+"@jest/types@^27.0.2":
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz#e153d6c46bda0f2589f0702b071f9898c7bbd37e"
+ integrity sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^3.0.0"
"@types/node" "*"
- "@types/yargs" "^15.0.0"
+ "@types/yargs" "^16.0.0"
chalk "^4.0.0"
-"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents":
- version "2.1.8-no-fsevents"
- resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz#da7c3996b8e6e19ebd14d82eaced2313e7769f9b"
- integrity sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==
+"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.2":
+ version "2.1.8-no-fsevents.2"
+ resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.2.tgz#e324c0a247a5567192dd7180647709d7e2faf94b"
+ integrity sha512-Fb8WxUFOBQVl+CX4MWet5o7eCc6Pj04rXIwVKZ6h1NnqTo45eOQW6aWyhG25NIODvWFwTDMwBsYxrQ3imxpetg==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.1"
braces "^2.3.2"
- glob-parent "^3.1.0"
+ glob-parent "^5.1.2"
inherits "^2.0.3"
is-binary-path "^1.0.0"
is-glob "^4.0.0"
@@ -1374,25 +1403,25 @@
readdirp "^2.2.1"
upath "^1.1.1"
-"@nodelib/fs.scandir@2.1.4":
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
- integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
dependencies:
- "@nodelib/fs.stat" "2.0.4"
+ "@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
-"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2":
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655"
- integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
"@nodelib/fs.walk@^1.2.3":
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063"
- integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2"
+ integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==
dependencies:
- "@nodelib/fs.scandir" "2.1.4"
+ "@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
"@octokit/auth-token@^2.4.4":
@@ -1402,322 +1431,351 @@
dependencies:
"@octokit/types" "^6.0.3"
-"@octokit/core@^3.2.3":
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.4.0.tgz#b48aa27d755b339fe7550548b340dcc2b513b742"
- integrity sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==
+"@octokit/core@^3.5.0":
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.5.1.tgz#8601ceeb1ec0e1b1b8217b960a413ed8e947809b"
+ integrity sha512-omncwpLVxMP+GLpLPgeGJBF6IWJFjXDS5flY5VbppePYX9XehevbDykRH9PdCdvqt9TS5AOTiDide7h0qrkHjw==
dependencies:
"@octokit/auth-token" "^2.4.4"
"@octokit/graphql" "^4.5.8"
- "@octokit/request" "^5.4.12"
+ "@octokit/request" "^5.6.0"
"@octokit/request-error" "^2.0.5"
"@octokit/types" "^6.0.3"
before-after-hook "^2.2.0"
universal-user-agent "^6.0.0"
"@octokit/endpoint@^6.0.1":
- version "6.0.11"
- resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.11.tgz#082adc2aebca6dcefa1fb383f5efb3ed081949d1"
- integrity sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==
+ version "6.0.12"
+ resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658"
+ integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==
dependencies:
"@octokit/types" "^6.0.3"
is-plain-object "^5.0.0"
universal-user-agent "^6.0.0"
"@octokit/graphql@^4.5.8":
- version "4.6.1"
- resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.1.tgz#f975486a46c94b7dbe58a0ca751935edc7e32cc9"
- integrity sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA==
+ version "4.6.4"
+ resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.4.tgz#0c3f5bed440822182e972317122acb65d311a5ed"
+ integrity sha512-SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==
dependencies:
- "@octokit/request" "^5.3.0"
+ "@octokit/request" "^5.6.0"
"@octokit/types" "^6.0.3"
universal-user-agent "^6.0.0"
-"@octokit/openapi-types@^6.2.0":
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-6.2.0.tgz#6ea796b20c7111b9e422a4d607f796c1179622cd"
- integrity sha512-V2vFYuawjpP5KUb8CPYsq20bXT4qnE8sH1QKpYqUlcNOntBiRr/VzGVvY0s+YXGgrVbFUVO4EI0VnHYSVBWfBg==
+"@octokit/openapi-types@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.3.2.tgz#065ce49b338043ec7f741316ce06afd4d459d944"
+ integrity sha512-oJhK/yhl9Gt430OrZOzAl2wJqR0No9445vmZ9Ey8GjUZUpwuu/vmEFP0TDhDXdpGDoxD6/EIFHJEcY8nHXpDTA==
"@octokit/plugin-paginate-rest@^2.6.2":
- version "2.13.3"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz#f0f1792230805108762d87906fb02d573b9e070a"
- integrity sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg==
+ version "2.13.5"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.5.tgz#e459f9b5dccbe0a53f039a355d5b80c0a2b0dc57"
+ integrity sha512-3WSAKBLa1RaR/7GG+LQR/tAZ9fp9H9waE9aPXallidyci9oZsfgsLn5M836d3LuDC6Fcym+2idRTBpssHZePVg==
dependencies:
- "@octokit/types" "^6.11.0"
+ "@octokit/types" "^6.13.0"
"@octokit/plugin-request-log@^1.0.2":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d"
- integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
+ integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
-"@octokit/plugin-rest-endpoint-methods@5.0.1":
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.0.1.tgz#631b8d4edc6798b03489911252a25f2a4e58c594"
- integrity sha512-vvWbPtPqLyIzJ7A4IPdTl+8IeuKAwMJ4LjvmqWOOdfSuqWQYZXq2CEd0hsnkidff2YfKlguzujHs/reBdAx8Sg==
+"@octokit/plugin-rest-endpoint-methods@5.3.1":
+ version "5.3.1"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.3.1.tgz#deddce769b4ec3179170709ab42e4e9e6195aaa9"
+ integrity sha512-3B2iguGmkh6bQQaVOtCsS0gixrz8Lg0v4JuXPqBcFqLKuJtxAUf3K88RxMEf/naDOI73spD+goJ/o7Ie7Cvdjg==
dependencies:
- "@octokit/types" "^6.13.1"
+ "@octokit/types" "^6.16.2"
deprecation "^2.3.1"
-"@octokit/request-error@^2.0.0", "@octokit/request-error@^2.0.5":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.5.tgz#72cc91edc870281ad583a42619256b380c600143"
- integrity sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==
+"@octokit/request-error@^2.0.5", "@octokit/request-error@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677"
+ integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==
dependencies:
"@octokit/types" "^6.0.3"
deprecation "^2.0.0"
once "^1.4.0"
-"@octokit/request@^5.3.0", "@octokit/request@^5.4.12":
- version "5.4.15"
- resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.15.tgz#829da413dc7dd3aa5e2cdbb1c7d0ebe1f146a128"
- integrity sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==
+"@octokit/request@^5.6.0":
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.0.tgz#6084861b6e4fa21dc40c8e2a739ec5eff597e672"
+ integrity sha512-4cPp/N+NqmaGQwbh3vUsYqokQIzt7VjsgTYVXiwpUP2pxd5YiZB2XuTedbb0SPtv9XS7nzAKjAuQxmY8/aZkiA==
dependencies:
"@octokit/endpoint" "^6.0.1"
- "@octokit/request-error" "^2.0.0"
- "@octokit/types" "^6.7.1"
+ "@octokit/request-error" "^2.1.0"
+ "@octokit/types" "^6.16.1"
is-plain-object "^5.0.0"
node-fetch "^2.6.1"
universal-user-agent "^6.0.0"
"@octokit/rest@^18.0.9":
- version "18.5.3"
- resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.5.3.tgz#6a2e6006a87ebbc34079c419258dd29ec9ff659d"
- integrity sha512-KPAsUCr1DOdLVbZJgGNuE/QVLWEaVBpFQwDAz/2Cnya6uW2wJ/P5RVGk0itx7yyN1aGa8uXm2pri4umEqG1JBA==
+ version "18.6.0"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.6.0.tgz#9a8457374c78c2773d3ab3f50aaffc62f3ed4f76"
+ integrity sha512-MdHuXHDJM7e5sUBe3K9tt7th0cs4csKU5Bb52LRi2oHAeIMrMZ4XqaTrEv660HoUPoM1iDlnj27Ab/Nh3MtwlA==
dependencies:
- "@octokit/core" "^3.2.3"
+ "@octokit/core" "^3.5.0"
"@octokit/plugin-paginate-rest" "^2.6.2"
"@octokit/plugin-request-log" "^1.0.2"
- "@octokit/plugin-rest-endpoint-methods" "5.0.1"
+ "@octokit/plugin-rest-endpoint-methods" "5.3.1"
-"@octokit/types@^6.0.3", "@octokit/types@^6.11.0", "@octokit/types@^6.13.1", "@octokit/types@^6.7.1":
- version "6.14.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.14.0.tgz#587529b4a461d8b7621b99845718dc5c79281f52"
- integrity sha512-43qHvDsPsKgNt4W4al3dyU6s2XZ7ZMsiiIw8rQcM9CyEo7g9W8/6m1W4xHuRqmEjTfG1U4qsE/E4Jftw1/Ak1g==
+"@octokit/types@^6.0.3", "@octokit/types@^6.13.0", "@octokit/types@^6.16.1", "@octokit/types@^6.16.2":
+ version "6.16.4"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.16.4.tgz#d24f5e1bacd2fe96d61854b5bda0e88cf8288dfe"
+ integrity sha512-UxhWCdSzloULfUyamfOg4dJxV9B+XjgrIZscI0VCbp4eNrjmorGEw+4qdwcpTsu6DIrm9tQsFQS2pK5QkqQ04A==
dependencies:
- "@octokit/openapi-types" "^6.2.0"
+ "@octokit/openapi-types" "^7.3.2"
-"@polkadot/api-contract@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-4.7.2.tgz#9db4c16e78c182e0a51c4abb1e3286d3152dd361"
- integrity sha512-AxQvORHn/cTZj/6njKsuGc+9ECd+ghC3ESdeJKg419Bh7MpoUcf4f0NyYa4POZY9lzT5160K7d+dYz7j9Jy/8g==
+"@polkadot/api-contract@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-contract/-/api-contract-4.13.2-5.tgz#631bb9c3f46b65001c584a66236488ecda4b41d9"
+ integrity sha512-JaPINL/EtQefmlewC/DmtMy470ERgelKv8vnnd0rrKVf+dVXSFn6PQFxIqIGBohpxVeFruiuPwhCw3ovxbBvGw==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/api" "4.7.2"
- "@polkadot/types" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/x-rxjs" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/api" "4.13.2-5"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/x-rxjs" "^6.7.1"
bn.js "^4.11.9"
-"@polkadot/api-derive@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-4.7.2.tgz#94ca16f2e61d1739489da6030cbe5137beee336a"
- integrity sha512-TRctRtGFvsso5R/dGwna2QiaQy14NFhrthu/sLh3oYIMNwQ6BeGHhbfjAi0pidc+ID2ia6LDLRw7vl/LVSuHIA==
+"@polkadot/api-derive@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-4.13.2-5.tgz#8e0d42db22c1a4649b790dc3aabb4cfa34491621"
+ integrity sha512-8L8UcSEpo1S9l/iHIzEJUo3RGeL4Rezo9dAOk3yuqc25NKIT5/aiKhqb0JKpcJh9GsHbQANyYCiey+VZGqZfmA==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/api" "4.7.2"
- "@polkadot/rpc-core" "4.7.2"
- "@polkadot/types" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/util-crypto" "^6.3.1"
- "@polkadot/x-rxjs" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/api" "4.13.2-5"
+ "@polkadot/rpc-core" "4.13.2-5"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/util-crypto" "^6.7.1"
+ "@polkadot/x-rxjs" "^6.7.1"
bn.js "^4.11.9"
-"@polkadot/api@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-4.7.2.tgz#0e98117fc631f2988ca364881111c05a00e8b701"
- integrity sha512-PkWrgx+gICWt5uYjYoP68a8jyCRBkQXn9ecr0ReVr9jiiwvBYZyw3CLXTVRwJ89PpJLtDVz9QGCa4dM6j4a/LA==
+"@polkadot/api@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-4.13.2-5.tgz#cf6e3a4baa0054ec580422a5dc544161e19d924a"
+ integrity sha512-7WfnKk7rqO7V001Vm6EcXBS9ZWd9oxvwbPQ3oAMhGOyKWfL+8lLo0FrAnS66LZo7FAmLNEvaJ6b4BnYub0sd0w==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/api-derive" "4.7.2"
- "@polkadot/keyring" "^6.3.1"
- "@polkadot/metadata" "4.7.2"
- "@polkadot/rpc-core" "4.7.2"
- "@polkadot/rpc-provider" "4.7.2"
- "@polkadot/types" "4.7.2"
- "@polkadot/types-known" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/util-crypto" "^6.3.1"
- "@polkadot/x-rxjs" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/api-derive" "4.13.2-5"
+ "@polkadot/keyring" "^6.7.1"
+ "@polkadot/metadata" "4.13.2-5"
+ "@polkadot/rpc-core" "4.13.2-5"
+ "@polkadot/rpc-provider" "4.13.2-5"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/types-known" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/util-crypto" "^6.7.1"
+ "@polkadot/x-rxjs" "^6.7.1"
bn.js "^4.11.9"
eventemitter3 "^4.0.7"
-"@polkadot/dev@^0.62.10":
- version "0.62.10"
- resolved "https://registry.yarnpkg.com/@polkadot/dev/-/dev-0.62.10.tgz#364c3956aef53d89ad3b636233141c7016631a97"
- integrity sha512-J7LwYBoNWXDXIRMIkTkuOQsuQKlO5rQPFya//zjFndBXP2ClSB1rWnHCD7Hw8JwcQVigxR0V2ZKCGJrZ/ThoSw==
+"@polkadot/dev@0.62.41":
+ version "0.62.41"
+ resolved "https://registry.yarnpkg.com/@polkadot/dev/-/dev-0.62.41.tgz#655345c0d4916eb669d4865d077f44cdffa6407e"
+ integrity sha512-fqpA1ujdRLHzOf+tZ/RJRbcoKgjlC44zVXAeQHCA5wrEhqHIy/TqE/djxb+XzviHcwmucfGAe+wKOf4f4RdJoQ==
dependencies:
- "@babel/cli" "^7.13.16"
- "@babel/core" "^7.13.16"
+ "@babel/cli" "^7.14.3"
+ "@babel/core" "^7.14.3"
"@babel/plugin-proposal-class-properties" "^7.13.0"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8"
- "@babel/plugin-proposal-numeric-separator" "^7.12.13"
- "@babel/plugin-proposal-object-rest-spread" "^7.13.8"
- "@babel/plugin-proposal-optional-chaining" "^7.13.12"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.2"
+ "@babel/plugin-proposal-numeric-separator" "^7.14.2"
+ "@babel/plugin-proposal-object-rest-spread" "^7.14.4"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.2"
"@babel/plugin-proposal-private-methods" "^7.13.0"
"@babel/plugin-syntax-bigint" "^7.8.3"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-top-level-await" "^7.12.13"
"@babel/plugin-transform-regenerator" "^7.13.15"
- "@babel/plugin-transform-runtime" "^7.13.15"
- "@babel/preset-env" "^7.13.15"
+ "@babel/plugin-transform-runtime" "^7.14.3"
+ "@babel/preset-env" "^7.14.4"
"@babel/preset-react" "^7.13.13"
"@babel/preset-typescript" "^7.13.0"
"@babel/register" "^7.13.16"
- "@babel/runtime" "^7.13.17"
+ "@babel/runtime" "^7.14.0"
"@rushstack/eslint-patch" "^1.0.6"
- "@typescript-eslint/eslint-plugin" "4.22.0"
- "@typescript-eslint/parser" "4.22.0"
+ "@typescript-eslint/eslint-plugin" "4.26.0"
+ "@typescript-eslint/parser" "4.26.0"
"@vue/component-compiler-utils" "^3.2.0"
- babel-jest "^26.6.3"
+ babel-jest "^27.0.2"
babel-plugin-module-extension-resolver "^1.0.0-rc.2"
babel-plugin-module-resolver "^4.1.0"
babel-plugin-styled-components "^1.12.0"
- browserslist "^4.16.5"
+ browserslist "^4.16.6"
chalk "^4.1.1"
coveralls "^3.1.0"
- eslint "^7.25.0"
- eslint-config-standard "^16.0.2"
+ eslint "^7.27.0"
+ eslint-config-standard "^16.0.3"
eslint-import-resolver-node "^0.3.4"
eslint-plugin-header "^3.1.1"
- eslint-plugin-import "^2.22.1"
+ eslint-plugin-import "^2.23.4"
eslint-plugin-node "^11.1.0"
eslint-plugin-promise "^5.1.0"
- eslint-plugin-react "^7.23.2"
+ eslint-plugin-react "^7.24.0"
eslint-plugin-react-hooks "^4.2.0"
eslint-plugin-simple-import-sort "^7.0.0"
eslint-plugin-sort-destructure-keys "^1.3.5"
- fs-extra "^9.1.0"
- gh-pages "^3.1.0"
- gh-release "^5.0.0"
- glob "^7.1.6"
+ fs-extra "^10.0.0"
+ gh-pages "^3.2.0"
+ gh-release "^6.0.0"
+ glob "^7.1.7"
glob2base "^0.0.12"
- jest "^26.6.3"
- jest-cli "^26.6.3"
- jest-config "^26.6.3"
- jest-haste-map "^26.6.2"
- jest-resolve "^26.6.2"
+ jest "^27.0.4"
+ jest-cli "^27.0.4"
+ jest-config "^27.0.4"
+ jest-haste-map "^27.0.2"
+ jest-resolve "^27.0.4"
madge "^4.0.2"
minimatch "^3.0.4"
mkdirp "^1.0.4"
- prettier "^2.2.1"
+ prettier "^2.3.0"
rimraf "^3.0.2"
- typescript "^4.2.4"
- yargs "^16.2.0"
+ typescript "^4.3.2"
+ yargs "^17.0.1"
-"@polkadot/keyring@^6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-6.3.1.tgz#434847cc4fb134116691c07e05750e8388cbb2b7"
- integrity sha512-uVWhdd4TVtLc4R2OtiKHJE5jgJZnuEognbgjl5RT2uKrCJYTsYnq0IeRTvMmtdPJAJvGeD3JTsX2ekgt3tJpuw==
+"@polkadot/keyring@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-6.8.1.tgz#8f81a1eb2418ac65b3bd8cefb90c913a5be792cb"
+ integrity sha512-V8G03yPtD1DZZ40sP5alFkyQ/de2eKazlDp3+6Y5xtGUjhMeecNG2p73lZXZ5k/Bzfvfnvujqrc6uFOv27EF1Q==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/util" "6.3.1"
- "@polkadot/util-crypto" "6.3.1"
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/util" "6.8.1"
+ "@polkadot/util-crypto" "6.8.1"
-"@polkadot/metadata@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-4.7.2.tgz#91076a1c1158494574a1965ec1fe124fb4d1b848"
- integrity sha512-+YWeD828cpIpD31epoSZfK5kmtJsBcgTTyYsQ4bBO4NBJceLTipmHgyLXs7fXjU4cC6uvSuBnAV0KGJW7L9nDQ==
+"@polkadot/metadata@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/metadata/-/metadata-4.13.2-5.tgz#50a24d21df1d1160ef25237fdceaf3cd63766eb9"
+ integrity sha512-fkGqyh7cIDKqFllQUAxVaadih/KdZuZf5QmXcES9qtqrPZ9e9vJA04wfG08ggGN/aK09gXO6zX/ycQP6FwoGhw==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/types" "4.7.2"
- "@polkadot/types-known" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/util-crypto" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/types-known" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/util-crypto" "^6.7.1"
bn.js "^4.11.9"
-"@polkadot/networks@6.3.1", "@polkadot/networks@^6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-6.3.1.tgz#c5063681ea73f8b579f418d57d0eba2d4bb72292"
- integrity sha512-oANup0CLGt75CPbE3gz2HUWUlqQKucImdb1TtStLXMUH+Aj8ZOnQFA2lwixzaRdx+ymPfmEL7GkF36i96OqQVw==
+"@polkadot/networks@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-6.7.1.tgz#7100b15f2f1e678aa5567afbe0c1ca1c690b9c83"
+ integrity sha512-9A2GX9Wyc6yoqRGjuxHAEDntsoiCJ9Jv9oocbmTF6/wVb3lK1Si0p4nLfsNCtIYXibbYP2jkyMj5rP10bY3bgw==
dependencies:
- "@babel/runtime" "^7.13.17"
+ "@babel/runtime" "^7.14.0"
-"@polkadot/rpc-core@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-4.7.2.tgz#d79c42bb9fafc84a5c3b90959a86fe97b4a21fb5"
- integrity sha512-LxpI8TVdjL99nfnLQog1tL0STdiYIUSLzdN+2PKvaO0YoBPAau945PVfz6GeN7wqQZKxR6N/1SKhAVfYcP7ctA==
+"@polkadot/networks@6.8.1", "@polkadot/networks@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-6.8.1.tgz#3f8b4d77cf5543e49706c218b21086505deb5ba5"
+ integrity sha512-Hlng0DLoSkEuvCTnFHP7jBS/IzmiWQQ9NYPIq80geqbYLtofrVTwGb9Sm3Wa/HW83jZiWH66YPb2dXbaOffNog==
+ dependencies:
+ "@babel/runtime" "^7.14.5"
+
+"@polkadot/rpc-core@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-4.13.2-5.tgz#7fb29c70817d036ff81f7d0f19745833cdf26528"
+ integrity sha512-WiDIrrLJNDeYxGp0QYjabM8DheKmJb8xlGyPyQhghTxtf6dPKmLsEs/i6LQ4LbxsTagxmn0y/kvRq8X9j4B/YA==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/metadata" "4.7.2"
- "@polkadot/rpc-provider" "4.7.2"
- "@polkadot/types" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/x-rxjs" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/metadata" "4.13.2-5"
+ "@polkadot/rpc-provider" "4.13.2-5"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/x-rxjs" "^6.7.1"
-"@polkadot/rpc-provider@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-4.7.2.tgz#71340ec6a109a2652502aee8d24e06f0322663b8"
- integrity sha512-nvKScoPTzi7PFA5XnVI1lbebLjdwF6OcvWC0QvaEUrbwoG3NPFtoAGF6r2HloX0Q/Qo6FEHowrX0nY4gTM+QCw==
+"@polkadot/rpc-provider@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-4.13.2-5.tgz#7d1ed5c57e889a04992650d99f1fa566c03f7dcd"
+ integrity sha512-shycuAj3LG69jVNwI5Uu2j/t1kgXSN6YGtt6sh9cqwynAVNa7nwxAl6UQfd2Bcb4Dad9eOg/r7Da3ena7nb+wQ==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/types" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/util-crypto" "^6.3.1"
- "@polkadot/x-fetch" "^6.3.1"
- "@polkadot/x-global" "^6.3.1"
- "@polkadot/x-ws" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/util-crypto" "^6.7.1"
+ "@polkadot/x-fetch" "^6.7.1"
+ "@polkadot/x-global" "^6.7.1"
+ "@polkadot/x-ws" "^6.7.1"
bn.js "^4.11.9"
eventemitter3 "^4.0.7"
-"@polkadot/ts@^0.3.63":
- version "0.3.63"
- resolved "https://registry.yarnpkg.com/@polkadot/ts/-/ts-0.3.63.tgz#184014eaeca5fb0fdbf93375f95d2a3b32f7907f"
- integrity sha512-P69/Q5Hs54ynvVZ/xTVu/FWBdXGPWtW/KxNeVymXBe5PAGNoofEB8FGO+jA6Qd5qIgnjU4+k0r63UQRwwqJH4w==
+"@polkadot/ts@0.3.89":
+ version "0.3.89"
+ resolved "https://registry.yarnpkg.com/@polkadot/ts/-/ts-0.3.89.tgz#c7a704ea284d04fcf4d581f5df156d5945480033"
+ integrity sha512-GC0H8wmVKebkieN2MHScjDDonzigIzkjl1Q4V1OhoRcfQbeZZ7vijeiVwP8Hw3wIw4GLKxxXeDrkKPWl/bcaHw==
dependencies:
- "@types/chrome" "^0.0.135"
+ "@types/chrome" "^0.0.144"
-"@polkadot/typegen@^4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-4.7.2.tgz#22cc04bfee8bb3a9c596402504022089d4685749"
- integrity sha512-GjkJa9fgU4HZPT+trr6rrBmroRv39uEUVGc7f2474UrzGWyO8X9034at165heMlOb0VhFoxTHAyZcIQX3Ub/IA==
+"@polkadot/typegen@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-4.13.2-5.tgz#f94bf689de6e5ca2d83f3781d0b303350d22b4c3"
+ integrity sha512-Cn2mlbwu/jyJmdAG/+wi8m2Gx8M3Dw5Zxi6sKB7TRMdNroQ7yhHhA+Sr32jgEC0DDcndwpq3rGSkezmHRcwDHQ==
dependencies:
- "@babel/core" "^7.13.16"
+ "@babel/core" "^7.14.3"
"@babel/register" "^7.13.16"
- "@babel/runtime" "^7.13.17"
- "@polkadot/api" "4.7.2"
- "@polkadot/metadata" "4.7.2"
- "@polkadot/rpc-provider" "4.7.2"
- "@polkadot/types" "4.7.2"
- "@polkadot/util" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/api" "4.13.2-5"
+ "@polkadot/metadata" "4.13.2-5"
+ "@polkadot/rpc-provider" "4.13.2-5"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
handlebars "^4.7.7"
websocket "^1.0.34"
- yargs "^16.2.0"
+ yargs "^17.0.1"
-"@polkadot/types-known@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-4.7.2.tgz#d6b55c75a9461a09490167a679b6ed783eab6350"
- integrity sha512-vlIMBtBdVYHyjWqonQ39PCdZJ9WeTsA5h5zr2mEpkCSoopby5pZ6eOR8CPqjc1uYbdDHT72Dbtx8Wr9L7z8HXg==
+"@polkadot/types-known@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-4.13.2-5.tgz#4619ae08a40f34c25e8a081d386c5559abcd27e5"
+ integrity sha512-IqZDu1uXj8gfU0toKq+CC3S0gU0inEk6ve6qOxvcokLT0UGY8OZht9kjbkqccVjIqKVY6WVdGINUWqi4lGAmJw==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/networks" "^6.3.1"
- "@polkadot/types" "4.7.2"
- "@polkadot/util" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/networks" "^6.7.1"
+ "@polkadot/types" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
bn.js "^4.11.9"
-"@polkadot/types@4.7.2":
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-4.7.2.tgz#6b3e8c16999951e040459d5e338e259543bfec16"
- integrity sha512-8qj/f6YAv5XCDLej60uWlX+cjuz2qt6AJKemi+lozA4vYZ9XTXIODYLv/XfjimbVABzeLdIAwWX1OQO9+F0Gng==
+"@polkadot/types@4.13.2-5":
+ version "4.13.2-5"
+ resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-4.13.2-5.tgz#c781ae306c27bb229c76a8578a49fe9decb0e4f0"
+ integrity sha512-71S8I5+1UoVlfXxLv03dkL4IuoU+X4rqRpbWKKk7h/wj1uEu/dSk+jJz5ObbUA7lu35PpyRL5QlmXurzVc7tzw==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/metadata" "4.7.2"
- "@polkadot/util" "^6.3.1"
- "@polkadot/util-crypto" "^6.3.1"
- "@polkadot/x-rxjs" "^6.3.1"
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/metadata" "4.13.2-5"
+ "@polkadot/util" "^6.7.1"
+ "@polkadot/util-crypto" "^6.7.1"
+ "@polkadot/x-rxjs" "^6.7.1"
"@types/bn.js" "^4.11.6"
bn.js "^4.11.9"
-"@polkadot/util-crypto@6.3.1", "@polkadot/util-crypto@^6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-6.3.1.tgz#5328da77bdee5064bc41f9dec0a76cc634690b88"
- integrity sha512-fwH4t6EN2XACwJB2Z5xUyNo4mQ1RXJj0MgVaaLua8PbG0qq9tt4eaEbdVzrm7A6igIfsTntDoZISTfVjBcRtkQ==
+"@polkadot/util-crypto@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-6.7.1.tgz#c30744ce809ac87120f417352108750b418be07a"
+ integrity sha512-lmZv+aHsC/VM/ixYx4xZtQRFrMX9wbWAXeXG4dBkJMmHAd59ug1PCetRFVHQDwjccu0RPldTZdsdVbreMD0T+g==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/networks" "6.7.1"
+ "@polkadot/util" "6.7.1"
+ "@polkadot/wasm-crypto" "^4.0.2"
+ "@polkadot/x-randomvalues" "6.7.1"
+ base-x "^3.0.8"
+ base64-js "^1.5.1"
+ blakejs "^1.1.0"
+ bn.js "^4.11.9"
+ create-hash "^1.2.0"
+ elliptic "^6.5.4"
+ hash.js "^1.1.7"
+ js-sha3 "^0.8.0"
+ scryptsy "^2.1.0"
+ tweetnacl "^1.0.3"
+ xxhashjs "^0.2.2"
+
+"@polkadot/util-crypto@6.8.1", "@polkadot/util-crypto@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-6.8.1.tgz#8983ab50c8d9bf0b799503c91fd9b8f13e3544c1"
+ integrity sha512-vtfZXQcnPu1h5UEJYYWWUPqoZnL7jttvI3m0hltdOna1jKQytVNDzdlU1im0xLli4Tax+4S+bZwNqi3ss7umRQ==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/networks" "6.3.1"
- "@polkadot/util" "6.3.1"
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/networks" "6.8.1"
+ "@polkadot/util" "6.8.1"
"@polkadot/wasm-crypto" "^4.0.2"
- "@polkadot/x-randomvalues" "6.3.1"
+ "@polkadot/x-randomvalues" "6.8.1"
base-x "^3.0.8"
base64-js "^1.5.1"
blakejs "^1.1.0"
@@ -1730,7 +1788,7 @@
tweetnacl "^1.0.3"
xxhashjs "^0.2.2"
-"@polkadot/util@6.3.1", "@polkadot/util@^6.3.1":
+"@polkadot/util@6.3.1":
version "6.3.1"
resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-6.3.1.tgz#410ee362ddb37f9c67af8f5897d977a7fd950ebf"
integrity sha512-M9pGaXSB67DZPckdNQU29wq5W7BUOh6qeu5LonzxpUek+riJfbiF9JOgZQ2Q/aEFYbd1hqLbOMsLRZLhSmlbYw==
@@ -1743,6 +1801,32 @@
camelcase "^5.3.1"
ip-regex "^4.3.0"
+"@polkadot/util@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-6.7.1.tgz#decedda8326fd9504cd051cae598670f2cb31d31"
+ integrity sha512-EH9oQ7s5DFat57GGac3B+sZK3Np+vCwheMX4EbrnjbQEn4DBRFoqndRD2BIrWMzfNL2c5MDjDsSpe+5IFsihDQ==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/x-textdecoder" "6.7.1"
+ "@polkadot/x-textencoder" "6.7.1"
+ "@types/bn.js" "^4.11.6"
+ bn.js "^4.11.9"
+ camelcase "^5.3.1"
+ ip-regex "^4.3.0"
+
+"@polkadot/util@6.8.1", "@polkadot/util@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-6.8.1.tgz#263fb6741a43471d48a4627b5698b7686a614e34"
+ integrity sha512-Dehgpee/xe6laI6j0dfDJqfC+zpEl4Wg41HzWKUQvSGhe9gNf5ajKZGHLr3DplKl07bX9YeL0F7xsj4gyVndHw==
+ dependencies:
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/x-textdecoder" "6.8.1"
+ "@polkadot/x-textencoder" "6.8.1"
+ "@types/bn.js" "^4.11.6"
+ bn.js "^4.11.9"
+ camelcase "^5.3.1"
+ ip-regex "^4.3.0"
+
"@polkadot/wasm-crypto-asmjs@^4.0.2":
version "4.0.2"
resolved "https://registry.yarnpkg.com/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-4.0.2.tgz#f42c353a64e1243841daf90e4bd54eff01a4e3cf"
@@ -1766,17 +1850,17 @@
"@polkadot/wasm-crypto-asmjs" "^4.0.2"
"@polkadot/wasm-crypto-wasm" "^4.0.2"
-"@polkadot/x-fetch@^6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-6.3.1.tgz#ac1737f57a2a03b6666aec6abe3c8a2e147c2696"
- integrity sha512-goBtKZarq5sXV2G98inj2v1ivVNF9gif8sg6IqsGRbljca6K6pZWTVd0yGWe7OABnCkFQotk283nly9nkr9+1g==
+"@polkadot/x-fetch@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-6.8.1.tgz#41850e7301ec96971ce6b8796bfde6062f2bb8af"
+ integrity sha512-P/Xv1E94nwDw750sTLHQV9nsYLvEqknd7wa+6Vjg6aYl1RxRIiXevT3C5kivKjo0H7V2N7KJl7Shqh4dZto4qQ==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/x-global" "6.3.1"
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/x-global" "6.8.1"
"@types/node-fetch" "^2.5.10"
node-fetch "^2.6.1"
-"@polkadot/x-global@6.3.1", "@polkadot/x-global@^6.3.1":
+"@polkadot/x-global@6.3.1":
version "6.3.1"
resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-6.3.1.tgz#cdb4883fa20e23411bdd5f50a5d5c92814a3106f"
integrity sha512-eFooGQdxJpiOsm3AKTSMInaecBKaQ/tqOUJNm/CpdJalCqTDMp/qzgj64Uflk9eUqGgk7jB7Q5FaQdyWsC0Mtg==
@@ -1785,20 +1869,46 @@
"@types/node-fetch" "^2.5.10"
node-fetch "^2.6.1"
-"@polkadot/x-randomvalues@6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-6.3.1.tgz#e2b91223277d7d7978c39e9d280fbc6526217d46"
- integrity sha512-SZ5MUYm1fd1fgGFexMWbbG8zZgCS7b9QNKaIcnv1Dwlfp2meDoDlgoedn+1pCJ6VEa1adswqLHX4WbYA4D9ynA==
+"@polkadot/x-global@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-6.7.1.tgz#6a199b4e63a7497471d57efd57ca9271f1e3256f"
+ integrity sha512-rfzo5mG/Vc0Qiht1XMls7qpYHnTEI7z1Y08WUcZNGoBd6+dWnW+zTeKPCl4ouCF4TBD8pptjyn82ScSfw4X2IQ==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@types/node-fetch" "^2.5.10"
+ node-fetch "^2.6.1"
+
+"@polkadot/x-global@6.8.1", "@polkadot/x-global@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-6.8.1.tgz#1c126de8f03cd1eea88224d14fa9171308805c4e"
+ integrity sha512-JVoXZdJXAEi3/Nwzm0pzVU8nbJrxjj8qiBD9zN+8/lP7HLgwLnb9YYg6QSFHTAgFi2DxAi9ICrg8Va9Qnh2RpQ==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/x-global" "6.3.1"
+ "@babel/runtime" "^7.14.5"
+ "@types/node-fetch" "^2.5.10"
+ node-fetch "^2.6.1"
-"@polkadot/x-rxjs@^6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-6.3.1.tgz#5627f9601df6db22a65512a3eab0af4a22a58830"
- integrity sha512-Z9mbvpixr0fopQh049tFlR8r/RItOyYRL4P7YqwnfeROqxU4R8UTmmB8As9y/zy0O5Jlkjzy9MdyQgwzhGQOcQ==
+"@polkadot/x-randomvalues@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-6.7.1.tgz#d68226ae00b3a6cf4e265f75b10a40ce386c26fc"
+ integrity sha512-1g2IVax9ucotZtMaBRNAJ0UIpCKh/MwtrFiLFk2G7Yu/tV/OaYVnWzK46vgEtyTtJ9w3fi1xCVnvP121DV8RRQ==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/x-global" "6.7.1"
+
+"@polkadot/x-randomvalues@6.8.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-6.8.1.tgz#f086917d4860e8a090e94ca4225934bc18a9bf61"
+ integrity sha512-H/OS2ibhmKlBUXhf/GjwC2mF0sSxGqQ1rFvXrgnyDqMFlRWAxShUpe62AmMfrePbjCOHSUwvM2ccZpmye+YVrQ==
+ dependencies:
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/x-global" "6.8.1"
+
+"@polkadot/x-rxjs@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-rxjs/-/x-rxjs-6.8.1.tgz#73255daab02ffad1cfde6678e63cc1e756573cc6"
+ integrity sha512-CGSHcZsl01FbiwvH3Ac3GHT43YQrZ2TmeEDKR/aTALqSYlqDci2fwrBZ4cP1ahgkfGjekz1YR3s18T7QoQVaiw==
dependencies:
- "@babel/runtime" "^7.13.17"
+ "@babel/runtime" "^7.14.5"
rxjs "^6.6.7"
"@polkadot/x-textdecoder@6.3.1":
@@ -1809,6 +1919,22 @@
"@babel/runtime" "^7.13.17"
"@polkadot/x-global" "6.3.1"
+"@polkadot/x-textdecoder@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-6.7.1.tgz#75d91c159a7b15687072f099c9677c955eb5e091"
+ integrity sha512-9ENlIx/XLZ1znSQC3wA8KI3EbqujCa/fEVjY7wlJ60OTybqWjZYrltgZPLBDQheDsYDd2JBGK1RJjDcRsCvK8g==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/x-global" "6.7.1"
+
+"@polkadot/x-textdecoder@6.8.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-6.8.1.tgz#3660338a849692006a58650781db004136a1160c"
+ integrity sha512-ZWKpxSDmDwb9WV37xrnfOUn+ceA0B9X2ipeEbdOgx2Nc6ATNzP5AQrqIQCv7nTEeFZnDsUwD1MBN1bDRCmW4SQ==
+ dependencies:
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/x-global" "6.8.1"
+
"@polkadot/x-textencoder@6.3.1":
version "6.3.1"
resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-6.3.1.tgz#2277770650f5637698d7d8cd7ac0cfd5ca0dace2"
@@ -1817,13 +1943,29 @@
"@babel/runtime" "^7.13.17"
"@polkadot/x-global" "6.3.1"
-"@polkadot/x-ws@^6.3.1":
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-6.3.1.tgz#1534f8d1cd03dbf497410725d14313e5554a2ffd"
- integrity sha512-bDb9a+bxoaNOza0EeLp9M6FKYz9ogJcFQzRP+YR6ND7oQ0QcQG06XloRKTU0wtcZRKP8AzkYYN+FAc/6bnIqTw==
+"@polkadot/x-textencoder@6.7.1":
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-6.7.1.tgz#fdc77abeeb8e83e6c67ffa189c4b7ff9bb69c1cb"
+ integrity sha512-+M4x2bhHFvZsiXb2bnw224EE/0fXr6bG/dJclZUdvcL+JrwiE/7UMD8xUcEmdR2LfNJGDkCxKkXp3096ZavUxQ==
+ dependencies:
+ "@babel/runtime" "^7.14.0"
+ "@polkadot/x-global" "6.7.1"
+
+"@polkadot/x-textencoder@6.8.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-6.8.1.tgz#c71459b6cd417620b5f3a41480d45c71dca44723"
+ integrity sha512-XnollArpiiQnQ3JdOz0bRohx2TrFerq/UvlKVjT1oPAqiXPfImNh5vn1QuYUcwmvw94/wBc6EO1cCw3JFrqv2Q==
+ dependencies:
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/x-global" "6.8.1"
+
+"@polkadot/x-ws@^6.7.1":
+ version "6.8.1"
+ resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-6.8.1.tgz#2f2e4dc2e8fb3870d4dbdc8952b65dcccd764548"
+ integrity sha512-qt3HyrbTLMr3+BhsT8A1glFzO5dtImzM4eMVhbEmacdUnRD1rJ+yoYE3pPDA7IqRgv3toQkXIf6WedLbymhJUg==
dependencies:
- "@babel/runtime" "^7.13.17"
- "@polkadot/x-global" "6.3.1"
+ "@babel/runtime" "^7.14.5"
+ "@polkadot/x-global" "6.8.1"
"@types/websocket" "^1.0.2"
websocket "^1.0.34"
@@ -1844,10 +1986,10 @@
dependencies:
type-detect "4.0.8"
-"@sinonjs/fake-timers@^6.0.1":
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40"
- integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==
+"@sinonjs/fake-timers@^7.0.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5"
+ integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==
dependencies:
"@sinonjs/commons" "^1.7.0"
@@ -1858,7 +2000,12 @@
dependencies:
defer-to-connect "^1.0.1"
-"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7":
+"@tootallnate/once@1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
+ integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==
+
+"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
version "7.1.14"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402"
integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==
@@ -1899,21 +2046,21 @@
"@types/node" "*"
"@types/chai-as-promised@^7.1.3":
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz#779166b90fda611963a3adbfd00b339d03b747bd"
- integrity sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-7.1.4.tgz#caf64e76fb056b8c8ced4b761ed499272b737601"
+ integrity sha512-1y3L1cHePcIm5vXkh1DSGf/zQq5n5xDKG1fpCvf18+uOkpce0Z1ozNFPkyWsVswK7ntN1sZBw3oU6gmN+pDUcA==
dependencies:
"@types/chai" "*"
"@types/chai@*", "@types/chai@^4.2.17":
- version "4.2.17"
- resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.17.tgz#85f9f0610f514b22a94125d441f73eef65bde5cc"
- integrity sha512-LaiwWNnYuL8xJlQcE91QB2JoswWZckq9A4b+nMPq8dt8AP96727Nb3X4e74u+E3tm4NLTILNI9MYFsyVc30wSA==
+ version "4.2.18"
+ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.18.tgz#0c8e298dbff8205e2266606c1ea5fbdba29b46e4"
+ integrity sha512-rS27+EkB/RE1Iz3u0XtVL5q36MGDWbgYe7zWiodyKNUnthxY0rukK5V36eiUCtCisB7NN8zKYH6DO2M37qxFEQ==
-"@types/chrome@^0.0.135":
- version "0.0.135"
- resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.135.tgz#a4dc6dbdc68b3f7d04b24f04d0ca5c803392b72f"
- integrity sha512-SczB5P5mIgQWHAeiimlYg5VFvuQKCw4Q5cAzVD7II1Czf4U0222jb3mTHUd1qM0BRJ/kPtzybBde+Zy2sdx/LA==
+"@types/chrome@^0.0.144":
+ version "0.0.144"
+ resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.144.tgz#7dd9188e355aa17e3ad397f50b5cd3ad12caf788"
+ integrity sha512-BgoiO7/KP9hRNrCR2Wq+aKWT5Dh9bTofuWaRtcqPcj8YKhZojQgb6sSdIqvds2C+eO63BwaR9KHVMYYgZdGGBg==
dependencies:
"@types/filesystem" "*"
"@types/har-format" "*"
@@ -1938,9 +2085,9 @@
"@types/node" "*"
"@types/har-format@*":
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.5.tgz#4f6648814d0fdcb6a510e3364a9db439a753c4b1"
- integrity sha512-IG8AE1m2pWtPqQ7wXhFhy6Q59bwwnLwO36v5Rit2FrbXCIp8Sk8E2PfUCreyrdo17STwFSKDAkitVuVYbpEHvQ==
+ version "1.2.6"
+ resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.6.tgz#471c83acdf6a2ea429620daee4c6dc1784a0e85f"
+ integrity sha512-TeZjp4COiAWPOeGx1tuFJETr/SBMx80lxqeqnCC36ZVn463f7ElCdA3X9RzDuo3BHjhN4apw41A5uoIw5FzgWA==
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.3"
@@ -1955,13 +2102,13 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-reports@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821"
- integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
+ integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
dependencies:
"@types/istanbul-lib-report" "*"
-"@types/json-schema@^7.0.3":
+"@types/json-schema@^7.0.7":
version "7.0.7"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
@@ -1985,19 +2132,14 @@
form-data "^3.0.0"
"@types/node@*":
- version "15.0.1"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-15.0.1.tgz#ef34dea0881028d11398be5bf4e856743e3dc35a"
- integrity sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==
+ version "15.12.2"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d"
+ integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==
"@types/node@^12.12.6":
- version "12.20.11"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.11.tgz#980832cd56efafff8c18aa148c4085eb02a483f4"
- integrity sha512-gema+apZ6qLQK7k7F0dGkGCWQYsL0qqKORWOQO6tq46q+x+1C0vbOiOqOwRVlh4RAdbQwV/j/ryr3u5NOG1fPQ==
-
-"@types/normalize-package-data@^2.4.0":
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
- integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==
+ version "12.20.15"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.15.tgz#10ee6a6a3f971966fddfa3f6e89ef7a73ec622df"
+ integrity sha512-F6S4Chv4JicJmyrwlDkxUdGNSplsQdGwp1A0AJloEVDirWdZOAiRHhovDlsFkKUrquUXhz1imJhXHsf59auyAg==
"@types/pbkdf2@^3.0.0":
version "3.1.0"
@@ -2006,10 +2148,10 @@
dependencies:
"@types/node" "*"
-"@types/prettier@^2.0.0":
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0"
- integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==
+"@types/prettier@^2.1.5":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.0.tgz#2e8332cc7363f887d32ec5496b207d26ba8052bb"
+ integrity sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==
"@types/secp256k1@^4.0.1":
version "4.0.2"
@@ -2035,98 +2177,124 @@
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
-"@types/yargs@^15.0.0":
- version "15.0.13"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc"
- integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==
+"@types/yargs@^16.0.0":
+ version "16.0.3"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01"
+ integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==
dependencies:
"@types/yargs-parser" "*"
-"@typescript-eslint/eslint-plugin@4.22.0":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz#3d5f29bb59e61a9dba1513d491b059e536e16dbc"
- integrity sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==
+"@typescript-eslint/eslint-plugin@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz#12bbd6ebd5e7fabd32e48e1e60efa1f3554a3242"
+ integrity sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg==
dependencies:
- "@typescript-eslint/experimental-utils" "4.22.0"
- "@typescript-eslint/scope-manager" "4.22.0"
- debug "^4.1.1"
+ "@typescript-eslint/experimental-utils" "4.26.0"
+ "@typescript-eslint/scope-manager" "4.26.0"
+ debug "^4.3.1"
functional-red-black-tree "^1.0.1"
- lodash "^4.17.15"
- regexpp "^3.0.0"
- semver "^7.3.2"
- tsutils "^3.17.1"
+ lodash "^4.17.21"
+ regexpp "^3.1.0"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
-"@typescript-eslint/experimental-utils@4.22.0":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz#68765167cca531178e7b650a53456e6e0bef3b1f"
- integrity sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==
+"@typescript-eslint/experimental-utils@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.0.tgz#ba7848b3f088659cdf71bce22454795fc55be99a"
+ integrity sha512-TH2FO2rdDm7AWfAVRB5RSlbUhWxGVuxPNzGT7W65zVfl8H/WeXTk1e69IrcEVsBslrQSTDKQSaJD89hwKrhdkw==
dependencies:
- "@types/json-schema" "^7.0.3"
- "@typescript-eslint/scope-manager" "4.22.0"
- "@typescript-eslint/types" "4.22.0"
- "@typescript-eslint/typescript-estree" "4.22.0"
- eslint-scope "^5.0.0"
- eslint-utils "^2.0.0"
+ "@types/json-schema" "^7.0.7"
+ "@typescript-eslint/scope-manager" "4.26.0"
+ "@typescript-eslint/types" "4.26.0"
+ "@typescript-eslint/typescript-estree" "4.26.0"
+ eslint-scope "^5.1.1"
+ eslint-utils "^3.0.0"
-"@typescript-eslint/parser@4.22.0":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.0.tgz#e1637327fcf796c641fe55f73530e90b16ac8fe8"
- integrity sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==
+"@typescript-eslint/parser@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.0.tgz#31b6b732c9454f757b020dab9b6754112aa5eeaf"
+ integrity sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg==
dependencies:
- "@typescript-eslint/scope-manager" "4.22.0"
- "@typescript-eslint/types" "4.22.0"
- "@typescript-eslint/typescript-estree" "4.22.0"
- debug "^4.1.1"
+ "@typescript-eslint/scope-manager" "4.26.0"
+ "@typescript-eslint/types" "4.26.0"
+ "@typescript-eslint/typescript-estree" "4.26.0"
+ debug "^4.3.1"
-"@typescript-eslint/scope-manager@4.22.0":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz#ed411545e61161a8d702e703a4b7d96ec065b09a"
- integrity sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==
+"@typescript-eslint/scope-manager@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.26.0.tgz#60d1a71df162404e954b9d1c6343ff3bee496194"
+ integrity sha512-G6xB6mMo4xVxwMt5lEsNTz3x4qGDt0NSGmTBNBPJxNsrTXJSm21c6raeYroS2OwQsOyIXqKZv266L/Gln1BWqg==
dependencies:
- "@typescript-eslint/types" "4.22.0"
- "@typescript-eslint/visitor-keys" "4.22.0"
+ "@typescript-eslint/types" "4.26.0"
+ "@typescript-eslint/visitor-keys" "4.26.0"
-"@typescript-eslint/types@4.22.0":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.0.tgz#0ca6fde5b68daf6dba133f30959cc0688c8dd0b6"
- integrity sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==
+"@typescript-eslint/types@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.26.0.tgz#7c6732c0414f0a69595f4f846ebe12616243d546"
+ integrity sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==
+
+"@typescript-eslint/types@4.27.0":
+ version "4.27.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.27.0.tgz#712b408519ed699baff69086bc59cd2fc13df8d8"
+ integrity sha512-I4ps3SCPFCKclRcvnsVA/7sWzh7naaM/b4pBO2hVxnM3wrU51Lveybdw5WoIktU/V4KfXrTt94V9b065b/0+wA==
+
+"@typescript-eslint/typescript-estree@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz#aea17a40e62dc31c63d5b1bbe9a75783f2ce7109"
+ integrity sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==
+ dependencies:
+ "@typescript-eslint/types" "4.26.0"
+ "@typescript-eslint/visitor-keys" "4.26.0"
+ debug "^4.3.1"
+ globby "^11.0.3"
+ is-glob "^4.0.1"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@4.22.0", "@typescript-eslint/typescript-estree@^4.8.2":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz#b5d95d6d366ff3b72f5168c75775a3e46250d05c"
- integrity sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==
+"@typescript-eslint/typescript-estree@^4.8.2":
+ version "4.27.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.27.0.tgz#189a7b9f1d0717d5cccdcc17247692dedf7a09da"
+ integrity sha512-KH03GUsUj41sRLLEy2JHstnezgpS5VNhrJouRdmh6yNdQ+yl8w5LrSwBkExM+jWwCJa7Ct2c8yl8NdtNRyQO6g==
dependencies:
- "@typescript-eslint/types" "4.22.0"
- "@typescript-eslint/visitor-keys" "4.22.0"
- debug "^4.1.1"
- globby "^11.0.1"
+ "@typescript-eslint/types" "4.27.0"
+ "@typescript-eslint/visitor-keys" "4.27.0"
+ debug "^4.3.1"
+ globby "^11.0.3"
is-glob "^4.0.1"
- semver "^7.3.2"
- tsutils "^3.17.1"
+ semver "^7.3.5"
+ tsutils "^3.21.0"
-"@typescript-eslint/visitor-keys@4.22.0":
- version "4.22.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz#169dae26d3c122935da7528c839f42a8a42f6e47"
- integrity sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==
+"@typescript-eslint/visitor-keys@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz#26d2583169222815be4dcd1da4fe5459bc3bcc23"
+ integrity sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==
dependencies:
- "@typescript-eslint/types" "4.22.0"
+ "@typescript-eslint/types" "4.26.0"
eslint-visitor-keys "^2.0.0"
+"@typescript-eslint/visitor-keys@4.27.0":
+ version "4.27.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.27.0.tgz#f56138b993ec822793e7ebcfac6ffdce0a60cb81"
+ integrity sha512-es0GRYNZp0ieckZ938cEANfEhsfHrzuLrePukLKtY3/KPXcq1Xd555Mno9/GOgXhKzn0QfkDLVgqWO3dGY80bg==
+ dependencies:
+ "@typescript-eslint/types" "4.27.0"
+ eslint-visitor-keys "^2.0.0"
+
"@ungap/promise-all-settled@1.1.2":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44"
integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==
"@vue/component-compiler-utils@^3.2.0":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d"
- integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz#2f7ed5feed82ff7f0284acc11d525ee7eff22460"
+ integrity sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==
dependencies:
consolidate "^0.15.1"
hash-sum "^1.0.2"
lru-cache "^4.1.2"
merge-source-map "^1.1.0"
- postcss "^7.0.14"
+ postcss "^7.0.36"
postcss-selector-parser "^6.0.2"
source-map "~0.6.1"
vue-template-es2015-compiler "^1.9.0"
@@ -2169,11 +2337,18 @@
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.1.0:
- version "8.2.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.2.1.tgz#0d36af126fb6755095879c1dc6fd7edf7d60a5fb"
- integrity sha512-z716cpm5TX4uzOzILx8PavOE6C6DKshHDw1aQN52M/yNSqE9s5O8SMfyhCCfCJ3HmTL0NkVOi+8a/55T7YB3bg==
+acorn@^8.2.4:
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.0.tgz#af53266e698d7cffa416714b503066a82221be60"
+ integrity sha512-ULr0LDaEqQrMFGyQ3bhJkLsbtrQ8QibAseGZeaSUiT/6zb9IvIkomWHJIvgvwad+hinRAgsI51JcWk2yvwyL+w==
+agent-base@6:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+ integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+ dependencies:
+ debug "4"
+
ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
@@ -2185,9 +2360,9 @@
uri-js "^4.2.2"
ajv@^8.0.1:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.2.0.tgz#c89d3380a784ce81b2085f48811c4c101df4c602"
- integrity sha512-WSNGFuyWd//XO8n/m/EaOlNLtO0yL8EXT/74LqT4khdhpZjP7lkj/kT5uwRmGitKEVp/Oj7ZUHeGfPtgHhQ5CA==
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720"
+ integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
@@ -2247,6 +2422,11 @@
dependencies:
color-convert "^2.0.1"
+ansi-styles@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b"
+ integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==
+
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -2255,7 +2435,7 @@
micromatch "^3.1.4"
normalize-path "^2.1.1"
-anymatch@^3.0.3, anymatch@~3.1.1:
+anymatch@^3.0.3, anymatch@~3.1.1, anymatch@~3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
@@ -2318,18 +2498,13 @@
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
-
-array-filter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
- integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=
array-flatten@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
-array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3:
+array-includes@^3.1.2, array-includes@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a"
integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==
@@ -2362,7 +2537,7 @@
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
-array.prototype.flat@^1.2.3:
+array.prototype.flat@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123"
integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
@@ -2450,22 +2625,15 @@
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
-at-least-node@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
- integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
-
atob@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
available-typed-arrays@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5"
- integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==
- dependencies:
- array-filter "^1.0.0"
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9"
+ integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==
aws-sign2@~0.7.0:
version "0.7.0"
@@ -2477,16 +2645,16 @@
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
-babel-jest@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056"
- integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==
+babel-jest@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.2.tgz#7dc18adb01322acce62c2af76ea2c7cd186ade37"
+ integrity sha512-9OThPl3/IQbo4Yul2vMz4FYwILPQak8XelX4YGowygfHaOl5R5gfjm4iVx4d8aUugkW683t8aq0A74E7b5DU1Q==
dependencies:
- "@jest/transform" "^26.6.2"
- "@jest/types" "^26.6.2"
- "@types/babel__core" "^7.1.7"
+ "@jest/transform" "^27.0.2"
+ "@jest/types" "^27.0.2"
+ "@types/babel__core" "^7.1.14"
babel-plugin-istanbul "^6.0.0"
- babel-preset-jest "^26.6.2"
+ babel-preset-jest "^27.0.1"
chalk "^4.0.0"
graceful-fs "^4.2.4"
slash "^3.0.0"
@@ -2509,10 +2677,10 @@
istanbul-lib-instrument "^4.0.0"
test-exclude "^6.0.0"
-babel-plugin-jest-hoist@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d"
- integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==
+babel-plugin-jest-hoist@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz#a6d10e484c93abff0f4e95f437dad26e5736ea11"
+ integrity sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ==
dependencies:
"@babel/template" "^7.3.3"
"@babel/types" "^7.3.3"
@@ -2535,29 +2703,29 @@
reselect "^4.0.0"
resolve "^1.13.1"
-babel-plugin-polyfill-corejs2@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz#686775bf9a5aa757e10520903675e3889caeedc4"
- integrity sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==
+babel-plugin-polyfill-corejs2@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327"
+ integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==
dependencies:
"@babel/compat-data" "^7.13.11"
- "@babel/helper-define-polyfill-provider" "^0.2.0"
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
semver "^6.1.1"
-babel-plugin-polyfill-corejs3@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz#f4b4bb7b19329827df36ff56f6e6d367026cb7a2"
- integrity sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==
+babel-plugin-polyfill-corejs3@^0.2.2:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz#72add68cf08a8bf139ba6e6dfc0b1d504098e57b"
+ integrity sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.2.0"
- core-js-compat "^3.9.1"
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
+ core-js-compat "^3.14.0"
-babel-plugin-polyfill-regenerator@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz#853f5f5716f4691d98c84f8069c7636ea8da7ab8"
- integrity sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==
+babel-plugin-polyfill-regenerator@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077"
+ integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.2.0"
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
babel-plugin-styled-components@^1.12.0:
version "1.12.0"
@@ -2592,12 +2760,12 @@
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
"@babel/plugin-syntax-top-level-await" "^7.8.3"
-babel-preset-jest@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee"
- integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==
+babel-preset-jest@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz#7a50c75d16647c23a2cf5158d5bb9eb206b10e20"
+ integrity sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA==
dependencies:
- babel-plugin-jest-hoist "^26.6.2"
+ babel-plugin-jest-hoist "^27.0.1"
babel-preset-current-node-syntax "^1.0.0"
balanced-match@^1.0.0:
@@ -2638,9 +2806,9 @@
tweetnacl "^0.14.3"
before-after-hook@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c"
- integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
+ integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
bignumber.js@^9.0.0, bignumber.js@^9.0.1:
version "9.0.1"
@@ -2681,7 +2849,7 @@
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU=
-bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.9, bn.js@^4.4.0:
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.9:
version "4.12.0"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
@@ -2821,14 +2989,14 @@
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
-browserslist@^4.14.5, browserslist@^4.16.4, browserslist@^4.16.5:
- version "4.16.5"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.5.tgz#952825440bca8913c62d0021334cbe928ef062ae"
- integrity sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==
+browserslist@^4.16.6:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
+ integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
dependencies:
- caniuse-lite "^1.0.30001214"
+ caniuse-lite "^1.0.30001219"
colorette "^1.2.2"
- electron-to-chromium "^1.3.719"
+ electron-to-chromium "^1.3.723"
escalade "^3.1.1"
node-releases "^1.1.71"
@@ -2936,7 +3104,7 @@
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-camelcase@^5.0.0, camelcase@^5.3.1:
+camelcase@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
@@ -2946,17 +3114,10 @@
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
-caniuse-lite@^1.0.30001214:
- version "1.0.30001219"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz#5bfa5d0519f41f993618bd318f606a4c4c16156b"
- integrity sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ==
-
-capture-exit@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
- integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==
- dependencies:
- rsvp "^4.8.4"
+caniuse-lite@^1.0.30001219:
+ version "1.0.30001238"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001238.tgz#e6a8b45455c5de601718736d0242feef0ecdda15"
+ integrity sha512-bZGam2MxEt7YNsa2VwshqWQMwrYs5tR5WZQRYSuFxsBQunWjBuXhN4cS9nV5FFb1Z9y+DoQcQ0COyQbv6A+CKw==
caseless@~0.12.0:
version "0.12.0"
@@ -3030,7 +3191,7 @@
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=
-chokidar@3.5.1, chokidar@^3.4.0:
+chokidar@3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
@@ -3045,6 +3206,21 @@
optionalDependencies:
fsevents "~2.3.1"
+chokidar@^3.4.0:
+ version "3.5.2"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"
+ integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
chownr@^1.1.1:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
@@ -3055,6 +3231,11 @@
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+ci-info@^3.1.1:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
+ integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
+
cids@^0.7.1:
version "0.7.5"
resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2"
@@ -3074,10 +3255,10 @@
inherits "^2.0.1"
safe-buffer "^5.0.1"
-cjs-module-lexer@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f"
- integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==
+cjs-module-lexer@^1.0.0:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73"
+ integrity sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==
class-is@^1.1.0:
version "1.1.0"
@@ -3116,15 +3297,6 @@
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6"
integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==
-cliui@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
- integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^6.2.0"
-
cliui@^7.0.2:
version "7.0.4"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
@@ -3268,11 +3440,6 @@
dependencies:
bluebird "^3.1.1"
-contains-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
- integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=
-
content-disposition@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
@@ -3321,12 +3488,12 @@
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-core-js-compat@^3.9.0, core-js-compat@^3.9.1:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.11.0.tgz#635683f43480a0b41e3f6be3b1c648dadb8b4390"
- integrity sha512-3wsN9YZJohOSDCjVB0GequOyHax8zFiogSX3XWLE28M1Ew7dTU57tgHjIylSBKSIouwmLBp3g61sKMz/q3xEGA==
+core-js-compat@^3.14.0:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.14.0.tgz#b574dabf29184681d5b16357bd33d104df3d29a5"
+ integrity sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==
dependencies:
- browserslist "^4.16.4"
+ browserslist "^4.16.6"
semver "7.0.0"
core-util-is@1.0.2, core-util-is@~1.0.0:
@@ -3389,18 +3556,7 @@
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
-cross-spawn@^6.0.0:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^7.0.0, cross-spawn@^7.0.2:
+cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -3489,17 +3645,19 @@
dependencies:
ms "2.0.0"
-debug@4.3.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
+debug@4, debug@4.3.1, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
dependencies:
ms "2.1.2"
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
+debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
decamelize@^4.0.0:
version "4.0.0"
@@ -3537,6 +3695,11 @@
dependencies:
mimic-response "^3.1.0"
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
+
deep-eql@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df"
@@ -3611,14 +3774,14 @@
integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
dependency-tree@^8.0.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/dependency-tree/-/dependency-tree-8.1.0.tgz#1b896a0418bd7ba3e6d55c39bb664452a001579f"
- integrity sha512-YKFK+1KXJOqVpsW6MkrIl/DyiW+KVG25V8NfRs27ANe+oSeCkQx2ROW1mBpp1bcm++5zj3Xv8wyFxHgX6TbM1w==
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/dependency-tree/-/dependency-tree-8.1.1.tgz#1a309f5a860b3285f7b1638c98ce48c8906ae6e6"
+ integrity sha512-bl5U16VQpaYxD0xvcnCH/dTctCiWnsVWymh9dNjbm4T00Hm21flu1VLnNueKCj7+3uusbcJhKKKtiWrpU0I+Nw==
dependencies:
commander "^2.20.3"
debug "^4.3.1"
filing-cabinet "^3.0.0"
- precinct "^7.0.0"
+ precinct "^8.0.0"
typescript "^3.9.7"
deprecation@^2.0.0, deprecation@^2.3.1:
@@ -3640,9 +3803,9 @@
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
detect-indent@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
- integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
+ integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
detect-newline@^3.0.0:
version "3.1.0"
@@ -3736,10 +3899,10 @@
node-source-walk "^4.2.0"
typescript "^3.9.7"
-diff-sequences@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1"
- integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==
+diff-sequences@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.1.tgz#9c9801d52ed5f576ff0a20e3022a13ee6e297e7c"
+ integrity sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg==
diff@5.0.0:
version "5.0.0"
@@ -3767,14 +3930,6 @@
dependencies:
path-type "^4.0.0"
-doctrine@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
- integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=
- dependencies:
- esutils "^2.0.2"
- isarray "^1.0.0"
-
doctrine@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
@@ -3836,10 +3991,10 @@
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-electron-to-chromium@^1.3.719:
- version "1.3.723"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.723.tgz#52769a75635342a4db29af5f1e40bd3dad02c877"
- integrity sha512-L+WXyXI7c7+G1V8ANzRsPI5giiimLAUDC6Zs1ojHHPhYXb3k/iTABFmWjivEtsWrRQymjnO66/rO2ZTABGdmWg==
+electron-to-chromium@^1.3.723:
+ version "1.3.752"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz#0728587f1b9b970ec9ffad932496429aef750d09"
+ integrity sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==
elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4:
version "6.5.4"
@@ -3859,10 +4014,10 @@
resolved "https://registry.yarnpkg.com/email-addresses/-/email-addresses-3.1.0.tgz#cabf7e085cbdb63008a70319a74e6136188812fb"
integrity sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==
-emittery@^0.7.1:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82"
- integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==
+emittery@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860"
+ integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==
emoji-regex@^7.0.1:
version "7.0.3"
@@ -3887,9 +4042,9 @@
once "^1.4.0"
enhanced-resolve@^5.3.2:
- version "5.8.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.0.tgz#d9deae58f9d3773b6a111a5a46831da5be5c9ac0"
- integrity sha512-Sl3KRpJA8OpprrtaIswVki3cWPiPKxXuFxJXBp+zNb6s6VwNWwFRUdtmzd2ReUut8n+sCPx7QCtQ7w5wfJhSgQ==
+ version "5.8.2"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b"
+ integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
@@ -3901,17 +4056,17 @@
dependencies:
ansi-colors "^4.1.1"
-error-ex@^1.2.0, error-ex@^1.3.1:
+error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2:
- version "1.18.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4"
- integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==
+es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2:
+ version "1.18.3"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0"
+ integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==
dependencies:
call-bind "^1.0.2"
es-to-primitive "^1.2.1"
@@ -3921,14 +4076,14 @@
has-symbols "^1.0.2"
is-callable "^1.2.3"
is-negative-zero "^2.0.1"
- is-regex "^1.1.2"
- is-string "^1.0.5"
- object-inspect "^1.9.0"
+ is-regex "^1.1.3"
+ is-string "^1.0.6"
+ object-inspect "^1.10.3"
object-keys "^1.1.1"
object.assign "^4.1.2"
string.prototype.trimend "^1.0.4"
string.prototype.trimstart "^1.0.4"
- unbox-primitive "^1.0.0"
+ unbox-primitive "^1.0.1"
es-to-primitive@^1.2.1:
version "1.2.1"
@@ -3980,7 +4135,7 @@
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-escape-string-regexp@4.0.0:
+escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
@@ -4007,10 +4162,10 @@
optionalDependencies:
source-map "~0.6.1"
-eslint-config-standard@^16.0.2:
- version "16.0.2"
- resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz#71e91727ac7a203782d0a5ca4d1c462d14e234f6"
- integrity sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==
+eslint-config-standard@^16.0.3:
+ version "16.0.3"
+ resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516"
+ integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==
eslint-import-resolver-node@^0.3.4:
version "0.3.4"
@@ -4020,12 +4175,12 @@
debug "^2.6.9"
resolve "^1.13.1"
-eslint-module-utils@^2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6"
- integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==
+eslint-module-utils@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233"
+ integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A==
dependencies:
- debug "^2.6.9"
+ debug "^3.2.7"
pkg-dir "^2.0.0"
eslint-plugin-es@^3.0.0:
@@ -4041,23 +4196,25 @@
resolved "https://registry.yarnpkg.com/eslint-plugin-header/-/eslint-plugin-header-3.1.1.tgz#6ce512432d57675265fac47292b50d1eff11acd6"
integrity sha512-9vlKxuJ4qf793CmeeSrZUvVClw6amtpghq3CuWcB5cUNnWHQhgcqy5eF8oVKFk1G3Y/CbchGfEaw3wiIJaNmVg==
-eslint-plugin-import@^2.22.1:
- version "2.22.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702"
- integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==
+eslint-plugin-import@^2.23.4:
+ version "2.23.4"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97"
+ integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==
dependencies:
- array-includes "^3.1.1"
- array.prototype.flat "^1.2.3"
- contains-path "^0.1.0"
+ array-includes "^3.1.3"
+ array.prototype.flat "^1.2.4"
debug "^2.6.9"
- doctrine "1.5.0"
+ doctrine "^2.1.0"
eslint-import-resolver-node "^0.3.4"
- eslint-module-utils "^2.6.0"
+ eslint-module-utils "^2.6.1"
+ find-up "^2.0.0"
has "^1.0.3"
+ is-core-module "^2.4.0"
minimatch "^3.0.4"
- object.values "^1.1.1"
- read-pkg-up "^2.0.0"
- resolve "^1.17.0"
+ object.values "^1.1.3"
+ pkg-up "^2.0.0"
+ read-pkg-up "^3.0.0"
+ resolve "^1.20.0"
tsconfig-paths "^3.9.0"
eslint-plugin-node@^11.1.0:
@@ -4082,10 +4239,10 @@
resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556"
integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==
-eslint-plugin-react@^7.23.2:
- version "7.23.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494"
- integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==
+eslint-plugin-react@^7.24.0:
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4"
+ integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==
dependencies:
array-includes "^3.1.3"
array.prototype.flatmap "^1.2.4"
@@ -4093,12 +4250,12 @@
has "^1.0.3"
jsx-ast-utils "^2.4.1 || ^3.0.0"
minimatch "^3.0.4"
- object.entries "^1.1.3"
+ object.entries "^1.1.4"
object.fromentries "^2.0.4"
- object.values "^1.1.3"
+ object.values "^1.1.4"
prop-types "^15.7.2"
resolve "^2.0.0-next.3"
- string.prototype.matchall "^4.0.4"
+ string.prototype.matchall "^4.0.5"
eslint-plugin-simple-import-sort@^7.0.0:
version "7.0.0"
@@ -4112,7 +4269,7 @@
dependencies:
natural-compare-lite "^1.4.0"
-eslint-scope@^5.0.0, eslint-scope@^5.1.1:
+eslint-scope@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -4127,38 +4284,47 @@
dependencies:
eslint-visitor-keys "^1.1.0"
+eslint-utils@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+ integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+ dependencies:
+ eslint-visitor-keys "^2.0.0"
+
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint-visitor-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
- integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+ integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-eslint@^7.25.0:
- version "7.25.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67"
- integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw==
+eslint@^7.27.0:
+ version "7.28.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820"
+ integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==
dependencies:
"@babel/code-frame" "7.12.11"
- "@eslint/eslintrc" "^0.4.0"
+ "@eslint/eslintrc" "^0.4.2"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
debug "^4.0.1"
doctrine "^3.0.0"
enquirer "^2.3.5"
+ escape-string-regexp "^4.0.0"
eslint-scope "^5.1.1"
eslint-utils "^2.1.0"
eslint-visitor-keys "^2.0.0"
espree "^7.3.1"
esquery "^1.4.0"
esutils "^2.0.2"
+ fast-deep-equal "^3.1.3"
file-entry-cache "^6.0.1"
functional-red-black-tree "^1.0.1"
- glob-parent "^5.0.0"
+ glob-parent "^5.1.2"
globals "^13.6.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
@@ -4167,7 +4333,7 @@
js-yaml "^3.13.1"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
- lodash "^4.17.21"
+ lodash.merge "^4.6.2"
minimatch "^3.0.4"
natural-compare "^1.4.0"
optionator "^0.9.1"
@@ -4176,7 +4342,7 @@
semver "^7.2.1"
strip-ansi "^6.0.0"
strip-json-comments "^3.1.0"
- table "^6.0.4"
+ table "^6.0.9"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
@@ -4258,9 +4424,9 @@
xhr-request-promise "^0.1.2"
ethereum-bloom-filters@^1.0.6:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.9.tgz#4a59dead803af0c9e33834170bd7695df67061ec"
- integrity sha512-GiK/RQkAkcVaEdxKVkPcG07PQ5vD7v2MFSHgZmBJSfMzNRHimntdBithsHAT89tAXnIpzVDWt8iaCD1DvkaxGg==
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a"
+ integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==
dependencies:
js-sha3 "^0.8.0"
@@ -4345,37 +4511,19 @@
md5.js "^1.3.4"
safe-buffer "^5.1.1"
-exec-sh@^0.3.2:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc"
- integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==
-
-execa@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
- integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+execa@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
dependencies:
- cross-spawn "^6.0.0"
- get-stream "^4.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-execa@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a"
- integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==
- dependencies:
- cross-spawn "^7.0.0"
- get-stream "^5.0.0"
- human-signals "^1.1.1"
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
is-stream "^2.0.0"
merge-stream "^2.0.0"
- npm-run-path "^4.0.0"
- onetime "^5.1.0"
- signal-exit "^3.0.2"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
exit@^0.1.2:
@@ -4396,17 +4544,17 @@
snapdragon "^0.8.1"
to-regex "^3.0.1"
-expect@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417"
- integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==
+expect@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.2.tgz#e66ca3a4c9592f1c019fa1d46459a9d2084f3422"
+ integrity sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w==
dependencies:
- "@jest/types" "^26.6.2"
- ansi-styles "^4.0.0"
- jest-get-type "^26.3.0"
- jest-matcher-utils "^26.6.2"
- jest-message-util "^26.6.2"
- jest-regex-util "^26.0.0"
+ "@jest/types" "^27.0.2"
+ ansi-styles "^5.0.0"
+ jest-get-type "^27.0.1"
+ jest-matcher-utils "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-regex-util "^27.0.1"
express@^4.14.0:
version "4.17.1"
@@ -4504,7 +4652,7 @@
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -4747,10 +4895,10 @@
combined-stream "^1.0.6"
mime-types "^2.1.12"
-forwarded@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
- integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
fragment-cache@^0.2.1:
version "0.2.1"
@@ -4764,6 +4912,15 @@
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+fs-extra@^10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
+ integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-extra@^4.0.2:
version "4.0.3"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
@@ -4782,16 +4939,6 @@
jsonfile "^4.0.0"
universalify "^0.1.0"
-fs-extra@^9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
- integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
fs-minipass@^1.2.5:
version "1.2.7"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
@@ -4809,7 +4956,7 @@
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-fsevents@^2.1.2, fsevents@~2.3.1:
+fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -4851,7 +4998,7 @@
ast-module-types "^2.3.2"
node-source-walk "^4.0.0"
-get-caller-file@^2.0.1, get-caller-file@^2.0.5:
+get-caller-file@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
@@ -4885,20 +5032,25 @@
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-get-stream@^4.0.0, get-stream@^4.1.0:
+get-stream@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
dependencies:
pump "^3.0.0"
-get-stream@^5.0.0, get-stream@^5.1.0:
+get-stream@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
dependencies:
pump "^3.0.0"
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
@@ -4911,10 +5063,10 @@
dependencies:
assert-plus "^1.0.0"
-gh-pages@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-3.1.0.tgz#ec3ed0f6a6e3fc3d888758fa018f08191c96bd55"
- integrity sha512-3b1rly9kuf3/dXsT8+ZxP0UhNLOo1CItj+3e31yUVcaph/yDsJ9RzD7JOw5o5zpBTJVQLlJAASNkUfepi9fe2w==
+gh-pages@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-3.2.2.tgz#3177ef792f8cfcd6872c252c3482910d88b46bbb"
+ integrity sha512-szdkmGpVqMBUZkjgsEXQm5wkLvx/XNvWf3HzL+2ETpLtpaXvSvIzpNgLiiojDzxmbFDf3M5CFK7p/3eYi8U83A==
dependencies:
async "^2.6.1"
commander "^2.18.0"
@@ -4936,10 +5088,10 @@
simple-get "^4.0.0"
util-extend "^1.0.1"
-gh-release@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/gh-release/-/gh-release-5.0.0.tgz#20ee85758f3ad24548e7573b92d2bfaaa4cec9f5"
- integrity sha512-nuVsQGWx3ecdJ1LcN3TIzaxygua5JWx5eCm6qReH2qXVApNQV6JZaYi/bMMGC70YCLlLElQ//pykBX8alIjYyw==
+gh-release@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/gh-release/-/gh-release-6.0.0.tgz#5e20a914f8dd2579bdebcab56a7e12f497767be6"
+ integrity sha512-FNITfykM63cwMCwLaf/GVkmBVM4xP2FlMD0h2OcDoDhS//3mMtYL3m2sHSMRKzxUjRHPIs7hqIatUzso+4JawQ==
dependencies:
"@octokit/rest" "^18.0.9"
chalk "^4.1.0"
@@ -4949,10 +5101,10 @@
gh-release-assets "^2.0.0"
ghauth "^5.0.0"
github-url-to-object "^4.0.4"
- inquirer "^7.3.3"
+ inquirer "^8.0.0"
shelljs "^0.8.4"
update-notifier "^5.0.0"
- yargs "^16.0.3"
+ yargs "^17.0.0"
ghauth@^5.0.0:
version "5.0.1"
@@ -4971,15 +5123,7 @@
dependencies:
is-url "^1.1.0"
-glob-parent@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
- integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
- dependencies:
- is-glob "^3.1.0"
- path-dirname "^1.0.0"
-
-glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
+glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -4993,7 +5137,7 @@
dependencies:
find-index "^0.1.1"
-glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
+glob@7.1.6:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -5005,6 +5149,18 @@
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7:
+ version "7.1.7"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
+ integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.4"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
global-dirs@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686"
@@ -5025,24 +5181,17 @@
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^12.1.0:
- version "12.4.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
- integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
- dependencies:
- type-fest "^0.8.1"
-
-globals@^13.6.0:
- version "13.8.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3"
- integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==
+globals@^13.6.0, globals@^13.9.0:
+ version "13.9.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb"
+ integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==
dependencies:
type-fest "^0.20.2"
-globby@^11.0.1:
- version "11.0.3"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb"
- integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==
+globby@^11.0.3:
+ version "11.0.4"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"
+ integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==
dependencies:
array-union "^2.1.0"
dir-glob "^3.0.1"
@@ -5122,11 +5271,6 @@
version "1.10.5"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==
-
-growly@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
- integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=
handlebars@^4.7.7:
version "4.7.7"
@@ -5247,7 +5391,7 @@
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=
-hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
+hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
@@ -5318,6 +5462,15 @@
resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b"
integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=
+http-proxy-agent@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a"
+ integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==
+ dependencies:
+ "@tootallnate/once" "1"
+ agent-base "6"
+ debug "4"
+
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
@@ -5327,11 +5480,19 @@
jsprim "^1.2.2"
sshpk "^1.7.0"
-human-signals@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
- integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
+https-proxy-agent@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
+ integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
humanize-url@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz#f4ab99e0d288174ca4e1e50407c55fbae464efff"
@@ -5428,21 +5589,22 @@
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-inquirer@^7.3.3:
- version "7.3.3"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
- integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
+inquirer@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.1.1.tgz#7c53d94c6d03011c7bb2a947f0dca3b98246c26a"
+ integrity sha512-hUDjc3vBkh/uk1gPfMAD/7Z188Q8cvTGl0nxwaCdwSbzFh6ZKkZh+s2ozVxbE5G9ZNRyeY0+lgbAIOUFsFf98w==
dependencies:
ansi-escapes "^4.2.1"
- chalk "^4.1.0"
+ chalk "^4.1.1"
cli-cursor "^3.1.0"
cli-width "^3.0.0"
external-editor "^3.0.3"
figures "^3.0.0"
- lodash "^4.17.19"
+ lodash "^4.17.21"
mute-stream "0.0.8"
+ ora "^5.3.0"
run-async "^2.4.0"
- rxjs "^6.6.0"
+ rxjs "^6.6.6"
string-width "^4.1.0"
strip-ansi "^6.0.0"
through "^2.3.6"
@@ -5498,9 +5660,9 @@
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-bigint@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2"
- integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a"
+ integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==
is-binary-path@^1.0.0:
version "1.0.1"
@@ -5517,11 +5679,11 @@
binary-extensions "^2.0.0"
is-boolean-object@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0"
- integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8"
+ integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
is-buffer@^1.1.5:
version "1.1.6"
@@ -5540,10 +5702,17 @@
dependencies:
ci-info "^2.0.0"
-is-core-module@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887"
- integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==
+is-ci@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
+ integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
+ dependencies:
+ ci-info "^3.1.1"
+
+is-core-module@^2.2.0, is-core-module@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
+ integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
dependencies:
has "^1.0.3"
@@ -5562,9 +5731,9 @@
kind-of "^6.0.0"
is-date-object@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"
- integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5"
+ integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==
is-descriptor@^0.1.0:
version "0.1.6"
@@ -5583,11 +5752,6 @@
is-accessor-descriptor "^1.0.0"
is-data-descriptor "^1.0.0"
kind-of "^6.0.2"
-
-is-docker@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
- integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
@@ -5601,7 +5765,7 @@
dependencies:
is-plain-object "^2.0.4"
-is-extglob@^2.1.0, is-extglob@^2.1.1:
+is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
@@ -5634,16 +5798,9 @@
integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
is-generator-function@^1.0.7:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b"
- integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==
-
-is-glob@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
- integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
- dependencies:
- is-extglob "^2.1.0"
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c"
+ integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1"
@@ -5681,9 +5838,9 @@
integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==
is-number-object@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
- integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb"
+ integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==
is-number@^3.0.0:
version "3.0.0"
@@ -5739,18 +5896,18 @@
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
-is-potential-custom-element-name@^1.0.0:
+is-potential-custom-element-name@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
-is-regex@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251"
- integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==
+is-regex@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f"
+ integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==
dependencies:
call-bind "^1.0.2"
- has-symbols "^1.0.1"
+ has-symbols "^1.0.2"
is-regexp@^1.0.0:
version "1.0.0"
@@ -5767,7 +5924,7 @@
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4"
integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==
-is-stream@^1.0.0, is-stream@^1.1.0:
+is-stream@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
@@ -5777,17 +5934,17 @@
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
-is-string@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
- integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
+is-string@^1.0.5, is-string@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f"
+ integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==
is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
- integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+ integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
dependencies:
- has-symbols "^1.0.1"
+ has-symbols "^1.0.2"
is-typed-array@^1.1.3:
version "1.1.5"
@@ -5820,19 +5977,12 @@
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-is-wsl@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
- integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
- dependencies:
- is-docker "^2.0.0"
-
is-yarn-global@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+isarray@1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
@@ -5908,200 +6058,226 @@
has-to-string-tag-x "^1.2.0"
is-object "^1.0.1"
-jest-changed-files@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0"
- integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==
+jest-changed-files@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.2.tgz#997253042b4a032950fc5f56abf3c5d1f8560801"
+ integrity sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw==
dependencies:
- "@jest/types" "^26.6.2"
- execa "^4.0.0"
- throat "^5.0.0"
+ "@jest/types" "^27.0.2"
+ execa "^5.0.0"
+ throat "^6.0.1"
-jest-cli@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a"
- integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==
+jest-circus@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.4.tgz#3b261514ee3b3da33def736a6352c98ff56bb6e6"
+ integrity sha512-QD+eblDiRphta630WRKewuASLs/oY1Zki2G4bccntRvrTHQ63ljwFR5TLduuK4Zg0ZPzW0+8o6AP7KRd1yKOjw==
dependencies:
- "@jest/core" "^26.6.3"
- "@jest/test-result" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/test-result" "^27.0.2"
+ "@jest/types" "^27.0.2"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ co "^4.6.0"
+ dedent "^0.7.0"
+ expect "^27.0.2"
+ is-generator-fn "^2.0.0"
+ jest-each "^27.0.2"
+ jest-matcher-utils "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-runtime "^27.0.4"
+ jest-snapshot "^27.0.4"
+ jest-util "^27.0.2"
+ pretty-format "^27.0.2"
+ slash "^3.0.0"
+ stack-utils "^2.0.3"
+ throat "^6.0.1"
+
+jest-cli@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.4.tgz#491b12c754c0d7c6873b13a66f26b3a80a852910"
+ integrity sha512-E0T+/i2lxsWAzV7LKYd0SB7HUAvePqaeIh5vX43/G5jXLhv1VzjYzJAGEkTfvxV774ll9cyE2ljcL73PVMEOXQ==
+ dependencies:
+ "@jest/core" "^27.0.4"
+ "@jest/test-result" "^27.0.2"
+ "@jest/types" "^27.0.2"
chalk "^4.0.0"
exit "^0.1.2"
graceful-fs "^4.2.4"
import-local "^3.0.2"
- is-ci "^2.0.0"
- jest-config "^26.6.3"
- jest-util "^26.6.2"
- jest-validate "^26.6.2"
+ jest-config "^27.0.4"
+ jest-util "^27.0.2"
+ jest-validate "^27.0.2"
prompts "^2.0.1"
- yargs "^15.4.1"
+ yargs "^16.0.3"
-jest-config@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349"
- integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==
+jest-config@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.4.tgz#c4f41378acf40ca77860fb4e213b12109d87b8cf"
+ integrity sha512-VkQFAHWnPQefdvHU9A+G3H/Z3NrrTKqWpvxgQz3nkUdkDTWeKJE6e//BL+R7z79dXOMVksYgM/z6ndtN0hfChg==
dependencies:
"@babel/core" "^7.1.0"
- "@jest/test-sequencer" "^26.6.3"
- "@jest/types" "^26.6.2"
- babel-jest "^26.6.3"
+ "@jest/test-sequencer" "^27.0.4"
+ "@jest/types" "^27.0.2"
+ babel-jest "^27.0.2"
chalk "^4.0.0"
deepmerge "^4.2.2"
glob "^7.1.1"
graceful-fs "^4.2.4"
- jest-environment-jsdom "^26.6.2"
- jest-environment-node "^26.6.2"
- jest-get-type "^26.3.0"
- jest-jasmine2 "^26.6.3"
- jest-regex-util "^26.0.0"
- jest-resolve "^26.6.2"
- jest-util "^26.6.2"
- jest-validate "^26.6.2"
- micromatch "^4.0.2"
- pretty-format "^26.6.2"
+ is-ci "^3.0.0"
+ jest-circus "^27.0.4"
+ jest-environment-jsdom "^27.0.3"
+ jest-environment-node "^27.0.3"
+ jest-get-type "^27.0.1"
+ jest-jasmine2 "^27.0.4"
+ jest-regex-util "^27.0.1"
+ jest-resolve "^27.0.4"
+ jest-runner "^27.0.4"
+ jest-util "^27.0.2"
+ jest-validate "^27.0.2"
+ micromatch "^4.0.4"
+ pretty-format "^27.0.2"
-jest-diff@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
- integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==
+jest-diff@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.2.tgz#f315b87cee5dc134cf42c2708ab27375cc3f5a7e"
+ integrity sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw==
dependencies:
chalk "^4.0.0"
- diff-sequences "^26.6.2"
- jest-get-type "^26.3.0"
- pretty-format "^26.6.2"
+ diff-sequences "^27.0.1"
+ jest-get-type "^27.0.1"
+ pretty-format "^27.0.2"
-jest-docblock@^26.0.0:
- version "26.0.0"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5"
- integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==
+jest-docblock@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.1.tgz#bd9752819b49fa4fab1a50b73eb58c653b962e8b"
+ integrity sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA==
dependencies:
detect-newline "^3.0.0"
-jest-each@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb"
- integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==
+jest-each@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.2.tgz#865ddb4367476ced752167926b656fa0dcecd8c7"
+ integrity sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
chalk "^4.0.0"
- jest-get-type "^26.3.0"
- jest-util "^26.6.2"
- pretty-format "^26.6.2"
+ jest-get-type "^27.0.1"
+ jest-util "^27.0.2"
+ pretty-format "^27.0.2"
-jest-environment-jsdom@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e"
- integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==
+jest-environment-jsdom@^27.0.3:
+ version "27.0.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.3.tgz#ed73e913ddc03864eb9f934b5cbabf1b63504e2e"
+ integrity sha512-5KLmgv1bhiimpSA8oGTnZYk6g4fsNyZiA/6gI2tAZUgrufd7heRUSVh4gRokzZVEj8zlwAQYT0Zs6tuJSW/ECA==
dependencies:
- "@jest/environment" "^26.6.2"
- "@jest/fake-timers" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/fake-timers" "^27.0.3"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
- jest-mock "^26.6.2"
- jest-util "^26.6.2"
- jsdom "^16.4.0"
+ jest-mock "^27.0.3"
+ jest-util "^27.0.2"
+ jsdom "^16.6.0"
-jest-environment-node@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c"
- integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==
+jest-environment-node@^27.0.3:
+ version "27.0.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.3.tgz#b4acb3679d2552a4215732cab8b0ca7ec4398ee0"
+ integrity sha512-co2/IVnIFL3cItpFULCvXFg9us4gvWXgs7mutAMPCbFhcqh56QAOdKhNzC2+RycsC/k4mbMj1VF+9F/NzA0ROg==
dependencies:
- "@jest/environment" "^26.6.2"
- "@jest/fake-timers" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/fake-timers" "^27.0.3"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
- jest-mock "^26.6.2"
- jest-util "^26.6.2"
+ jest-mock "^27.0.3"
+ jest-util "^27.0.2"
-jest-get-type@^26.3.0:
- version "26.3.0"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
- integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==
+jest-get-type@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.1.tgz#34951e2b08c8801eb28559d7eb732b04bbcf7815"
+ integrity sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg==
-jest-haste-map@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa"
- integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==
+jest-haste-map@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.2.tgz#3f1819400c671237e48b4d4b76a80a0dbed7577f"
+ integrity sha512-37gYfrYjjhEfk37C4bCMWAC0oPBxDpG0qpl8lYg8BT//wf353YT/fzgA7+Dq0EtM7rPFS3JEcMsxdtDwNMi2cA==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
"@types/graceful-fs" "^4.1.2"
"@types/node" "*"
anymatch "^3.0.3"
fb-watchman "^2.0.0"
graceful-fs "^4.2.4"
- jest-regex-util "^26.0.0"
- jest-serializer "^26.6.2"
- jest-util "^26.6.2"
- jest-worker "^26.6.2"
- micromatch "^4.0.2"
- sane "^4.0.3"
+ jest-regex-util "^27.0.1"
+ jest-serializer "^27.0.1"
+ jest-util "^27.0.2"
+ jest-worker "^27.0.2"
+ micromatch "^4.0.4"
walker "^1.0.7"
optionalDependencies:
- fsevents "^2.1.2"
+ fsevents "^2.3.2"
-jest-jasmine2@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd"
- integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==
+jest-jasmine2@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.4.tgz#c669519ccf4904a485338555e1e66cad36bb0670"
+ integrity sha512-yj3WrjjquZwkJw+eA4c9yucHw4/+EHndHWSqgHbHGQfT94ihaaQsa009j1a0puU8CNxPDk0c1oAPeOpdJUElwA==
dependencies:
"@babel/traverse" "^7.1.0"
- "@jest/environment" "^26.6.2"
- "@jest/source-map" "^26.6.2"
- "@jest/test-result" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/source-map" "^27.0.1"
+ "@jest/test-result" "^27.0.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
chalk "^4.0.0"
co "^4.6.0"
- expect "^26.6.2"
+ expect "^27.0.2"
is-generator-fn "^2.0.0"
- jest-each "^26.6.2"
- jest-matcher-utils "^26.6.2"
- jest-message-util "^26.6.2"
- jest-runtime "^26.6.3"
- jest-snapshot "^26.6.2"
- jest-util "^26.6.2"
- pretty-format "^26.6.2"
- throat "^5.0.0"
+ jest-each "^27.0.2"
+ jest-matcher-utils "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-runtime "^27.0.4"
+ jest-snapshot "^27.0.4"
+ jest-util "^27.0.2"
+ pretty-format "^27.0.2"
+ throat "^6.0.1"
-jest-leak-detector@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af"
- integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==
+jest-leak-detector@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz#ce19aa9dbcf7a72a9d58907a970427506f624e69"
+ integrity sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q==
dependencies:
- jest-get-type "^26.3.0"
- pretty-format "^26.6.2"
+ jest-get-type "^27.0.1"
+ pretty-format "^27.0.2"
-jest-matcher-utils@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a"
- integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==
+jest-matcher-utils@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz#f14c060605a95a466cdc759acc546c6f4cbfc4f0"
+ integrity sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA==
dependencies:
chalk "^4.0.0"
- jest-diff "^26.6.2"
- jest-get-type "^26.3.0"
- pretty-format "^26.6.2"
+ jest-diff "^27.0.2"
+ jest-get-type "^27.0.1"
+ pretty-format "^27.0.2"
-jest-message-util@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07"
- integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==
+jest-message-util@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.2.tgz#181c9b67dff504d8f4ad15cba10d8b80f272048c"
+ integrity sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw==
dependencies:
- "@babel/code-frame" "^7.0.0"
- "@jest/types" "^26.6.2"
+ "@babel/code-frame" "^7.12.13"
+ "@jest/types" "^27.0.2"
"@types/stack-utils" "^2.0.0"
chalk "^4.0.0"
graceful-fs "^4.2.4"
- micromatch "^4.0.2"
- pretty-format "^26.6.2"
+ micromatch "^4.0.4"
+ pretty-format "^27.0.2"
slash "^3.0.0"
- stack-utils "^2.0.2"
+ stack-utils "^2.0.3"
-jest-mock@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302"
- integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==
+jest-mock@^27.0.3:
+ version "27.0.3"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.3.tgz#5591844f9192b3335c0dca38e8e45ed297d4d23d"
+ integrity sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
jest-pnp-resolver@^1.2.2:
@@ -6109,177 +6285,187 @@
resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
-jest-regex-util@^26.0.0:
- version "26.0.0"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28"
- integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==
+jest-regex-util@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz#69d4b1bf5b690faa3490113c47486ed85dd45b68"
+ integrity sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ==
-jest-resolve-dependencies@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6"
- integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==
+jest-resolve-dependencies@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.4.tgz#a07a242d70d668afd3fcf7f4270755eebb1fe579"
+ integrity sha512-F33UPfw1YGWCV2uxJl7wD6TvcQn5IC0LtguwY3r4L7R6H4twpLkp5Q2ZfzRx9A2I3G8feiy0O0sqcn/Qoym71A==
dependencies:
- "@jest/types" "^26.6.2"
- jest-regex-util "^26.0.0"
- jest-snapshot "^26.6.2"
+ "@jest/types" "^27.0.2"
+ jest-regex-util "^27.0.1"
+ jest-snapshot "^27.0.4"
-jest-resolve@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507"
- integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==
+jest-resolve@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.4.tgz#8a27bc3f2f00c8ea28f3bc99bbf6f468300a703d"
+ integrity sha512-BcfyK2i3cG79PDb/6gB6zFeFQlcqLsQjGBqznFCpA0L/3l1L/oOsltdUjs5eISAWA9HS9qtj8v2PSZr/yWxONQ==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
chalk "^4.0.0"
+ escalade "^3.1.1"
graceful-fs "^4.2.4"
jest-pnp-resolver "^1.2.2"
- jest-util "^26.6.2"
- read-pkg-up "^7.0.1"
- resolve "^1.18.1"
+ jest-util "^27.0.2"
+ jest-validate "^27.0.2"
+ resolve "^1.20.0"
slash "^3.0.0"
-jest-runner@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159"
- integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==
+jest-runner@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.4.tgz#2787170a9509b792ae129794f6944d27d5d12a4f"
+ integrity sha512-NfmvSYLCsCJk2AG8Ar2NAh4PhsJJpO+/r+g4bKR5L/5jFzx/indUpnVBdrfDvuqhGLLAvrKJ9FM/Nt8o1dsqxg==
dependencies:
- "@jest/console" "^26.6.2"
- "@jest/environment" "^26.6.2"
- "@jest/test-result" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/console" "^27.0.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/test-result" "^27.0.2"
+ "@jest/transform" "^27.0.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
chalk "^4.0.0"
- emittery "^0.7.1"
+ emittery "^0.8.1"
exit "^0.1.2"
graceful-fs "^4.2.4"
- jest-config "^26.6.3"
- jest-docblock "^26.0.0"
- jest-haste-map "^26.6.2"
- jest-leak-detector "^26.6.2"
- jest-message-util "^26.6.2"
- jest-resolve "^26.6.2"
- jest-runtime "^26.6.3"
- jest-util "^26.6.2"
- jest-worker "^26.6.2"
+ jest-docblock "^27.0.1"
+ jest-environment-jsdom "^27.0.3"
+ jest-environment-node "^27.0.3"
+ jest-haste-map "^27.0.2"
+ jest-leak-detector "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-resolve "^27.0.4"
+ jest-runtime "^27.0.4"
+ jest-util "^27.0.2"
+ jest-worker "^27.0.2"
source-map-support "^0.5.6"
- throat "^5.0.0"
+ throat "^6.0.1"
-jest-runtime@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b"
- integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==
+jest-runtime@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.4.tgz#2e4a6aa77cac32ac612dfe12768387a8aa15c2f0"
+ integrity sha512-voJB4xbAjS/qYPboV+e+gmg3jfvHJJY4CagFWBOM9dQKtlaiTjcpD2tWwla84Z7PtXSQPeIpXY0qksA9Dum29A==
dependencies:
- "@jest/console" "^26.6.2"
- "@jest/environment" "^26.6.2"
- "@jest/fake-timers" "^26.6.2"
- "@jest/globals" "^26.6.2"
- "@jest/source-map" "^26.6.2"
- "@jest/test-result" "^26.6.2"
- "@jest/transform" "^26.6.2"
- "@jest/types" "^26.6.2"
- "@types/yargs" "^15.0.0"
+ "@jest/console" "^27.0.2"
+ "@jest/environment" "^27.0.3"
+ "@jest/fake-timers" "^27.0.3"
+ "@jest/globals" "^27.0.3"
+ "@jest/source-map" "^27.0.1"
+ "@jest/test-result" "^27.0.2"
+ "@jest/transform" "^27.0.2"
+ "@jest/types" "^27.0.2"
+ "@types/yargs" "^16.0.0"
chalk "^4.0.0"
- cjs-module-lexer "^0.6.0"
+ cjs-module-lexer "^1.0.0"
collect-v8-coverage "^1.0.0"
exit "^0.1.2"
glob "^7.1.3"
graceful-fs "^4.2.4"
- jest-config "^26.6.3"
- jest-haste-map "^26.6.2"
- jest-message-util "^26.6.2"
- jest-mock "^26.6.2"
- jest-regex-util "^26.0.0"
- jest-resolve "^26.6.2"
- jest-snapshot "^26.6.2"
- jest-util "^26.6.2"
- jest-validate "^26.6.2"
+ jest-haste-map "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-mock "^27.0.3"
+ jest-regex-util "^27.0.1"
+ jest-resolve "^27.0.4"
+ jest-snapshot "^27.0.4"
+ jest-util "^27.0.2"
+ jest-validate "^27.0.2"
slash "^3.0.0"
strip-bom "^4.0.0"
- yargs "^15.4.1"
+ yargs "^16.0.3"
-jest-serializer@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1"
- integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==
+jest-serializer@^27.0.1:
+ version "27.0.1"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz#2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020"
+ integrity sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ==
dependencies:
"@types/node" "*"
graceful-fs "^4.2.4"
-jest-snapshot@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84"
- integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==
+jest-snapshot@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.4.tgz#2b96e22ca90382b3e93bd0aae2ce4c78bf51fb5b"
+ integrity sha512-hnjrvpKGdSMvKfbHyaG5Kul7pDJGZvjVy0CKpzhu28MmAssDXS6GpynhXzgst1wBQoKD8c9b2VS2a5yhDLQRCA==
dependencies:
+ "@babel/core" "^7.7.2"
+ "@babel/generator" "^7.7.2"
+ "@babel/parser" "^7.7.2"
+ "@babel/plugin-syntax-typescript" "^7.7.2"
+ "@babel/traverse" "^7.7.2"
"@babel/types" "^7.0.0"
- "@jest/types" "^26.6.2"
+ "@jest/transform" "^27.0.2"
+ "@jest/types" "^27.0.2"
"@types/babel__traverse" "^7.0.4"
- "@types/prettier" "^2.0.0"
+ "@types/prettier" "^2.1.5"
+ babel-preset-current-node-syntax "^1.0.0"
chalk "^4.0.0"
- expect "^26.6.2"
+ expect "^27.0.2"
graceful-fs "^4.2.4"
- jest-diff "^26.6.2"
- jest-get-type "^26.3.0"
- jest-haste-map "^26.6.2"
- jest-matcher-utils "^26.6.2"
- jest-message-util "^26.6.2"
- jest-resolve "^26.6.2"
+ jest-diff "^27.0.2"
+ jest-get-type "^27.0.1"
+ jest-haste-map "^27.0.2"
+ jest-matcher-utils "^27.0.2"
+ jest-message-util "^27.0.2"
+ jest-resolve "^27.0.4"
+ jest-util "^27.0.2"
natural-compare "^1.4.0"
- pretty-format "^26.6.2"
+ pretty-format "^27.0.2"
semver "^7.3.2"
-jest-util@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1"
- integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==
+jest-util@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz#fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7"
+ integrity sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
chalk "^4.0.0"
graceful-fs "^4.2.4"
- is-ci "^2.0.0"
- micromatch "^4.0.2"
+ is-ci "^3.0.0"
+ picomatch "^2.2.3"
-jest-validate@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec"
- integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==
+jest-validate@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.2.tgz#7fe2c100089449cd5cbb47a5b0b6cb7cda5beee5"
+ integrity sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg==
dependencies:
- "@jest/types" "^26.6.2"
- camelcase "^6.0.0"
+ "@jest/types" "^27.0.2"
+ camelcase "^6.2.0"
chalk "^4.0.0"
- jest-get-type "^26.3.0"
+ jest-get-type "^27.0.1"
leven "^3.1.0"
- pretty-format "^26.6.2"
+ pretty-format "^27.0.2"
-jest-watcher@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975"
- integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==
+jest-watcher@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.2.tgz#dab5f9443e2d7f52597186480731a8c6335c5deb"
+ integrity sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA==
dependencies:
- "@jest/test-result" "^26.6.2"
- "@jest/types" "^26.6.2"
+ "@jest/test-result" "^27.0.2"
+ "@jest/types" "^27.0.2"
"@types/node" "*"
ansi-escapes "^4.2.1"
chalk "^4.0.0"
- jest-util "^26.6.2"
+ jest-util "^27.0.2"
string-length "^4.0.1"
-jest-worker@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
- integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
+jest-worker@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz#4ebeb56cef48b3e7514552f80d0d80c0129f0b05"
+ integrity sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg==
dependencies:
"@types/node" "*"
merge-stream "^2.0.0"
- supports-color "^7.0.0"
+ supports-color "^8.0.0"
-jest@^26.6.3:
- version "26.6.3"
- resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef"
- integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==
+jest@^27.0.4:
+ version "27.0.4"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.4.tgz#91d4d564b36bcf93b98dac1ab19f07089e670f53"
+ integrity sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==
dependencies:
- "@jest/core" "^26.6.3"
+ "@jest/core" "^27.0.4"
import-local "^3.0.2"
- jest-cli "^26.6.3"
+ jest-cli "^27.0.4"
js-sha3@0.5.7, js-sha3@^0.5.7:
version "0.5.7"
@@ -6316,13 +6502,13 @@
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-jsdom@^16.4.0:
- version "16.5.3"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.3.tgz#13a755b3950eb938b4482c407238ddf16f0d2136"
- integrity sha512-Qj1H+PEvUsOtdPJ056ewXM4UJPCi4hhLA8wpiz9F2YvsRBhuFsXxtrIFAgGBDynQA9isAMGE91PfUYbdMPXuTA==
+jsdom@^16.6.0:
+ version "16.6.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac"
+ integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==
dependencies:
abab "^2.0.5"
- acorn "^8.1.0"
+ acorn "^8.2.4"
acorn-globals "^6.0.0"
cssom "^0.4.4"
cssstyle "^2.3.0"
@@ -6330,12 +6516,13 @@
decimal.js "^10.2.1"
domexception "^2.0.1"
escodegen "^2.0.0"
+ form-data "^3.0.0"
html-encoding-sniffer "^2.0.1"
- is-potential-custom-element-name "^1.0.0"
+ http-proxy-agent "^4.0.1"
+ https-proxy-agent "^5.0.0"
+ is-potential-custom-element-name "^1.0.1"
nwsapi "^2.2.0"
parse5 "6.0.1"
- request "^2.88.2"
- request-promise-native "^1.0.9"
saxes "^5.0.1"
symbol-tree "^3.2.4"
tough-cookie "^4.0.0"
@@ -6345,7 +6532,7 @@
whatwg-encoding "^1.0.5"
whatwg-mimetype "^2.3.0"
whatwg-url "^8.5.0"
- ws "^7.4.4"
+ ws "^7.4.5"
xml-name-validator "^3.0.0"
jsesc@^2.5.1:
@@ -6363,6 +6550,11 @@
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
+json-parse-better-errors@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
json-parse-even-better-errors@^2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
@@ -6533,14 +6725,14 @@
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
-load-json-file@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
- integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
+load-json-file@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
+ integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs=
dependencies:
graceful-fs "^4.1.2"
- parse-json "^2.2.0"
- pify "^2.0.0"
+ parse-json "^4.0.0"
+ pify "^3.0.0"
strip-bom "^3.0.0"
load-json-file@^6.2.0:
@@ -6593,17 +6785,17 @@
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
-lodash.flatten@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
- integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
+lodash.merge@^4.6.2:
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+ integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
lodash.truncate@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
-lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0:
+lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.21, lodash@^4.7.0:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -6794,7 +6986,7 @@
snapdragon "^0.8.1"
to-regex "^3.0.2"
-micromatch@^4.0.2:
+micromatch@^4.0.2, micromatch@^4.0.4:
version "4.0.4"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
@@ -6810,17 +7002,17 @@
bn.js "^4.0.0"
brorand "^1.0.1"
-mime-db@1.47.0:
- version "1.47.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
- integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
+mime-db@1.48.0:
+ version "1.48.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d"
+ integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==
mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.30"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
- integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
+ version "2.1.31"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b"
+ integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==
dependencies:
- mime-db "1.47.0"
+ mime-db "1.48.0"
mime@1.6.0:
version "1.6.0"
@@ -6871,7 +7063,7 @@
dependencies:
brace-expansion "^1.1.7"
-minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
+minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -6919,9 +7111,9 @@
minimist "^1.2.5"
mocha@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc"
- integrity sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==
+ version "8.4.0"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff"
+ integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==
dependencies:
"@ungap/promise-all-settled" "1.1.2"
ansi-colors "4.1.1"
@@ -6988,7 +7180,7 @@
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3:
+ms@2.1.3, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -7048,10 +7240,10 @@
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788"
integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==
-nanoid@^3.1.22:
- version "3.1.22"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844"
- integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==
+nanoid@^3.1.23:
+ version "3.1.23"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
+ integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==
nanomatch@^1.2.9:
version "1.2.13"
@@ -7095,11 +7287,6 @@
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
node-addon-api@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
@@ -7125,22 +7312,10 @@
resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
-node-notifier@^8.0.0:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5"
- integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==
- dependencies:
- growly "^1.3.0"
- is-wsl "^2.2.0"
- semver "^7.3.2"
- shellwords "^0.1.1"
- uuid "^8.3.0"
- which "^2.0.2"
-
node-releases@^1.1.71:
- version "1.1.71"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb"
- integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==
+ version "1.1.73"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
+ integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==
node-source-walk@^4.0.0, node-source-walk@^4.2.0:
version "4.2.0"
@@ -7149,7 +7324,7 @@
dependencies:
"@babel/parser" "^7.0.0"
-normalize-package-data@^2.3.2, normalize-package-data@^2.5.0:
+normalize-package-data@^2.3.2:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
@@ -7182,18 +7357,11 @@
sort-keys "^1.0.0"
normalize-url@^4.1.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
- integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
- dependencies:
- path-key "^2.0.0"
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+ integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
-npm-run-path@^4.0.0:
+npm-run-path@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
@@ -7237,10 +7405,10 @@
define-property "^0.2.5"
kind-of "^3.0.3"
-object-inspect@^1.9.0:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30"
- integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==
+object-inspect@^1.10.3, object-inspect@^1.9.0:
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369"
+ integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==
object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
@@ -7264,15 +7432,14 @@
has-symbols "^1.0.1"
object-keys "^1.1.1"
-object.entries@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6"
- integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==
+object.entries@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd"
+ integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==
dependencies:
- call-bind "^1.0.0"
+ call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
- has "^1.0.3"
+ es-abstract "^1.18.2"
object.fromentries@^2.0.4:
version "2.0.4"
@@ -7291,15 +7458,14 @@
dependencies:
isobject "^3.0.1"
-object.values@^1.1.1, object.values@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee"
- integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==
+object.values@^1.1.3, object.values@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30"
+ integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.2"
- has "^1.0.3"
+ es-abstract "^1.18.2"
oboe@2.1.5:
version "2.1.5"
@@ -7322,7 +7488,7 @@
dependencies:
wrappy "1"
-onetime@^5.1.0:
+onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
@@ -7367,10 +7533,10 @@
strip-ansi "^6.0.0"
wcwidth "^1.0.1"
-ora@^5.1.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.0.tgz#42eda4855835b9cd14d33864c97a3c95a3f56bf4"
- integrity sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==
+ora@^5.1.0, ora@^5.3.0:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18"
+ integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
dependencies:
bl "^4.1.0"
chalk "^4.1.0"
@@ -7506,12 +7672,13 @@
resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.3.tgz#5e8e7512383d140ba02f0c7aa9f49b4399c92515"
integrity sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==
-parse-json@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
- integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=
dependencies:
- error-ex "^1.2.0"
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
parse-json@^5.0.0:
version "5.2.0"
@@ -7542,11 +7709,6 @@
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
-
-path-dirname@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
- integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
path-exists@^3.0.0:
version "3.0.0"
@@ -7562,11 +7724,6 @@
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-key@^2.0.0, path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-key@^3.0.0, path-key@^3.1.0:
version "3.1.1"
@@ -7574,21 +7731,21 @@
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
- integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
-path-type@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
- integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
dependencies:
- pify "^2.0.0"
+ pify "^3.0.0"
path-type@^4.0.0:
version "4.0.0"
@@ -7617,15 +7774,20 @@
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
- integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
+ integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+
pify@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
@@ -7671,6 +7833,13 @@
dependencies:
find-up "^4.0.0"
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ dependencies:
+ find-up "^2.1.0"
+
pkg-up@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
@@ -7689,9 +7858,9 @@
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
postcss-selector-parser@^6.0.2:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz#042d74e137db83e6f294712096cb413f5aa612c4"
- integrity sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==
+ version "6.0.6"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea"
+ integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
@@ -7705,23 +7874,23 @@
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss@^7.0.14:
- version "7.0.35"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
- integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
+postcss@^7.0.36:
+ version "7.0.36"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb"
+ integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==
dependencies:
chalk "^2.4.2"
source-map "^0.6.1"
supports-color "^6.1.0"
postcss@^8.1.7:
- version "8.2.13"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.13.tgz#dbe043e26e3c068e45113b1ed6375d2d37e2129f"
- integrity sha512-FCE5xLH+hjbzRdpbRb1IMCvPv9yZx2QnDarBEYSN0N0HYk+TcXsEhwdFcFb+SRWOKzKGErhIEbBK2ogyLdTtfQ==
+ version "8.3.5"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.5.tgz#982216b113412bc20a86289e91eb994952a5b709"
+ integrity sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==
dependencies:
colorette "^1.2.2"
- nanoid "^3.1.22"
- source-map "^0.6.1"
+ nanoid "^3.1.23"
+ source-map-js "^0.6.2"
precinct@^7.0.0:
version "7.1.0"
@@ -7742,6 +7911,25 @@
module-definition "^3.3.1"
node-source-walk "^4.2.0"
+precinct@^8.0.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/precinct/-/precinct-8.1.0.tgz#6b8f2389ba2ca61c466731390b0d7e25da3fd996"
+ integrity sha512-oeZBR9IdER42Ef6Rz11z1oOUqicsI5J1Qffj6tYghKLhxN2UnHy7uE1axxNr0VZRevPK2HWkROk36uXrbJwHFA==
+ dependencies:
+ commander "^2.20.3"
+ debug "^4.3.1"
+ detective-amd "^3.0.1"
+ detective-cjs "^3.1.1"
+ detective-es6 "^2.2.0"
+ detective-less "^1.0.2"
+ detective-postcss "^4.0.0"
+ detective-sass "^3.0.1"
+ detective-scss "^2.0.1"
+ detective-stylus "^1.0.0"
+ detective-typescript "^7.0.0"
+ module-definition "^3.3.1"
+ node-source-walk "^4.2.0"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -7767,19 +7955,19 @@
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
-prettier@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
- integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
+prettier@^2.3.0:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz#76903c3f8c4449bc9ac597acefa24dc5ad4cbea6"
+ integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==
-pretty-format@^26.6.2:
- version "26.6.2"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
- integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
+pretty-format@^27.0.2:
+ version "27.0.2"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.2.tgz#9283ff8c4f581b186b2d4da461617143dca478a4"
+ integrity sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig==
dependencies:
- "@jest/types" "^26.6.2"
+ "@jest/types" "^27.0.2"
ansi-regex "^5.0.0"
- ansi-styles "^4.0.0"
+ ansi-styles "^5.0.0"
react-is "^17.0.1"
pretty-ms@^7.0.0:
@@ -7830,11 +8018,11 @@
react-is "^16.8.1"
proxy-addr@~2.0.5:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
- integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
+ version "2.0.7"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
dependencies:
- forwarded "~0.1.2"
+ forwarded "0.2.0"
ipaddr.js "1.9.1"
pseudomap@^1.0.2:
@@ -7975,41 +8163,22 @@
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
-read-pkg-up@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
- integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
+read-pkg-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07"
+ integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=
dependencies:
find-up "^2.0.0"
- read-pkg "^2.0.0"
-
-read-pkg-up@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507"
- integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==
- dependencies:
- find-up "^4.1.0"
- read-pkg "^5.2.0"
- type-fest "^0.8.1"
+ read-pkg "^3.0.0"
-read-pkg@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
- integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
+read-pkg@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
+ integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=
dependencies:
- load-json-file "^2.0.0"
+ load-json-file "^4.0.0"
normalize-package-data "^2.3.2"
- path-type "^2.0.0"
-
-read-pkg@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc"
- integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==
- dependencies:
- "@types/normalize-package-data" "^2.4.0"
- normalize-package-data "^2.5.0"
- parse-json "^5.0.0"
- type-fest "^0.6.0"
+ path-type "^3.0.0"
read@^1.0.7:
version "1.0.7"
@@ -8056,6 +8225,13 @@
dependencies:
picomatch "^2.2.1"
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@@ -8104,9 +8280,9 @@
define-properties "^1.1.3"
regexpp@^3.0.0, regexpp@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
- integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+ integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
regexpu-core@^4.7.1:
version "4.7.1"
@@ -8166,22 +8342,6 @@
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
-request-promise-core@1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
- integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==
- dependencies:
- lodash "^4.17.19"
-
-request-promise-native@^1.0.9:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28"
- integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
- dependencies:
- request-promise-core "1.1.4"
- stealthy-require "^1.1.1"
- tough-cookie "^2.3.3"
-
request@^2.79.0, request@^2.88.2:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
@@ -8217,11 +8377,6 @@
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
requirejs-config-file@^4.0.0:
version "4.0.0"
@@ -8268,7 +8423,7 @@
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.3.2:
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -8331,11 +8486,6 @@
dependencies:
bn.js "^4.11.1"
-rsvp@^4.8.4:
- version "4.8.5"
- resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734"
- integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==
-
run-async@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
@@ -8348,7 +8498,7 @@
dependencies:
queue-microtask "^1.2.2"
-rxjs@^6.6.0, rxjs@^6.6.7:
+rxjs@^6.6.6, rxjs@^6.6.7:
version "6.6.7"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
@@ -8376,21 +8526,6 @@
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sane@^4.0.3:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded"
- integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==
- dependencies:
- "@cnakazawa/watch" "^1.0.3"
- anymatch "^2.0.0"
- capture-exit "^2.0.0"
- exec-sh "^0.3.2"
- execa "^1.0.0"
- fb-watchman "^2.0.0"
- micromatch "^3.1.4"
- minimist "^1.1.1"
- walker "~1.0.5"
sass-lookup@^3.0.0:
version "3.0.0"
@@ -8432,7 +8567,7 @@
dependencies:
semver "^6.3.0"
-"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0:
+"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.6.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -8447,7 +8582,7 @@
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-semver@^7.2.1, semver@^7.3.2, semver@^7.3.4:
+semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
version "7.3.5"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
@@ -8500,11 +8635,6 @@
express "^4.14.0"
request "^2.79.0"
xhr "^2.3.3"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
set-value@^2.0.0, set-value@^2.0.1:
version "2.0.1"
@@ -8541,24 +8671,12 @@
dependencies:
kind-of "^6.0.2"
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
- dependencies:
- shebang-regex "^1.0.0"
-
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
dependencies:
shebang-regex "^3.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
shebang-regex@^3.0.0:
version "3.0.0"
@@ -8573,11 +8691,6 @@
glob "^7.0.0"
interpret "^1.0.0"
rechoir "^0.6.2"
-
-shellwords@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
- integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
side-channel@^1.0.4:
version "1.0.4"
@@ -8588,7 +8701,7 @@
get-intrinsic "^1.0.2"
object-inspect "^1.9.0"
-signal-exit@^3.0.0, signal-exit@^3.0.2:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
@@ -8684,6 +8797,11 @@
dependencies:
is-plain-obj "^2.0.0"
+source-map-js@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e"
+ integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==
+
source-map-resolve@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -8745,9 +8863,9 @@
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.7"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65"
- integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f"
+ integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==
speedometer@~1.0.0:
version "1.0.0"
@@ -8781,7 +8899,7 @@
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
-stack-utils@^2.0.2:
+stack-utils@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277"
integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==
@@ -8800,11 +8918,6 @@
version "1.5.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-
-stealthy-require@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
- integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
stream-shift@^1.0.0:
version "1.0.1"
@@ -8859,15 +8972,16 @@
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.0"
-string.prototype.matchall@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29"
- integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ==
+string.prototype.matchall@^4.0.5:
+ version "4.0.5"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da"
+ integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==
dependencies:
call-bind "^1.0.2"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.2"
- has-symbols "^1.0.1"
+ es-abstract "^1.18.2"
+ get-intrinsic "^1.1.1"
+ has-symbols "^1.0.2"
internal-slot "^1.0.3"
regexp.prototype.flags "^1.3.1"
side-channel "^1.0.4"
@@ -8948,11 +9062,6 @@
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-final-newline@^2.0.0:
version "2.0.0"
@@ -8996,7 +9105,7 @@
commander "^2.8.1"
debug "^4.1.0"
-supports-color@8.1.1:
+supports-color@8.1.1, supports-color@^8.0.0:
version "8.1.1"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
@@ -9054,14 +9163,13 @@
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-table@^6.0.4:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/table/-/table-6.6.0.tgz#905654b79df98d9e9a973de1dd58682532c40e8e"
- integrity sha512-iZMtp5tUvcnAdtHpZTWLPF0M7AgiQsURR2DwmxnJwSy8I3+cY+ozzVvYha3BOLG2TB+L0CqjIz+91htuj6yCXg==
+table@^6.0.9:
+ version "6.7.1"
+ resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
+ integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==
dependencies:
ajv "^8.0.1"
lodash.clonedeep "^4.5.0"
- lodash.flatten "^4.4.0"
lodash.truncate "^4.4.2"
slice-ansi "^4.0.0"
string-width "^4.2.0"
@@ -9112,10 +9220,10 @@
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
-throat@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
- integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
+throat@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
+ integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
through2@~2.0.3:
version "2.0.5"
@@ -9194,14 +9302,6 @@
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-tough-cookie@^2.3.3, tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
tough-cookie@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4"
@@ -9211,10 +9311,18 @@
punycode "^2.1.1"
universalify "^0.1.2"
-tr46@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479"
- integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+tr46@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
+ integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==
dependencies:
punycode "^2.1.1"
@@ -9278,7 +9386,7 @@
dependencies:
tslib "^1.8.1"
-tsutils@^3.17.1:
+tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
@@ -9336,11 +9444,6 @@
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
-type-fest@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
- integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
-
type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
@@ -9367,26 +9470,26 @@
is-typedarray "^1.0.0"
typescript@^3.9.5, typescript@^3.9.7:
- version "3.9.9"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674"
- integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==
+ version "3.9.10"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8"
+ integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==
-typescript@^4.2.4:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961"
- integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==
+typescript@^4.2.4, typescript@^4.3.2:
+ version "4.3.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc"
+ integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==
uglify-js@^3.1.4:
- version "3.13.4"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.4.tgz#592588bb9f47ae03b24916e2471218d914955574"
- integrity sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==
+ version "3.13.9"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.9.tgz#4d8d21dcd497f29cfd8e9378b9df123ad025999b"
+ integrity sha512-wZbyTQ1w6Y7fHdt8sJnHfSIuWeDgk6B5rCb4E/AM6QNNPbOMIZph21PW5dRB3h7Df0GszN+t7RuUH6sWK5bF0g==
ultron@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
-unbox-primitive@^1.0.0:
+unbox-primitive@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
@@ -9396,10 +9499,10 @@
has-symbols "^1.0.2"
which-boxed-primitive "^1.0.2"
-underscore@1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961"
- integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==
+underscore@1.12.1:
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e"
+ integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
@@ -9541,9 +9644,9 @@
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
utf-8-validate@^5.0.2:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.4.tgz#72a1735983ddf7a05a43a9c6b67c5ce1c910f9b8"
- integrity sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.5.tgz#dd32c2e82c72002dc9f02eb67ba6761f43456ca1"
+ integrity sha512-+pnxRYsS/axEpkrrEpzYfNZGXp0IjC/9RIxwM5gntY4Koi8SHmUGSfxfWqxZdRxrtaoVstuOzUp/rbs3JSPELQ==
dependencies:
node-gyp-build "^4.2.0"
@@ -9563,9 +9666,9 @@
integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=
util@^0.12.0:
- version "0.12.3"
- resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888"
- integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==
+ version "0.12.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253"
+ integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==
dependencies:
inherits "^2.0.3"
is-arguments "^1.0.4"
@@ -9588,11 +9691,6 @@
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
-uuid@^8.3.0:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
v8-compile-cache@^2.0.3:
version "2.3.0"
@@ -9600,9 +9698,9 @@
integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
v8-to-istanbul@^7.0.0:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.1.tgz#04bfd1026ba4577de5472df4f5e89af49de5edda"
- integrity sha512-p0BB09E5FRjx0ELN6RgusIPsSPhtgexSRcKETybEs6IGOTXJSZqfwxp7r//55nnu0f1AxltY5VvdVqy2vZf9AA==
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1"
+ integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.1"
convert-source-map "^1.6.0"
@@ -9659,7 +9757,7 @@
resolved "https://registry.yarnpkg.com/walkdir/-/walkdir-0.4.1.tgz#dc119f83f4421df52e3061e514228a2db20afa39"
integrity sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==
-walker@^1.0.7, walker@~1.0.5:
+walker@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
@@ -9673,223 +9771,223 @@
dependencies:
defaults "^1.0.3"
-web3-bzz@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.3.5.tgz#f181a1319d9f867f4183b147e7aebd21aecff4a0"
- integrity sha512-XiEUAbB1uKm/agqfwBsCW8fbw+sma85TfwuDpdcy591vinVk0S9TfWgLxro6v1KJ6nSELySIbKGbAJbh2GSyxw==
+web3-bzz@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.3.6.tgz#95f370aecc3ff6ad07f057e6c0c916ef09b04dde"
+ integrity sha512-ibHdx1wkseujFejrtY7ZyC0QxQ4ATXjzcNUpaLrvM6AEae8prUiyT/OloG9FWDgFD2CPLwzKwfSQezYQlANNlw==
dependencies:
"@types/node" "^12.12.6"
got "9.6.0"
swarm-js "^0.1.40"
- underscore "1.9.1"
+ underscore "1.12.1"
-web3-core-helpers@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.3.5.tgz#9f0ff7ed40befb9f691986e66fd94c828c7b1b13"
- integrity sha512-HYh3ix5FjysgT0jyzD8s/X5ym0b4BGU7I2QtuBiydMnE0mQEWy7GcT9XKpTySA8FTOHHIAQYvQS07DN/ky3UzA==
+web3-core-helpers@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.3.6.tgz#c478246a9abe4e5456acf42657dac2f7c330be74"
+ integrity sha512-nhtjA2ZbkppjlxTSwG0Ttu6FcPkVu1rCN5IFAOVpF/L0SEt+jy+O5l90+cjDq0jAYvlBwUwnbh2mR9hwDEJCNA==
dependencies:
- underscore "1.9.1"
- web3-eth-iban "1.3.5"
- web3-utils "1.3.5"
+ underscore "1.12.1"
+ web3-eth-iban "1.3.6"
+ web3-utils "1.3.6"
-web3-core-method@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.3.5.tgz#995fe12f3b364469e5208a88d72736327b231faa"
- integrity sha512-hCbmgQ+At6OTuaNGAdjXMsCr4eUCmp9yGKSuaB5HdkNVDpqFso4HHjVxcjNrTyJp3OZnyjKBzQzK1ZWLpLl84Q==
+web3-core-method@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.3.6.tgz#4b0334edd94b03dfec729d113c69a4eb6ebc68ae"
+ integrity sha512-RyegqVGxn0cyYW5yzAwkPlsSEynkdPiegd7RxgB4ak1eKk2Cv1q2x4C7D2sZjeeCEF+q6fOkVmo2OZNqS2iQxg==
dependencies:
"@ethersproject/transactions" "^5.0.0-beta.135"
- underscore "1.9.1"
- web3-core-helpers "1.3.5"
- web3-core-promievent "1.3.5"
- web3-core-subscriptions "1.3.5"
- web3-utils "1.3.5"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
+ web3-core-promievent "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-utils "1.3.6"
-web3-core-promievent@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.3.5.tgz#33c34811cc4e2987c56e5192f9a014368c42ca39"
- integrity sha512-K0j8x3ZJr0eAyNvyUCxOUsSTd4hco0/9nxxlyOuijcsa6YV8l9NL6eqhniWbSyxCJT8ka5Mb7yAiUZe69EDLBQ==
+web3-core-promievent@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.3.6.tgz#6c27dc79de8f71b74f5d17acaf9aaf593d3cb0c9"
+ integrity sha512-Z+QzfyYDTXD5wJmZO5wwnRO8bAAHEItT1XNSPVb4J1CToV/I/SbF7CuF8Uzh2jns0Cm1109o666H7StFFvzVKw==
dependencies:
eventemitter3 "4.0.4"
-web3-core-requestmanager@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.3.5.tgz#c452ea85fcffdf5b82b84c250707b638790d0e75"
- integrity sha512-9l294U3Ga8qmvv8E37BqjQREfMs+kFnkU3PY28g9DZGYzKvl3V1dgDYqxyrOBdCFhc7rNSpHdgC4PrVHjouspg==
+web3-core-requestmanager@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.3.6.tgz#4fea269fe913fd4fca464b4f7c65cb94857b5b2a"
+ integrity sha512-2rIaeuqeo7QN1Eex7aXP0ZqeteJEPWXYFS/M3r3LXMiV8R4STQBKE+//dnHJXoo2ctzEB5cgd+7NaJM8S3gPyA==
dependencies:
- underscore "1.9.1"
+ underscore "1.12.1"
util "^0.12.0"
- web3-core-helpers "1.3.5"
- web3-providers-http "1.3.5"
- web3-providers-ipc "1.3.5"
- web3-providers-ws "1.3.5"
+ web3-core-helpers "1.3.6"
+ web3-providers-http "1.3.6"
+ web3-providers-ipc "1.3.6"
+ web3-providers-ws "1.3.6"
-web3-core-subscriptions@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.3.5.tgz#7c4dc9d559e344d852de2cf01bd0cc13c94023cb"
- integrity sha512-6mtXdaEB1V1zKLqYBq7RF2W75AK5ZJNGpW6QYC7Zvbku7zq1ZlgaUkJo88JKMWJ7etfaHaYqQ/7VveHk5sQynA==
+web3-core-subscriptions@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.3.6.tgz#ee24e7974d1d72ff6c992c599deba4ef9b308415"
+ integrity sha512-wi9Z9X5X75OKvxAg42GGIf81ttbNR2TxzkAsp1g+nnp5K8mBwgZvXrIsDuj7Z7gx72Y45mWJADCWjk/2vqNu8g==
dependencies:
eventemitter3 "4.0.4"
- underscore "1.9.1"
- web3-core-helpers "1.3.5"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
-web3-core@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.3.5.tgz#1e9335e6c4549dac09aaa07157242ebd6d097226"
- integrity sha512-VQjTvnGTqJwDwjKEHSApea3RmgtFGLDSJ6bqrOyHROYNyTyKYjFQ/drG9zs3rjDkND9mgh8foI1ty37Qua3QCQ==
+web3-core@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.3.6.tgz#a6a761d1ff2f3ee462b8dab679229d2f8e267504"
+ integrity sha512-gkLDM4T1Sc0T+HZIwxrNrwPg0IfWI0oABSglP2X5ZbBAYVUeEATA0o92LWV8BeF+okvKXLK1Fek/p6axwM/h3Q==
dependencies:
"@types/bn.js" "^4.11.5"
"@types/node" "^12.12.6"
bignumber.js "^9.0.0"
- web3-core-helpers "1.3.5"
- web3-core-method "1.3.5"
- web3-core-requestmanager "1.3.5"
- web3-utils "1.3.5"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-requestmanager "1.3.6"
+ web3-utils "1.3.6"
-web3-eth-abi@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.3.5.tgz#eeffab0a4b318c47b8777de90983ca45614f8173"
- integrity sha512-bkbG2v/mOW5DH6rF/SEgqunusjYoEi2IBw+fkmD3rzWDaEY7+/i1xY94AeO257d06QMgld75GtV/N+aEs7A6vQ==
+web3-eth-abi@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.3.6.tgz#4272ca48d817aa651bbf97b269f5ff10abc2b8a9"
+ integrity sha512-Or5cRnZu6WzgScpmbkvC6bfNxR26hqiKK4i8sMPFeTUABQcb/FU3pBj7huBLYbp9dH+P5W79D2MqwbWwjj9DoQ==
dependencies:
"@ethersproject/abi" "5.0.7"
- underscore "1.9.1"
- web3-utils "1.3.5"
+ underscore "1.12.1"
+ web3-utils "1.3.6"
-web3-eth-accounts@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.3.5.tgz#c23ee748759a6a06d6485a9322b106baa944dcdd"
- integrity sha512-r3WOR21rgm6Cd6OFnifr3Tizdm5K+g2TsSOPySwX4FrgLrYDL6ck4zr5VXUPz+llpSExb/JztpE8pqEHr3U2NA==
+web3-eth-accounts@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.3.6.tgz#f9fcb50b28ee58090ab292a10d996155caa2b474"
+ integrity sha512-Ilr0hG6ONbCdSlVKffasCmNwftD5HsNpwyQASevocIQwHdTlvlwO0tb3oGYuajbKOaDzNTwXfz25bttAEoFCGA==
dependencies:
crypto-browserify "3.12.0"
eth-lib "0.2.8"
ethereumjs-common "^1.3.2"
ethereumjs-tx "^2.1.1"
scrypt-js "^3.0.1"
- underscore "1.9.1"
+ underscore "1.12.1"
uuid "3.3.2"
- web3-core "1.3.5"
- web3-core-helpers "1.3.5"
- web3-core-method "1.3.5"
- web3-utils "1.3.5"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-utils "1.3.6"
-web3-eth-contract@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.3.5.tgz#b41ecf8612b379c4fb1c614e950135717aa8f919"
- integrity sha512-WfGVeQquN3D7Qm+KEIN9EI7yrm/fL2V9Y4+YhDWiKA/ns1pX1LYcEWojTOnBXCnPF3tcvoKKL+KBxXg1iKm38A==
+web3-eth-contract@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.3.6.tgz#cccf4d32dc56917fb6923e778498a9ba2a5ba866"
+ integrity sha512-8gDaRrLF2HCg+YEZN1ov0zN35vmtPnGf3h1DxmJQK5Wm2lRMLomz9rsWsuvig3UJMHqZAQKD7tOl3ocJocQsmA==
dependencies:
"@types/bn.js" "^4.11.5"
- underscore "1.9.1"
- web3-core "1.3.5"
- web3-core-helpers "1.3.5"
- web3-core-method "1.3.5"
- web3-core-promievent "1.3.5"
- web3-core-subscriptions "1.3.5"
- web3-eth-abi "1.3.5"
- web3-utils "1.3.5"
+ underscore "1.12.1"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-promievent "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-eth-abi "1.3.6"
+ web3-utils "1.3.6"
-web3-eth-ens@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.3.5.tgz#5a28d23eb402fb1f6964da60ea60641e4d24d366"
- integrity sha512-5bkpFTXV18CvaVP8kCbLZZm2r1TWUv9AsXH+80yz8bTZulUGvXsBMRfK6e5nfEr2Yv59xlIXCFoalmmySI9EJw==
+web3-eth-ens@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.3.6.tgz#0d28c5d4ea7b4462ef6c077545a77956a6cdf175"
+ integrity sha512-n27HNj7lpSkRxTgSx+Zo7cmKAgyg2ElFilaFlUu/X2CNH23lXfcPm2bWssivH9z0ndhg0OyR4AYFZqPaqDHkJA==
dependencies:
content-hash "^2.5.2"
eth-ens-namehash "2.0.8"
- underscore "1.9.1"
- web3-core "1.3.5"
- web3-core-helpers "1.3.5"
- web3-core-promievent "1.3.5"
- web3-eth-abi "1.3.5"
- web3-eth-contract "1.3.5"
- web3-utils "1.3.5"
+ underscore "1.12.1"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-promievent "1.3.6"
+ web3-eth-abi "1.3.6"
+ web3-eth-contract "1.3.6"
+ web3-utils "1.3.6"
-web3-eth-iban@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.3.5.tgz#dff1e37864e23a3387016ec4db96cdc290a6fbd6"
- integrity sha512-x+BI/d2Vt0J1cKK8eFd4W0f1TDjgEOYCwiViTb28lLE+tqrgyPqWDA+l6UlKYLF/yMFX3Dym4ofcCOtgcn4q4g==
+web3-eth-iban@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.3.6.tgz#0d6ba21fe78f190af8919e9cd5453882457209e0"
+ integrity sha512-nfMQaaLA/zsg5W4Oy/EJQbs8rSs1vBAX6b/35xzjYoutXlpHMQadujDx2RerTKhSHqFXSJeQAfE+2f6mdhYkRQ==
dependencies:
bn.js "^4.11.9"
- web3-utils "1.3.5"
+ web3-utils "1.3.6"
-web3-eth-personal@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.3.5.tgz#bc5d5b900bc4824139af2ef01eaf8e9855c644ba"
- integrity sha512-xELQHNZ8p3VoO1582ghCaq+Bx7pSkOOalc6/ACOCGtHDMelqgVejrmSIZGScYl+k0HzngmQAzURZWQocaoGM1g==
+web3-eth-personal@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.3.6.tgz#226137916754c498f0284f22c55924c87a2efcf0"
+ integrity sha512-pOHU0+/h1RFRYoh1ehYBehRbcKWP4OSzd4F7mDljhHngv6W8ewMHrAN8O1ol9uysN2MuCdRE19qkRg5eNgvzFQ==
dependencies:
"@types/node" "^12.12.6"
- web3-core "1.3.5"
- web3-core-helpers "1.3.5"
- web3-core-method "1.3.5"
- web3-net "1.3.5"
- web3-utils "1.3.5"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-net "1.3.6"
+ web3-utils "1.3.6"
-web3-eth@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.3.5.tgz#2a3d0db870ef7921942a5d798ba0569175cc4de1"
- integrity sha512-5qqDPMMD+D0xRqOV2ePU2G7/uQmhn0FgCEhFzKDMHrssDQJyQLW/VgfA0NLn64lWnuUrGnQStGvNxrWf7MgsfA==
+web3-eth@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.3.6.tgz#2c650893d540a7a0eb1365dd5b2dca24ac919b7c"
+ integrity sha512-9+rnywRRpyX3C4hfsAQXPQh6vHh9XzQkgLxo3gyeXfbhbShUoq2gFVuy42vsRs//6JlsKdyZS7Z3hHPHz2wreA==
dependencies:
- underscore "1.9.1"
- web3-core "1.3.5"
- web3-core-helpers "1.3.5"
- web3-core-method "1.3.5"
- web3-core-subscriptions "1.3.5"
- web3-eth-abi "1.3.5"
- web3-eth-accounts "1.3.5"
- web3-eth-contract "1.3.5"
- web3-eth-ens "1.3.5"
- web3-eth-iban "1.3.5"
- web3-eth-personal "1.3.5"
- web3-net "1.3.5"
- web3-utils "1.3.5"
+ underscore "1.12.1"
+ web3-core "1.3.6"
+ web3-core-helpers "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-eth-abi "1.3.6"
+ web3-eth-accounts "1.3.6"
+ web3-eth-contract "1.3.6"
+ web3-eth-ens "1.3.6"
+ web3-eth-iban "1.3.6"
+ web3-eth-personal "1.3.6"
+ web3-net "1.3.6"
+ web3-utils "1.3.6"
-web3-net@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.3.5.tgz#06e3465a9fbbeec1240160e2fd66ddb07b6af944"
- integrity sha512-usbFbuUpKK8s7jPLGoUzi/WpNnefGFPTj948aJv8BZ04UQA4L/XS5NNkkhk358zNMmhGfEFW8wrWy+0Oy0njtA==
+web3-net@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.3.6.tgz#a56492e2227475e38db29394f8bac305a2446e41"
+ integrity sha512-KhzU3wMQY/YYjyMiQzbaLPt2kut88Ncx2iqjy3nw28vRux3gVX0WOCk9EL/KVJBiAA/fK7VklTXvgy9dZnnipw==
dependencies:
- web3-core "1.3.5"
- web3-core-method "1.3.5"
- web3-utils "1.3.5"
+ web3-core "1.3.6"
+ web3-core-method "1.3.6"
+ web3-utils "1.3.6"
-web3-providers-http@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.3.5.tgz#cdada6fb342e08fd75aea249fceb6eee467beffc"
- integrity sha512-ZQOmceFjcajEZdiuqciXjijwIYWNmEJ1oxMtbrwB2eGxHRCMXEH2xGRUZuhOFNF88yQC/VXVi14yvYg5ZlFJlA==
+web3-providers-http@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.3.6.tgz#36e8724a7424d52827819d53fd75dbf31f5422c2"
+ integrity sha512-OQkT32O1A06dISIdazpGLveZcOXhEo5cEX6QyiSQkiPk/cjzDrXMw4SKZOGQbbS1+0Vjizm1Hrp7O8Vp2D1M5Q==
dependencies:
- web3-core-helpers "1.3.5"
+ web3-core-helpers "1.3.6"
xhr2-cookies "1.1.0"
-web3-providers-ipc@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.3.5.tgz#2f5536abfe03f3824e00dedc614d8f46db72b57f"
- integrity sha512-cbZOeb/sALiHjzMolJjIyHla/J5wdL2JKUtRO66Nh/uLALBCpU8JUgzNvpAdJ1ae3+A33+EdFStdzuDYHKtQew==
+web3-providers-ipc@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.3.6.tgz#cef8d12c1ebb47adce5ebf597f553c623362cb4a"
+ integrity sha512-+TVsSd2sSVvVgHG4s6FXwwYPPT91boKKcRuEFXqEfAbUC5t52XOgmyc2LNiD9LzPhed65FbV4LqICpeYGUvSwA==
dependencies:
oboe "2.1.5"
- underscore "1.9.1"
- web3-core-helpers "1.3.5"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
-web3-providers-ws@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.3.5.tgz#7f841ec79358d90c4a803d1291157b5ffb15aeb7"
- integrity sha512-zeZ4LMvKhYaJBDCqA//Bzgp4r/T0tNq5U/xvN0axA4YflzF7yqlsbzGwCkcZYDbrUaK3Ltl2uOmvwjbWALOZ1A==
+web3-providers-ws@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.3.6.tgz#e1df617bc89d66165abdf2191da0014c505bfaac"
+ integrity sha512-bk7MnJf5or0Re2zKyhR3L3CjGululLCHXx4vlbc/drnaTARUVvi559OI5uLytc/1k5HKUUyENAxLvetz2G1dnQ==
dependencies:
eventemitter3 "4.0.4"
- underscore "1.9.1"
- web3-core-helpers "1.3.5"
+ underscore "1.12.1"
+ web3-core-helpers "1.3.6"
websocket "^1.0.32"
-web3-shh@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.3.5.tgz#af0b8ebca90a3652dbbb90d351395f36ca91f40b"
- integrity sha512-aRwzCduXvuGVslLL/Y15VcOHa70Qr2kxZI7UwOzQVhaaOdxuRRvo3AK/cmyln1Tsd54/n93Yk8I3qg5I2+6alw==
+web3-shh@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.3.6.tgz#4e3486c7eca5cbdb87f88910948223a5b7ea6c20"
+ integrity sha512-9zRo415O0iBslxBnmu9OzYjNErzLnzOsy+IOvSpIreLYbbAw0XkDWxv3SfcpKnTIWIACBR4AYMIxmmyi5iB3jw==
dependencies:
- web3-core "1.3.5"
- web3-core-method "1.3.5"
- web3-core-subscriptions "1.3.5"
- web3-net "1.3.5"
+ web3-core "1.3.6"
+ web3-core-method "1.3.6"
+ web3-core-subscriptions "1.3.6"
+ web3-net "1.3.6"
-web3-utils@1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.5.tgz#14ee2ff1a7a226867698d6eaffd21aa97aed422e"
- integrity sha512-5apMRm8ElYjI/92GHqijmaLC+s+d5lgjpjHft+rJSs/dsnX8I8tQreqev0dmU+wzU+2EEe4Sx9a/OwGWHhQv3A==
+web3-utils@1.3.6:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.6.tgz#390bc9fa3a7179746963cfaca55bb80ac4d8dc10"
+ integrity sha512-hHatFaQpkQgjGVER17gNx8u1qMyaXFZtM0y0XLGH1bzsjMPlkMPLRcYOrZ00rOPfTEuYFOdrpGOqZXVmGrMZRg==
dependencies:
bn.js "^4.11.9"
eth-lib "0.2.8"
@@ -9897,21 +9995,21 @@
ethjs-unit "0.1.6"
number-to-bn "1.7.0"
randombytes "^2.1.0"
- underscore "1.9.1"
+ underscore "1.12.1"
utf8 "3.0.0"
web3@^1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.5.tgz#ef4c3a2241fdd74f2f7794e839f30bc6f9814e46"
- integrity sha512-UyQW/MT5EIGBrXPCh/FDIaD7RtJTn5/rJUNw2FOglp0qoXnCQHNKvntiR1ylztk05fYxIF6UgsC76IrazlKJjw==
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.6.tgz#599425461c3f9a8cbbefa70616438995f4a064cc"
+ integrity sha512-jEpPhnL6GDteifdVh7ulzlPrtVQeA30V9vnki9liYlUvLV82ZM7BNOQJiuzlDePuE+jZETZSP/0G/JlUVt6pOA==
dependencies:
- web3-bzz "1.3.5"
- web3-core "1.3.5"
- web3-eth "1.3.5"
- web3-eth-personal "1.3.5"
- web3-net "1.3.5"
- web3-shh "1.3.5"
- web3-utils "1.3.5"
+ web3-bzz "1.3.6"
+ web3-core "1.3.6"
+ web3-eth "1.3.6"
+ web3-eth-personal "1.3.6"
+ web3-net "1.3.6"
+ web3-shh "1.3.6"
+ web3-utils "1.3.6"
webidl-conversions@^5.0.0:
version "5.0.0"
@@ -9948,12 +10046,12 @@
integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
whatwg-url@^8.0.0, whatwg-url@^8.5.0:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3"
- integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==
+ version "8.6.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz#27c0205a4902084b872aecb97cf0f2a7a3011f4c"
+ integrity sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw==
dependencies:
lodash "^4.7.0"
- tr46 "^2.0.2"
+ tr46 "^2.1.0"
webidl-conversions "^6.1.0"
which-boxed-primitive@^1.0.2:
@@ -9967,11 +10065,6 @@
is-string "^1.0.5"
is-symbol "^1.0.3"
-which-module@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
- integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
-
which-typed-array@^1.1.2:
version "1.1.4"
resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff"
@@ -9985,20 +10078,13 @@
has-symbols "^1.0.1"
is-typed-array "^1.1.3"
-which@2.0.2, which@^2.0.1, which@^2.0.2:
+which@2.0.2, which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
-which@^1.2.9:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
wide-align@1.1.3, wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@@ -10027,15 +10113,6 @@
version "6.1.0"
resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b"
integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==
-
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
wrap-ansi@^7.0.0:
version "7.0.0"
@@ -10082,10 +10159,10 @@
safe-buffer "~5.1.0"
ultron "~1.1.0"
-ws@^7.4.4:
- version "7.4.5"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1"
- integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==
+ws@^7.4.5:
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691"
+ integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw==
xdg-basedir@^4.0.0:
version "4.0.0"
@@ -10151,11 +10228,6 @@
dependencies:
cuint "^0.2.2"
-y18n@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
- integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
-
y18n@^5.0.5:
version "5.0.8"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
@@ -10186,14 +10258,6 @@
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54"
integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==
-yargs-parser@^18.1.2:
- version "18.1.3"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
- integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
yargs-parser@^20.2.2:
version "20.2.7"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
@@ -10209,7 +10273,7 @@
flat "^5.0.2"
is-plain-obj "^2.1.0"
-yargs@16.2.0, yargs@^16.0.3, yargs@^16.2.0:
+yargs@16.2.0, yargs@^16.0.3:
version "16.2.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
@@ -10222,22 +10286,18 @@
y18n "^5.0.5"
yargs-parser "^20.2.2"
-yargs@^15.4.1:
- version "15.4.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
- integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
+yargs@^17.0.0, yargs@^17.0.1:
+ version "17.0.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb"
+ integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==
dependencies:
- cliui "^6.0.0"
- decamelize "^1.2.0"
- find-up "^4.1.0"
- get-caller-file "^2.0.1"
+ cliui "^7.0.2"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
string-width "^4.2.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^18.1.2"
+ y18n "^5.0.5"
+ yargs-parser "^20.2.2"
yn@3.1.1:
version "3.1.1"