diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c9cd904 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +PINATA_API_KEY='your-pinata-api-key' +PINATA_SECRET_API_KEY='your-pinata-secret-api-key' \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8d87b1d..9e2faf3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ node_modules/* + +.env \ No newline at end of file diff --git a/data/collection.json b/data/collection.json new file mode 100644 index 0000000..8a8f934 --- /dev/null +++ b/data/collection.json @@ -0,0 +1,7 @@ +{ + "name": "CollectionName", + "metadata_base_uri": "ipfs", + "royalties_schedule": { + "entitlements": [[0, 5]] + } +} diff --git a/data/mass-drop.json b/data/mass-drop.json new file mode 100644 index 0000000..6415f52 --- /dev/null +++ b/data/mass-drop.json @@ -0,0 +1,13 @@ +{ + "price": 10, + "asset_id": 0, + "max_supply": 50, + "transaction_limit": 5, + "activation_time": 3000, + "pre_sale": { + "price": 5, + "transaction_limit": 1, + "activation_time": 2500, + "max_supply": 10 + } +} diff --git a/data/mint-series.json b/data/mint-series.json new file mode 100644 index 0000000..6629602 --- /dev/null +++ b/data/mint-series.json @@ -0,0 +1,9 @@ +{ + "collection_id": 0, + "quantity": 0, + "owner_address": "OwnerAddress", + "attributes": [{ "Text": "temp-attribute" }], + "royalties_schedule": { + "entitlements": [[0, 5]] + } +} diff --git a/package.json b/package.json index 291d36c..015eb03 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,8 @@ "license": "ISC", "dependencies": { "@cennznet/api": "1.5.0-alpha.4", + "@pinata/sdk": "^1.1.23", + "dotenv": "^10.0.0", "minimist": "^1.2.5" }, "resolutions": { diff --git a/scripts/create-asset.js b/scripts/create-asset.js index f79b0e3..895d606 100644 --- a/scripts/create-asset.js +++ b/scripts/create-asset.js @@ -1,6 +1,6 @@ // Example create a new generic asset let keys = new keyring.Keyring({'type': 'sr25519'}); -let ownerAddress = '5FWEHQqYMN8YCg8yJxKHnon7Dtx4Psp2xnjvKfQqGC6kUwgv'; +let ownerAddress = '5DVHuiWPrWomw1GxgXx6XuDCURPdDcv6YjLchobf156kwnZx'; let sudoKey = keys.addFromUri('//YourSudoKey'); // 1 million tokens with 18dp diff --git a/scripts/mass-drop.js b/scripts/mass-drop.js new file mode 100644 index 0000000..71c9381 --- /dev/null +++ b/scripts/mass-drop.js @@ -0,0 +1,49 @@ +dotenv.config(); +const pinata = pinataSDK( + process.env.PINATA_API_KEY, + process.env.PINATA_SECRET_API_KEY +); +const keys = new keyring.Keyring({ type: "sr25519" }); +const sudoKey = keys.addFromUri("//YourSudoKey"); + +// Create collection +// Edit fields in data/collection.json +let rawData = fs.readFileSync("./data/collection.json"); +const collectionData = JSON.parse(rawData); + +await api.tx.nft + .createCollection( + collectionData.name, + collectionData.metadata_base_uri, + collectionData.royalties_schedule + ) + .signAndSend(sudoKey); + +// Mass drop +// Edit fields in data/mint-series.json and data/mass-drop.json +rawData = fs.readFileSync("./data/mint-series.json"); +const mintSeriesData = JSON.parse(rawData); + +rawData = fs.readFileSync("./data/mass-drop.json"); +const massDropData = JSON.parse(rawData); + +const metadata = { + name: collectionData.name, + collectionId: mintSeriesData.collection_id, + ownerAddress: mintSeriesData.owner_address, + attributes: mintSeriesData.attributes, +}; + +const pin = await pinata.pinJSONToIPFS(metadata); + +await api.tx.nft + .mintSeries( + mintSeriesData.collection_id, + mintSeriesData.quantity, + mintSeriesData.owner_address, + mintSeriesData.attributes, + pin.IpfsHash, + mintSeriesData.royalties_schedule, + { ...massDropData } + ) + .signAndSend(sudoKey); diff --git a/src/index.js b/src/index.js index 8a57fb6..ce809d0 100644 --- a/src/index.js +++ b/src/index.js @@ -1,19 +1,21 @@ import minimist from 'minimist'; -import {Api, WsProvider } from '@cennznet/api'; +import { Api, WsProvider } from '@cennznet/api'; import repl from 'repl'; import fs from 'fs'; import keyring from '../node_modules/@polkadot/keyring/index.js'; import * as utilCrypto from '../node_modules/@polkadot/util-crypto/index.js'; import * as utils from '../node_modules/@polkadot/util/index.js'; +import dotenv from 'dotenv'; +import pinataSDK from '@pinata/sdk'; const args = minimist(process.argv.slice(2)); async function setup() { let endpoint = 'ws://localhost:9944'; if (args.endpoint) { - if(args.endpoint === 'mainnet') { + if (args.endpoint === 'mainnet') { args.endpoint = 'wss://cennznet.unfrastructure.io/public/ws'; - } else if(args.endpoint === 'nikau') { + } else if (args.endpoint === 'nikau') { args.endpoint = 'wss://nikau.centrality.me/public/ws'; } endpoint = args.endpoint; @@ -33,7 +35,7 @@ async function setup() { // Setup API session let provider = new WsProvider(endpoint, 10); console.log(`connecting to: ${endpoint}...`); - global.api = await Api.create({ provider: endpoint, types }) + global.api = await Api.create({ provider: endpoint, types }); console.log(`connected ✅`); // Setup injected helper libs / functions @@ -54,7 +56,9 @@ async function setup() { async function main() { if (args.run) { - console.log(`Running user script: '${args.run}' with: api, utilCrypto, keyring, utils`); + console.log( + `Running user script: '${args.run}' with: api, utilCrypto, keyring, utils` + ); let script = fs.readFileSync(args.run).toString(); eval(`(async () => {${script}})()`); } else { @@ -66,13 +70,12 @@ async function main() { setup() .then(() => { - main() - .catch(err => { - console.log(`error during execution: ${err}`) - process.exit(1); - }); + main().catch((err) => { + console.log(`error during execution: ${err}`); + process.exit(1); + }); }) - .catch(err => { - console.log(`error during setup: ${err}`) + .catch((err) => { + console.log(`error during setup: ${err}`); process.exit(1); }); diff --git a/types.json b/types.json new file mode 100644 index 0000000..cf265cf --- /dev/null +++ b/types.json @@ -0,0 +1,22 @@ +{ + "PalletId": "u32", + "MarketplaceId": "u32", + "Marketplace": { + "account": "AccountId", + "entitlement": "Permill" + }, + "MassDrop": { + "price": "Balance", + "assetId": "AssetId", + "maxSupply": "TokenCount", + "transactionLimit": "Option", + "activationTime": "BlockNumber", + "preSale": "Option" + }, + "Presale": { + "price": "Balance", + "transactionLimit": "Option", + "activationTime": "BlockNumber", + "maxSupply": "TokenCount" + } +} diff --git a/yarn.lock b/yarn.lock index a919789..7da79c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -43,6 +43,17 @@ "@polkadot/util" "5.9.2" "@polkadot/util-crypto" "5.9.2" +"@pinata/sdk@^1.1.23": + version "1.1.23" + resolved "https://registry.yarnpkg.com/@pinata/sdk/-/sdk-1.1.23.tgz#91d7e289a29f514ee35d8d2ad62f8ef891b57ea0" + integrity sha512-ZIQI6acEu2m3tuLW9UCUNVgqbHc5U+t657ukunamV0E8XcW639vgtGa5rd5C/9mVIxoWpp5CJ9q7FA1OT88huQ== + dependencies: + axios "^0.21.1" + base-path-converter "^1.0.2" + form-data "^2.3.3" + is-ipfs "^0.6.0" + recursive-fs "^1.1.2" + "@polkadot/api-derive@3.7.1": version "3.7.1" resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-3.7.1.tgz#c9bde50001dc6c1402e7b2d3ba43cff0892e8500" @@ -322,6 +333,25 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +base-path-converter@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/base-path-converter/-/base-path-converter-1.0.2.tgz#e80b4b4f31c7b1561e632158e00774b6f2f27978" + integrity sha512-51R8JiuXadknn6ouVUteOhDpmI3G5u5GqjruL7bPJpfxUHVgosaO5uPAvRP4FeR4VyyH4sSvsN78Ci6ouoRYqQ== + +base-x@^3.0.2: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + base-x@^3.0.8: version "3.0.9" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" @@ -329,7 +359,7 @@ base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" -base64-js@^1.5.1: +base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -349,6 +379,21 @@ brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= +bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= + dependencies: + base-x "^3.0.2" + +buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bufferutil@^4.0.1: version "4.0.5" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" @@ -361,6 +406,28 @@ camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +cids@~0.7.0: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cids@~0.8.0: + version "0.8.3" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.3.tgz#aaf48ac8ed857c3d37dad94d8db1d8c9407b92db" + integrity sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA== + dependencies: + buffer "^5.6.0" + class-is "^1.1.0" + multibase "^1.0.0" + multicodec "^1.0.1" + multihashes "^1.0.1" + cipher-base@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -369,7 +436,12 @@ cipher-base@^1.0.1: inherits "^2.0.1" safe-buffer "^5.0.1" -combined-stream@^1.0.8: +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + +combined-stream@^1.0.6, combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -481,6 +553,20 @@ ext@^1.1.2: dependencies: type "^2.5.0" +follow-redirects@^1.14.0: + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + +form-data@^2.3.3: + version "2.5.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" + integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + form-data@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -516,6 +602,11 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" @@ -526,6 +617,25 @@ ip-regex@^4.3.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + +is-ipfs@^0.6.0: + version "0.6.3" + resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-0.6.3.tgz#82a5350e0a42d01441c40b369f8791e91404c497" + integrity sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ== + dependencies: + bs58 "^4.0.1" + cids "~0.7.0" + mafmt "^7.0.0" + multiaddr "^7.2.1" + multibase "~0.6.0" + multihashes "~0.4.13" + is-promise@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" @@ -548,6 +658,13 @@ lru-queue@^0.1.0: dependencies: es5-ext "~0.10.2" +mafmt@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" + integrity sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA== + dependencies: + multiaddr "^7.3.0" + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -603,6 +720,68 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +multiaddr@^7.2.1, multiaddr@^7.3.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.5.0.tgz#976c88e256e512263445ab03b3b68c003d5f485e" + integrity sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw== + dependencies: + buffer "^5.5.0" + cids "~0.8.0" + class-is "^1.1.0" + is-ip "^3.1.0" + multibase "^0.7.0" + varint "^5.0.0" + +multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@^1.0.0, multibase@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-1.0.1.tgz#4adbe1de0be8a1ab0274328b653c3f1903476724" + integrity sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^1.0.0, multicodec@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multihashes@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-1.0.1.tgz#a89415d68283cf6287c6e219e304e75ce7fb73fe" + integrity sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw== + dependencies: + buffer "^5.6.0" + multibase "^1.0.1" + varint "^5.0.0" + +multihashes@~0.4.13, multihashes@~0.4.15: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + next-tick@1, next-tick@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" @@ -634,6 +813,11 @@ readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" +recursive-fs@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/recursive-fs/-/recursive-fs-1.1.2.tgz#1d752e2f1a65d25fb6964109a9dbf83a335f90f0" + integrity sha512-QPFEt5EwzwlHoqYsZc+NkUSyDTQf1Hvq7c/kpQJHi77OSCAiDXI3wfB0J04ZG+ekGHmv37mdR8MDPEshD3/RlQ== + regenerator-runtime@^0.13.4: version "0.13.9" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" @@ -731,6 +915,11 @@ util-deprecate@^1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +varint@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"