From 197d60430e96a17083bc2aed40bc1afdf335d164 Mon Sep 17 00:00:00 2001 From: gozzy Date: Wed, 9 Nov 2022 02:55:13 +0000 Subject: [PATCH] worker thread rpc batching --- assets/README.md | 7 - assets/events.worker.js | 57 +++++ nuxt.config.js | 15 +- package.json | 5 +- services/events.js | 122 +++++++---- utils/index.js | 13 ++ yarn.lock | 472 +++++++++++++++++++++++++++++++++++++++- 7 files changed, 632 insertions(+), 59 deletions(-) delete mode 100644 assets/README.md create mode 100644 assets/events.worker.js diff --git a/assets/README.md b/assets/README.md deleted file mode 100644 index 34766f9..0000000 --- a/assets/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# ASSETS - -**This directory is not required, you can delete it if you don't want to use it.** - -This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. - -More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). diff --git a/assets/events.worker.js b/assets/events.worker.js new file mode 100644 index 0000000..2b7e023 --- /dev/null +++ b/assets/events.worker.js @@ -0,0 +1,57 @@ +const Web3 = require('web3-eth') + +const InstanceABI = require('../abis/Instance.abi.json') +const networkConfig = require('../networkConfig').default + +const getContract = (rpcUrl, netId, currency, amount) => { + const provider = new Web3(rpcUrl) + const config = networkConfig[`netId${netId}`] + const address = config.tokens[currency].instanceAddress[amount] + const contract = new provider.Contract(InstanceABI, address) + + return contract +} + +const getBatchEvents = async ({ netId, rpcUrl, currency, amount, type, payload }, [port]) => { + try { + const { chunkSize, blocks } = payload + const contract = getContract(rpcUrl, netId, currency, amount) + + let batchEvents = [] + + console.log('Fetching block ranges', blocks) + + for (let x in blocks) { + const toBlock = blocks[x] + const fromBlock = toBlock - chunkSize + + try { + const events = await contract.getPastEvents(type, { + fromBlock, + toBlock + }) + + batchEvents = batchEvents.concat(events) + } catch (e) { + console.log(`Failed to fetch ${toBlock}: ${e}`) + x = x - 1 + } + } + + port.postMessage({ result: batchEvents }) + } catch (e) { + port.postMessage({ errorMessage: e }) + } +} + +const handlePayload = ({ data, ports }) => { + switch (data.eventName) { + case 'batch_events': + getBatchEvents(data, ports) + break + default: + break + } +} + +self.addEventListener('message', handlePayload, false) diff --git a/nuxt.config.js b/nuxt.config.js index 387fd59..2cc9ad1 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -50,7 +50,7 @@ export default { { 'http-equiv': 'Content-Security-Policy', content: - "img-src 'self' data:;font-src data:;style-src 'self' 'unsafe-inline';connect-src *;script-src 'self' 'unsafe-eval' 'unsafe-inline';default-src 'self';object-src 'none';base-uri 'none';upgrade-insecure-requests;child-src blob:;worker-src blob:;" + "img-src 'self' data:;font-src data:;style-src 'self' 'unsafe-inline';connect-src *;script-src 'self' 'unsafe-eval' 'unsafe-inline';default-src 'self';object-src 'none';base-uri 'none';upgrade-insecure-requests; " }, { name: 'Referer-Policy', @@ -178,10 +178,23 @@ export default { if (ctx.isClient) { config.devtool = hasSourceMaps } + + config.output.globalObject = 'this' + config.module.rules.push({ test: /\.bin$/, use: 'arraybuffer-loader' }) + if(ctx.isClient) { + config.module.rules.push({ + test: /\.worker\.js$/, + loader: 'worker-loader', + exclude: /(node_modules)/, + options: { + filename: './workers/[name].js', + } + }) + } }, plugins: [ new webpack.IgnorePlugin(/worker_threads/), diff --git a/package.json b/package.json index 5aaf5e6..5a960bc 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "update:tree": "node -r esm scripts/updateTree.js --network", "generate": "NODE_OPTIONS='--max-old-space-size=8192' nuxt generate && cp dist/404.html dist/ipfs-404.html", "check:sync": "node -r esm scripts/checkEventsSync.js", + "worker:compile": "babel dist/_nuxt/workers/events.worker.js --out-file static/events.worker.js", "ipfsUpload": "node scripts/ipfsUpload.js", "deploy:ipfs": "yarn generate && yarn ipfsUpload" }, @@ -55,6 +56,7 @@ "vue-i18n": "^8.15.4", "vuex-persistedstate": "^2.7.0", "web3": "1.5.2", + "web3-eth": "1.8.1-rc.0", "websnark": "git+https://development.tornadocash.community/tornadocash/websnark.git#671762fab73f01771d0e7ebcf6b6a3123e193fb4" }, "devDependencies": { @@ -85,6 +87,7 @@ "raw-loader": "^3.1.0", "sass": "^1.49.9", "sass-loader": "^8.0.0", - "vue-jest": "^3.0.5" + "vue-jest": "^3.0.5", + "worker-loader": "^3.0.8" } } diff --git a/services/events.js b/services/events.js index 7ee6133..3473e47 100644 --- a/services/events.js +++ b/services/events.js @@ -1,21 +1,22 @@ import Web3 from 'web3' +import EWorker from '@/assets/events.worker.js' + import graph from '@/services/graph' import { download } from '@/store/snark' import networkConfig from '@/networkConfig' import InstanceABI from '@/abis/Instance.abi.json' import { CONTRACT_INSTANCES, eventsType } from '@/constants' -import { sleep, formatEvents, capitalizeFirstLetter } from '@/utils' +import { sleep, formatEvents, capitalizeFirstLetter, flattenNArray } from '@/utils' + +const MIN_CORES = 2 +const WORKERS_ALLOC = 2 +const HARDWARE_CORES = window.navigator.hardwareConcurrency +const AVAILABLE_CORES = HARDWARE_CORES / WORKERS_ALLOC || MIN_CORES +const CORES = Math.max(AVAILABLE_CORES, MIN_CORES) const supportedCaches = ['1', '56', '100', '137'] -let store -if (process.browser) { - window.onNuxtReady(({ $store }) => { - store = $store - }) -} - class EventService { constructor({ netId, amount, currency, factoryMethods }) { this.idb = window.$nuxt.$indexedDB(netId) @@ -28,6 +29,7 @@ class EventService { this.currency = currency this.factoryMethods = factoryMethods + this.rpcUrl = this.factoryMethods.getProviderUrl() this.contract = this.getContract({ netId, amount, currency }) this.isNative = nativeCurrency === this.currency @@ -38,6 +40,17 @@ class EventService { return `${type}s_${this.currency}_${this.amount}` } + getMessageParams(eventName, type) { + return { + type: capitalizeFirstLetter(type), + currency: this.currency, + rpcUrl: this.rpcUrl, + amount: this.amount, + netId: this.netId, + eventName + } + } + async getEvents(type) { let cachedEvents = await this.getEventsFromDB(type) @@ -47,6 +60,7 @@ class EventService { return cachedEvents } + async updateEvents(type, cachedEvents) { const { deployedBlock } = networkConfig[`netId${this.netId}`] @@ -273,50 +287,35 @@ class EventService { const blockRange = 10000 const { blockDifference, currentBlockNumber } = await this.getBlocksDiff({ fromBlock }) - let numberParts = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) - const part = Math.ceil(blockDifference / numberParts) - - let events = [] - let loadedBlocks = 0 - let toBlock = fromBlock + part + const chunks = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange) + const chunkSize = Math.ceil(blockDifference / chunks) if (fromBlock < currentBlockNumber) { - if (toBlock >= currentBlockNumber) { - toBlock = 'latest' - numberParts = 1 - } - if (store.state.loading.progress !== 98) { - store.dispatch('loading/updateProgress', { message: 'Fetching the past events', progress: 0 }) - } + const chunk = Math.ceil(chunks / CORES) + const digest = new Array(chunks).fill('') + const workers = new Array(CORES).fill('') - for (let i = 0; i < numberParts; i++) { - try { - await sleep(200) - const partOfEvents = await this.getEventsPartFromRpc({ fromBlock, toBlock, type }) - if (partOfEvents) { - events = events.concat(partOfEvents.events) - } - loadedBlocks += toBlock - fromBlock - fromBlock = toBlock - toBlock += part + const blocks = digest.map((e, i) => chunkSize * (i + 1) + fromBlock) - const progressInt = parseInt((loadedBlocks / blockDifference) * 100) - console.log('Progress: ', progressInt) - if (store.state.loading.progress !== 98) { - store.dispatch('loading/updateProgress', { - message: 'Fetching the past events', - progress: progressInt === 100 ? 98 : progressInt - }) + const workerBatches = workers.map((e, i) => { + const endIndex = (i + 1) * chunk + const startIndex = endIndex - chunk + + return this.openEventThreadPool({ + ...this.getMessageParams('batch_events', type), + payload: { + blocks: blocks.slice(startIndex, endIndex), + chunkSize } - } catch { - numberParts = numberParts + 1 - } - } - if (events.length) { - return { - events, - lastBlock: toBlock === 'latest' ? currentBlockNumber : toBlock - } + }) + }) + + const results = flattenNArray(await Promise.all(workerBatches)) + const events = results.map((e) => ({ ...e.returnValues, ...e })) + + return { + lastBlock: events[events.length - 1].blockNumber, + events } } return undefined @@ -325,6 +324,28 @@ class EventService { } } + openEventThreadPool(message) { + return new Promise((resolve, reject) => { + // const ipfsPathPrefix = getIPFSPrefix() + // const basePath = `${window.location.origin}${ipfsPathPrefix}` + // const worker = new Worker(basePath + '/assets/events.workers.js') + const worker = new EWorker() + const channel = new MessageChannel() + + worker.postMessage(message, [channel.port2]) + + channel.port1.onmessage = ({ data }) => { + const { result, errorMessage } = data + channel.port1.close() + if (result) { + resolve(result) + } else { + reject(errorMessage) + } + } + }) + } + async getEventsFromRpc({ fromBlock, type }) { try { const { blockDifference } = await this.getBlocksDiff({ fromBlock }) @@ -404,6 +425,10 @@ class EventsFactory { return new this.provider.Contract(InstanceABI, address) } + getProviderUrl = () => { + return this.provider.currentProvider.host + } + getService = (payload) => { const instanceName = `${payload.currency}_${payload.amount}` @@ -415,7 +440,8 @@ class EventsFactory { ...payload, factoryMethods: { getContract: this.getContract, - getBlockNumber: this.getBlockNumber + getBlockNumber: this.getBlockNumber, + getProviderUrl: this.getProviderUrl } }) this.instances.set(instanceName, instance) diff --git a/utils/index.js b/utils/index.js index df30fec..dcec52a 100644 --- a/utils/index.js +++ b/utils/index.js @@ -8,6 +8,19 @@ export * from './stringUtils' export * from './numberUtils' export * from './instanceUtils' +const PREFIX_INDEX = 1 + +export function flattenNArray(arr) { + return arr.reduce((flat, toFlatten) => { + return flat.concat(Array.isArray(toFlatten) ? flattenNArray(toFlatten) : toFlatten) + }, []) +} + +export const getIPFSPrefix = () => { + const ipfsPathRegExp = /^(\/(?:ipfs|ipns)\/[^/]+)/ + return (window.location.pathname.match(ipfsPathRegExp) ?? [])[PREFIX_INDEX] || '' +} + export function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)) } diff --git a/yarn.lock b/yarn.lock index 779643d..ad58012 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1184,7 +1184,23 @@ resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== -"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.1": +"@ethereumjs/common@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" + integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.1" + +"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.6.4": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" + integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.5" + +"@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.1": version "2.6.2" resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.2.tgz#eb006c9329c75c80f634f340dc1719a5258244df" integrity sha512-vDwye5v0SVeuDky4MtKsu+ogkH2oFUV8pBKzH/eNBzT8oI91pKa8WyzDuYuxOQsgNgv5R34LfFDh2aaw3H4HbQ== @@ -1192,7 +1208,23 @@ crc-32 "^1.2.0" ethereumjs-util "^7.1.4" -"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.2": +"@ethereumjs/tx@3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" + integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== + dependencies: + "@ethereumjs/common" "^2.5.0" + ethereumjs-util "^7.1.2" + +"@ethereumjs/tx@^3.2.1": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" + integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== + dependencies: + "@ethereumjs/common" "^2.6.4" + ethereumjs-util "^7.1.5" + +"@ethereumjs/tx@^3.3.2": version "3.5.0" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.0.tgz#783b0aeb08518b9991b23f5155763bbaf930a037" integrity sha512-/+ZNbnJhQhXC83Xuvy6I9k4jT5sXiV0tMR9C+AzSSpcCV64+NB8dTE1m3x98RYMqb8+TLYWA+HML4F5lfXTlJw== @@ -1230,6 +1262,21 @@ "@ethersproject/properties" "^5.6.0" "@ethersproject/strings" "^5.6.0" +"@ethersproject/abi@^5.6.3": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/abstract-provider@5.6.0", "@ethersproject/abstract-provider@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz#0c4ac7054650dbd9c476cf5907f588bbb6ef3061" @@ -1243,6 +1290,19 @@ "@ethersproject/transactions" "^5.6.0" "@ethersproject/web" "^5.6.0" +"@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + "@ethersproject/abstract-signer@5.6.0", "@ethersproject/abstract-signer@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz#9cd7ae9211c2b123a3b29bf47aab17d4d016e3e7" @@ -1254,6 +1314,17 @@ "@ethersproject/logger" "^5.6.0" "@ethersproject/properties" "^5.6.0" +"@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/address@5.6.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.0.tgz#13c49836d73e7885fc148ad633afad729da25012" @@ -1265,6 +1336,17 @@ "@ethersproject/logger" "^5.6.0" "@ethersproject/rlp" "^5.6.0" +"@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/base64@5.6.0", "@ethersproject/base64@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.0.tgz#a12c4da2a6fb86d88563216b0282308fc15907c9" @@ -1272,6 +1354,13 @@ dependencies: "@ethersproject/bytes" "^5.6.0" +"@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/basex@5.6.0", "@ethersproject/basex@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.0.tgz#9ea7209bf0a1c3ddc2a90f180c3a7f0d7d2e8a69" @@ -1289,6 +1378,15 @@ "@ethersproject/logger" "^5.6.0" bn.js "^4.11.9" +"@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + "@ethersproject/bytes@5.6.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.0.tgz#81652f2a0e04533575befadce555213c11d8aa20" @@ -1296,6 +1394,13 @@ dependencies: "@ethersproject/logger" "^5.6.0" +"@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/constants@5.6.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.0.tgz#55e3eb0918584d3acc0688e9958b0cedef297088" @@ -1303,6 +1408,13 @@ dependencies: "@ethersproject/bignumber" "^5.6.0" +"@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/contracts@5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.6.0.tgz#60f2cfc7addd99a865c6c8cfbbcec76297386067" @@ -1333,6 +1445,21 @@ "@ethersproject/properties" "^5.6.0" "@ethersproject/strings" "^5.6.0" +"@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/hdnode@5.6.0", "@ethersproject/hdnode@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.0.tgz#9dcbe8d629bbbcf144f2cae476337fe92d320998" @@ -1378,11 +1505,24 @@ "@ethersproject/bytes" "^5.6.0" js-sha3 "0.8.0" +"@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + "@ethersproject/logger@5.6.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a" integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== +"@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + "@ethersproject/networks@5.6.0", "@ethersproject/networks@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.0.tgz#486d03fff29b4b6b5414d47a232ded09fe10de5e" @@ -1390,6 +1530,13 @@ dependencies: "@ethersproject/logger" "^5.6.0" +"@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2@5.6.0", "@ethersproject/pbkdf2@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz#04fcc2d7c6bff88393f5b4237d906a192426685a" @@ -1405,6 +1552,13 @@ dependencies: "@ethersproject/logger" "^5.6.0" +"@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + "@ethersproject/providers@5.6.1": version "5.6.1" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.1.tgz#9a05f00ecbac59565bf6907c8d2af8ac33303b48" @@ -1446,6 +1600,14 @@ "@ethersproject/bytes" "^5.6.0" "@ethersproject/logger" "^5.6.0" +"@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2@5.6.0", "@ethersproject/sha2@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.0.tgz#364c4c11cc753bda36f31f001628706ebadb64d9" @@ -1467,6 +1629,18 @@ elliptic "6.5.4" hash.js "1.1.7" +"@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + "@ethersproject/solidity@5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.6.0.tgz#64657362a596bf7f5630bdc921c07dd78df06dc3" @@ -1488,6 +1662,15 @@ "@ethersproject/constants" "^5.6.0" "@ethersproject/logger" "^5.6.0" +"@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/transactions@5.6.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.0.tgz#4b594d73a868ef6e1529a2f8f94a785e6791ae4e" @@ -1503,6 +1686,21 @@ "@ethersproject/rlp" "^5.6.0" "@ethersproject/signing-key" "^5.6.0" +"@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/units@5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.6.0.tgz#e5cbb1906988f5740254a21b9ded6bd51e826d9c" @@ -1544,6 +1742,17 @@ "@ethersproject/properties" "^5.6.0" "@ethersproject/strings" "^5.6.0" +"@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/wordlists@5.6.0", "@ethersproject/wordlists@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.0.tgz#79e62c5276e091d8575f6930ba01a29218ded032" @@ -2804,6 +3013,11 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abortcontroller-polyfill@^1.7.3: + version "1.7.5" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" + integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== + abstract-leveldown@~2.6.0: version "2.6.3" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" @@ -4062,6 +4276,11 @@ bn.js@^5.1.2, bn.js@^5.2.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + body-parser@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" @@ -5365,6 +5584,13 @@ cross-fetch@^2.1.0: node-fetch "2.6.1" whatwg-fetch "2.0.4" +cross-fetch@^3.1.4: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -6272,6 +6498,11 @@ es6-iterator@^2.0.3: es5-ext "^0.10.35" es6-symbol "^3.1.1" +es6-promise@^4.2.8: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" @@ -6944,6 +7175,17 @@ ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4: ethereum-cryptography "^0.1.3" rlp "^2.2.4" +ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + ethereumjs-vm@^2.3.4: version "2.6.0" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" @@ -11007,6 +11249,13 @@ node-fetch@2.6.1, node-fetch@^2.6.1: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" @@ -15359,6 +15608,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== +uuid@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + v-idle@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/v-idle/-/v-idle-0.2.0.tgz#340e67f44f4e3d1edf7804b9e71b2e65cb88f85e" @@ -15654,6 +15908,14 @@ web3-core-helpers@1.7.1: web3-eth-iban "1.7.1" web3-utils "1.7.1" +web3-core-helpers@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.8.1-rc.0.tgz#374d0fa0d2070657a69bf666d8f31e0f438cfa16" + integrity sha512-f5Cph5YQ2EuFkNHnid4q94R5xlC/3I/W6tTy7hkmrtoR+709F8bWn87VQqjao97lGK3NZd0DlX4cxF7kO/9lsA== + dependencies: + web3-eth-iban "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-core-method@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.2.tgz#d1d602657be1000a29d11e3ca3bf7bc778dea9a5" @@ -15677,6 +15939,17 @@ web3-core-method@1.7.1: web3-core-subscriptions "1.7.1" web3-utils "1.7.1" +web3-core-method@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.8.1-rc.0.tgz#a2f8ce805f230f99de3413a56a72ee292a42a932" + integrity sha512-b5mA6sgsFIa1z7Gp/uKA7fX4x4ptbYGz+jE9vWQHyL7qyWc0HULSxPl1+K8RBMJ9vzpzJqptjdJCtu7DYT/ZYQ== + dependencies: + "@ethersproject/transactions" "^5.6.2" + web3-core-helpers "1.8.1-rc.0" + web3-core-promievent "1.8.1-rc.0" + web3-core-subscriptions "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-core-promievent@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.2.tgz#2dc9fe0e5bbeb7c360fc1aac5f12b32d9949a59b" @@ -15691,6 +15964,13 @@ web3-core-promievent@1.7.1: dependencies: eventemitter3 "4.0.4" +web3-core-promievent@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.8.1-rc.0.tgz#222e33ab0b31725f5f1a35ea810b97aa7acd46cd" + integrity sha512-kHE1Pvl4kz86KvCOanyTW8K4CvMwxQ+PC66zPuhMigwpFM9Uwa0Kyp/DjH7TQEVN2cllpH/0l8nUNIRTzWnR4A== + dependencies: + eventemitter3 "4.0.4" + web3-core-requestmanager@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.2.tgz#43ccc00779394c941b28e6e07e217350fd1ded71" @@ -15713,6 +15993,17 @@ web3-core-requestmanager@1.7.1: web3-providers-ipc "1.7.1" web3-providers-ws "1.7.1" +web3-core-requestmanager@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.8.1-rc.0.tgz#37bcc754289e5b91bb5e2bb75a53b33730f50b61" + integrity sha512-kwnq77XyRXsRh980OxH5DPSsMT0GT3jfz9ghbY0c3aHAt34njZMHIuiHVePqxjvjjqBd1wFEwSMR08sXXlrzWQ== + dependencies: + util "^0.12.0" + web3-core-helpers "1.8.1-rc.0" + web3-providers-http "1.8.1-rc.0" + web3-providers-ipc "1.8.1-rc.0" + web3-providers-ws "1.8.1-rc.0" + web3-core-subscriptions@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.2.tgz#8eaebde44f81fc13c45b555c4422fe79393da9cf" @@ -15729,6 +16020,14 @@ web3-core-subscriptions@1.7.1: eventemitter3 "4.0.4" web3-core-helpers "1.7.1" +web3-core-subscriptions@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.8.1-rc.0.tgz#218161818bb87a27c8903cebcd76b5ee5f098cb5" + integrity sha512-utOV38ZyJCQIKW5ZlR3dYqj1DnZ1+FiN1YMWKmZV9Bebu1HBcYLwqXoI7JkpV4mvvaSdxaADlhC2d8b4JzIVcw== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.8.1-rc.0" + web3-core@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.2.tgz#ca2b9b1ed3cf84d48b31c9bb91f7628f97cfdcd5" @@ -15755,6 +16054,19 @@ web3-core@1.7.1: web3-core-requestmanager "1.7.1" web3-utils "1.7.1" +web3-core@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.8.1-rc.0.tgz#6982b9de026693fb378fc55276b647a2a97540ac" + integrity sha512-lZdqdamYsgRFlAofiV84sRjTgcmpfMz/P2yuB+cBW7nO88gUtIxgEqKEwoFhAtf85DzYUxW7CIyP2VBLqtMZmQ== + dependencies: + "@types/bn.js" "^5.1.0" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.8.1-rc.0" + web3-core-method "1.8.1-rc.0" + web3-core-requestmanager "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-eth-abi@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz#b627eada967f39ae4657ddd61b693cb00d55cb29" @@ -15771,6 +16083,14 @@ web3-eth-abi@1.7.1: "@ethersproject/abi" "5.0.7" web3-utils "1.7.1" +web3-eth-abi@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.8.1-rc.0.tgz#b16374e5ec71d16afa3ab08c2298f09deff3ff0c" + integrity sha512-QkHPtc02e9pmCmG9ZsBYZ3LYa/WJYW0u6M8k7gcpgYsChvB6Phy5zLSQGzc2+kg8FPVFNycppNIQhPv6yfmqPg== + dependencies: + "@ethersproject/abi" "^5.6.3" + web3-utils "1.8.1-rc.0" + web3-eth-accounts@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.5.2.tgz#cf506c21037fa497fe42f1f055980ce4acf83731" @@ -15805,6 +16125,23 @@ web3-eth-accounts@1.7.1: web3-core-method "1.7.1" web3-utils "1.7.1" +web3-eth-accounts@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.8.1-rc.0.tgz#af4d7899b5575d09b0d7dbf3b12fef4924cf9414" + integrity sha512-HWVVtqgWTWFfP9oSix4LmdbBfby98oXncSmFGCHnptg3BzDSFg88tP0yurYxiVu/i2uej3gyHGoSl9ufgOy5YA== + dependencies: + "@ethereumjs/common" "2.5.0" + "@ethereumjs/tx" "3.3.2" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "^9.0.0" + web3-core "1.8.1-rc.0" + web3-core-helpers "1.8.1-rc.0" + web3-core-method "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-eth-contract@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.5.2.tgz#ffbd799fd01e36596aaadefba323e24a98a23c2f" @@ -15833,6 +16170,20 @@ web3-eth-contract@1.7.1: web3-eth-abi "1.7.1" web3-utils "1.7.1" +web3-eth-contract@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.8.1-rc.0.tgz#7c21ea1fc5ae9d378bd22e3e68f6694603927d1d" + integrity sha512-HQU8C1MHozX2RTs6Q0sXrFiW9YwiT6JJxzInrqP2KygePKWsk44iPICKuDwL0AZByfJP2HdGuKix57mo5XvwMw== + dependencies: + "@types/bn.js" "^5.1.0" + web3-core "1.8.1-rc.0" + web3-core-helpers "1.8.1-rc.0" + web3-core-method "1.8.1-rc.0" + web3-core-promievent "1.8.1-rc.0" + web3-core-subscriptions "1.8.1-rc.0" + web3-eth-abi "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-eth-ens@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.5.2.tgz#ecb3708f0e8e2e847e9d89e8428da12c30bba6a4" @@ -15861,6 +16212,20 @@ web3-eth-ens@1.7.1: web3-eth-contract "1.7.1" web3-utils "1.7.1" +web3-eth-ens@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.8.1-rc.0.tgz#2ecce5b66453eae670f25699247cb3f2aead35db" + integrity sha512-lQodmBPn1ANN/TuQcywXJHUwJwH0SwNP1N1eodLfYRtmGzJrR11b2OyHM3LDFfAkxX0pVJ/rdz6Hyi8SkbOvNg== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.8.1-rc.0" + web3-core-helpers "1.8.1-rc.0" + web3-core-promievent "1.8.1-rc.0" + web3-eth-abi "1.8.1-rc.0" + web3-eth-contract "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-eth-iban@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.2.tgz#f390ad244ef8a6c94de7c58736b0b80a484abc8e" @@ -15877,6 +16242,14 @@ web3-eth-iban@1.7.1: bn.js "^4.11.9" web3-utils "1.7.1" +web3-eth-iban@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.8.1-rc.0.tgz#a13da287f202171bd3fe2c6c84744d095c5e1bb5" + integrity sha512-YpPYiO16TR5HGvD0Yz4fRUk1L3gpnZsZS6BZJwx/veN1s29k/pO43AOZwvIQi2RcQ5ht931kVX+CmeWwWR5Z2w== + dependencies: + bn.js "^5.2.1" + web3-utils "1.8.1-rc.0" + web3-eth-personal@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.5.2.tgz#043335a19ab59e119ba61e3bd6c3b8cde8120490" @@ -15901,6 +16274,18 @@ web3-eth-personal@1.7.1: web3-net "1.7.1" web3-utils "1.7.1" +web3-eth-personal@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.8.1-rc.0.tgz#9d908217754f721b4a099f98bfc07a5d6fa7832e" + integrity sha512-oxZaFVStDNZa7oRW3bMWD/5fFSGkT4KkTdPFycbw/P+/oQFAUhdFhLAQVIglwzN8vw4xIGAW9cHMQvsz0luwPA== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.8.1-rc.0" + web3-core-helpers "1.8.1-rc.0" + web3-core-method "1.8.1-rc.0" + web3-net "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-eth@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.5.2.tgz#0f6470df60a2a7d04df4423ca7721db8ed5ad72b" @@ -15937,6 +16322,24 @@ web3-eth@1.7.1: web3-net "1.7.1" web3-utils "1.7.1" +web3-eth@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.8.1-rc.0.tgz#4af5b66f0c2f4e528711e7334c54f6d477c3e867" + integrity sha512-XMv89hFws1ySPdNfLj2I4X/zD4k7J9BnoxYXGutwbxWf5eJeBfnvvVYtN71/v+i7QPCtvmRd4ds7WEhyeMM+mg== + dependencies: + web3-core "1.8.1-rc.0" + web3-core-helpers "1.8.1-rc.0" + web3-core-method "1.8.1-rc.0" + web3-core-subscriptions "1.8.1-rc.0" + web3-eth-abi "1.8.1-rc.0" + web3-eth-accounts "1.8.1-rc.0" + web3-eth-contract "1.8.1-rc.0" + web3-eth-ens "1.8.1-rc.0" + web3-eth-iban "1.8.1-rc.0" + web3-eth-personal "1.8.1-rc.0" + web3-net "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-net@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.5.2.tgz#58915d7e2dad025d2a08f02c865f3abe61c48eff" @@ -15955,6 +16358,15 @@ web3-net@1.7.1: web3-core-method "1.7.1" web3-utils "1.7.1" +web3-net@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.8.1-rc.0.tgz#f280fcfb25de35a18539eef2338cb1eeeda1239d" + integrity sha512-7P2pvsLf5jXq8y20caTXhknN4452758aD5ZoNvtnsVledigvXzYQFaLklDsjT6kWwceCxWj3An5I9eK0Y7NdbA== + dependencies: + web3-core "1.8.1-rc.0" + web3-core-method "1.8.1-rc.0" + web3-utils "1.8.1-rc.0" + web3-provider-engine@16.0.1: version "16.0.1" resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-16.0.1.tgz#2600a39ede364cdc0a1fc773bf40a94f2177e605" @@ -15999,6 +16411,16 @@ web3-providers-http@1.7.1: web3-core-helpers "1.7.1" xhr2-cookies "1.1.0" +web3-providers-http@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.8.1-rc.0.tgz#d0d9cffeeebe5e0392d83e3c4bec9c5c94a6df97" + integrity sha512-0HB3gokbazwX66OOyQAdfVRhRfY9wc7it7+zM8o4V5yPx59D1hrWftv7/NGDU55r6f/8EMz/zAUWse0S42ek6A== + dependencies: + abortcontroller-polyfill "^1.7.3" + cross-fetch "^3.1.4" + es6-promise "^4.2.8" + web3-core-helpers "1.8.1-rc.0" + web3-providers-ipc@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.2.tgz#68a516883c998eeddf60df4cead77baca4fb4aaa" @@ -16015,6 +16437,14 @@ web3-providers-ipc@1.7.1: oboe "2.1.5" web3-core-helpers "1.7.1" +web3-providers-ipc@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.8.1-rc.0.tgz#6169cbcb200b2ca6425460ab46b123336bbb2f09" + integrity sha512-FO4eqYbB/5WTFxi+jk4YdR2DkQYBcOgBmc7MQHgZrkt/xg3yvyY84RA315U6XO3qJNnKhC4KXdPA4awPqV7bXA== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.8.1-rc.0" + web3-providers-ws@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.2.tgz#d336a93ed608b40cdcadfadd1f1bc8d32ea046e0" @@ -16033,6 +16463,15 @@ web3-providers-ws@1.7.1: web3-core-helpers "1.7.1" websocket "^1.0.32" +web3-providers-ws@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.8.1-rc.0.tgz#9c6b7faf3d8245c8a2b8e7993d72f1ba331c3a33" + integrity sha512-runzmGqfYf6INulmmXncIjYSqS+8t6z8Bibt1hNXNN6BNGo8ipUxHo/HLHxmwH+sNS5gJtN0QahI+ZDOjc9MRA== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.8.1-rc.0" + websocket "^1.0.32" + web3-shh@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.5.2.tgz#a72a3d903c0708a004db94a72d934a302d880aea" @@ -16079,6 +16518,19 @@ web3-utils@1.7.1, web3-utils@^1.3.0: randombytes "^2.1.0" utf8 "3.0.0" +web3-utils@1.8.1-rc.0: + version "1.8.1-rc.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.1-rc.0.tgz#5d741154a4d7499b98b1319a7ed944268ea7a0be" + integrity sha512-Mp4tHaJfflQc00N925W2Q+JP975zQmCj82n2ylQHdDP5Kcg1RyySLZ9ugeVefB049frPtrGJ2h9i6uuKLkhzzQ== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + web3@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/web3/-/web3-1.5.2.tgz#736ca2f39048c63964203dd811f519400973e78d" @@ -16262,6 +16714,14 @@ whatwg-url@^2.0.1: tr46 "~0.0.3" webidl-conversions "^3.0.0" +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^6.4.1: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" @@ -16360,6 +16820,14 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" +worker-loader@^3.0.8: + version "3.0.8" + resolved "https://registry.yarnpkg.com/worker-loader/-/worker-loader-3.0.8.tgz#5fc5cda4a3d3163d9c274a4e3a811ce8b60dbb37" + integrity sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"