diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..de380fa --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.env +.git/ +.idea/ +build/ +coverage/ +node_modules/ +coverage.json diff --git a/package.json b/package.json index d9b5baf..cfa55af 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "@openzeppelin/contracts": "^4.3.2", "@truffle/hdwallet-provider": "^1.4.2", "dotenv": "^10.0.0", - "truffle": "^5.4.3" + "truffle": "^5.4.3", + "web3": "^1.6.0" }, "devDependencies": { "chai": "^4.3.4", diff --git a/scripts/.env.example b/scripts/.env.example new file mode 100644 index 0000000..ea8755c --- /dev/null +++ b/scripts/.env.example @@ -0,0 +1,16 @@ +STAKING_ACCOUNT_PRIVATE_KEY=0000000000000000000000000000000000000000000000000000000000000000 + +RPC_URL=https://dai.poa.network +GAS_PRICE=1000000000 + +# number of deposits in one transaction, should be in range [1, 128] +BATCH_SIZE=128 +# total number of deposits to read from file +N=256 +# index of the first deposit to read from file +OFFSET=0 + +# address of the wrapped SBC token +TOKEN_ADDRESS=0x0000000000000000000000000000000000000000 +# address of the SBC deposit contract +DEPOSIT_CONTRACT_ADDRESS=0x0000000000000000000000000000000000000000 diff --git a/scripts/Dockerfile b/scripts/Dockerfile new file mode 100644 index 0000000..20637c0 --- /dev/null +++ b/scripts/Dockerfile @@ -0,0 +1,13 @@ +FROM node:14-alpine + +WORKDIR /app + +COPY package.json yarn.lock ./ + +RUN yarn install + +COPY . . + +RUN yarn compile + +ENTRYPOINT ["node", "./scripts/deposit.js"] diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 0000000..7b5f08e --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,16 @@ +## Batch deposit helper script + +Use this script to send multiple SBC deposits in batches. + +First, make sure you have generated valid deposits via a deposit cli (https://github.com/openethereum/sbc-deposit-cli). +You will need a `deposit_data.json` file from there. + +Now, copy `./scripts/.env.example` file to `./scripts/.env` and update necessary parameters. + +Then run the following: +```bash +docker build -f ./scripts/Dockerfile -t batch_deposit . +docker run --env-file ./scripts/.env -v /path/to/deposit_data.json:/tmp/deposit_data.json batch_deposit /tmp/deposit_data.json +``` + +This will read the `deposit_data.json` file and submit deposits from `OFFSET` to `OFFSET + N - 1` to the deposit contract. diff --git a/scripts/deposit.js b/scripts/deposit.js new file mode 100644 index 0000000..1dd5bb2 --- /dev/null +++ b/scripts/deposit.js @@ -0,0 +1,80 @@ +const Web3 = require('web3') + +const { abi } = require('../build/contracts/IERC677.json') + +const { RPC_URL, GAS_PRICE, STAKING_ACCOUNT_PRIVATE_KEY, BATCH_SIZE, N, OFFSET, TOKEN_ADDRESS, DEPOSIT_CONTRACT_ADDRESS } = process.env + +const web3 = new Web3(RPC_URL) +const { address } = web3.eth.accounts.wallet.add(STAKING_ACCOUNT_PRIVATE_KEY) + +const depositData = require(process.argv[2]) + +const batchSize = parseInt(BATCH_SIZE, 10) +const offset = parseInt(OFFSET, 10) +const n = parseInt(N, 10) +async function main() { + const token = new web3.eth.Contract(abi, TOKEN_ADDRESS) + const deposits = depositData.slice(offset, offset + n) + + const wc = deposits[0].withdrawal_credentials + if (!deposits.every(d => d.withdrawal_credentials === wc)) { + console.log('Withdrawal credentials do not match') + return + } + + if (!deposits.every(d => d.amount === 32000000000)) { + console.log('Amount should be exactly 32 tokens for batch deposits') + return + } + + const depositAmountBN = web3.utils.toBN(32).mul(web3.utils.toBN('1000000000000000000')) + const tokenBalance = await token.methods.balanceOf(address).call() + + if (web3.utils.toBN(tokenBalance).lt(depositAmountBN)) { + console.log(`Token balance is not enough to cover all deposits, have ${tokenBalance}, required ${depositAmountBN.toString()}`) + return + } + + console.log(`Sending ${Math.ceil(deposits.length / batchSize)} deposit transactions for ${deposits.length} deposits in batches of ${batchSize} deposits`) + let balance = await web3.eth.getBalance(address).then(web3.utils.toBN) + let nonce = await web3.eth.getTransactionCount(address) + let count = 0 + let data = '0x' + wc + for (let i = 0; i < deposits.length; i++) { + const deposit = deposits[i] + data += deposit.pubkey + data += deposit.signature + data += deposit.deposit_data_root + count++ + + if (count === batchSize || i === deposits.length - 1) { + const amount = depositAmountBN.muln(count) + const call = token.methods.transferAndCall(DEPOSIT_CONTRACT_ADDRESS, amount, data) + let gas + try { + gas = await call.estimateGas({ from: address }) + } catch (e) { + console.log('Gas estimation failed:', e.message) + return + } + const gasLimit = Math.ceil(gas * 1.5) + const feeBN = web3.utils.toBN(GAS_PRICE).muln(gasLimit) + if (balance.lt(feeBN)) { + console.log(`Native balance is not enough to cover tx fee, have ${balance.toString()}, required ${feeBN.toString()}`) + return + } + const receipt = await call.send({ + from: address, + nonce: nonce++, + gas: gasLimit, + gasPrice: GAS_PRICE, + }) + balance = balance.sub(web3.utils.toBN(GAS_PRICE).muln(receipt.gasUsed)) + console.log(`\t${count} next deposits: ${receipt.transactionHash}`) + data = '0x' + wc + count = 0 + } + } +} + +main() diff --git a/yarn.lock b/yarn.lock index 782b37a..e8c4a44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11555,6 +11555,15 @@ web3-bzz@1.5.3: got "9.6.0" swarm-js "^0.1.40" +web3-bzz@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.0.tgz#584b51339f21eedff159abc9239b4b7ef6ded840" + integrity sha512-ugYV6BsinwhIi0CsLWINBz4mqN9wR9vNG0WmyEbdECjxcPyr6vkaWt4qi0zqlUxEnYAwGj4EJXNrbjPILntQTQ== + dependencies: + "@types/node" "^12.12.6" + got "9.6.0" + swarm-js "^0.1.40" + web3-core-helpers@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.5.0.tgz#bca7645aaf2f22910df15d6d359e7f466b5d65ca" @@ -11571,6 +11580,14 @@ web3-core-helpers@1.5.3: web3-eth-iban "1.5.3" web3-utils "1.5.3" +web3-core-helpers@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz#77e161b6ba930a4008a0df804ab379e0aa7e1e7f" + integrity sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg== + dependencies: + web3-eth-iban "1.6.0" + web3-utils "1.6.0" + web3-core-method@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.0.tgz#1940e4da7def63d00f9141b84c4d0d66d25428a7" @@ -11594,6 +11611,18 @@ web3-core-method@1.5.3: web3-core-subscriptions "1.5.3" web3-utils "1.5.3" +web3-core-method@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.0.tgz#ebe4ea51f5a4fa809bb68185576186359d3982e9" + integrity sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g== + dependencies: + "@ethereumjs/common" "^2.4.0" + "@ethersproject/transactions" "^5.0.0-beta.135" + web3-core-helpers "1.6.0" + web3-core-promievent "1.6.0" + web3-core-subscriptions "1.6.0" + web3-utils "1.6.0" + web3-core-promievent@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.0.tgz#fab9fe72520e46d8fee73ccf8d2f15243e4bc4fd" @@ -11608,6 +11637,13 @@ web3-core-promievent@1.5.3: dependencies: eventemitter3 "4.0.4" +web3-core-promievent@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz#8b6053ae83cb47164540167fc361469fc604d2dd" + integrity sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ== + dependencies: + eventemitter3 "4.0.4" + web3-core-requestmanager@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.0.tgz#126427fb29efe15bbac090d3aad09b3842c6dbf6" @@ -11630,6 +11666,17 @@ web3-core-requestmanager@1.5.3: web3-providers-ipc "1.5.3" web3-providers-ws "1.5.3" +web3-core-requestmanager@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz#8ef3a3b89cd08983bd94574f9c5893f70a8a6aea" + integrity sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA== + dependencies: + util "^0.12.0" + web3-core-helpers "1.6.0" + web3-providers-http "1.6.0" + web3-providers-ipc "1.6.0" + web3-providers-ws "1.6.0" + web3-core-subscriptions@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.0.tgz#c7f77fc0db061cd9290987b08540f91e9d4b8bca" @@ -11646,6 +11693,14 @@ web3-core-subscriptions@1.5.3: eventemitter3 "4.0.4" web3-core-helpers "1.5.3" +web3-core-subscriptions@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz#8c23b15b434a7c9f937652ecca45d7108e2c54df" + integrity sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.6.0" + web3-core@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.0.tgz#46c09283bcfe197df0c543dbe751650cea157a7f" @@ -11672,6 +11727,19 @@ web3-core@1.5.3: web3-core-requestmanager "1.5.3" web3-utils "1.5.3" +web3-core@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.0.tgz#144eb00f651c9812faf7176abd7ee99d5f45e212" + integrity sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g== + dependencies: + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-core-requestmanager "1.6.0" + web3-utils "1.6.0" + web3-eth-abi@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.5.0.tgz#10a4bf11ec2302c6cf313b5de4e2e12d9620d648" @@ -11688,6 +11756,14 @@ web3-eth-abi@1.5.3: "@ethersproject/abi" "5.0.7" web3-utils "1.5.3" +web3-eth-abi@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz#4225608f61ebb0607d80849bb2b20f910780253d" + integrity sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA== + dependencies: + "@ethersproject/abi" "5.0.7" + web3-utils "1.6.0" + web3-eth-accounts@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.5.0.tgz#1a71e12758440884450f4939290569ff82976cc3" @@ -11722,6 +11798,23 @@ web3-eth-accounts@1.5.3: web3-core-method "1.5.3" web3-utils "1.5.3" +web3-eth-accounts@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.0.tgz#530927f4c5b78df93b3ea1203abbb467de29cd04" + integrity sha512-2f6HS4KIH4laAsNCOfbNX3dRiQosqSY2TRK86C8jtAA/QKGdx+5qlPfYzbI2RjG81iayb2+mVbHIaEaBGZ8sGw== + dependencies: + "@ethereumjs/common" "^2.3.0" + "@ethereumjs/tx" "^3.2.1" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "3.3.2" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-utils "1.6.0" + web3-eth-contract@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.5.0.tgz#f584a083316424110af95c3ad00c1c3a8a1796d2" @@ -11750,6 +11843,20 @@ web3-eth-contract@1.5.3: web3-eth-abi "1.5.3" web3-utils "1.5.3" +web3-eth-contract@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.0.tgz#deb946867ad86d32bcbba899d733b681b25ea674" + integrity sha512-ZUtO77zFnxuFtrc+D+iJ3AzNgFXAVcKnhEYN7f1PNz/mFjbtE6dJ+ujO0mvMbxIZF02t9IZv0CIXRpK0rDvZAw== + dependencies: + "@types/bn.js" "^4.11.5" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-core-promievent "1.6.0" + web3-core-subscriptions "1.6.0" + web3-eth-abi "1.6.0" + web3-utils "1.6.0" + web3-eth-ens@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.5.0.tgz#f92ce19a541e42a0da4b8b04f7161d7a20ad3e86" @@ -11778,6 +11885,20 @@ web3-eth-ens@1.5.3: web3-eth-contract "1.5.3" web3-utils "1.5.3" +web3-eth-ens@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.0.tgz#af13852168d56fa71b9198eb097e96fb93831c2a" + integrity sha512-AG24PNv9qbYHSpjHcU2pViOII0jvIR7TeojJ2bxXSDqfcgHuRp3NZGKv6xFvT4uNI4LEQHUhSC7bzHoNF5t8CA== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-promievent "1.6.0" + web3-eth-abi "1.6.0" + web3-eth-contract "1.6.0" + web3-utils "1.6.0" + web3-eth-iban@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.0.tgz#8c3a1aa7aeed4080ba7d077612ce17025eb0d67d" @@ -11794,6 +11915,14 @@ web3-eth-iban@1.5.3: bn.js "^4.11.9" web3-utils "1.5.3" +web3-eth-iban@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz#edbe46cedc5b148d53fa455edea6b4eef53b2be7" + integrity sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw== + dependencies: + bn.js "^4.11.9" + web3-utils "1.6.0" + web3-eth-personal@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.5.0.tgz#79e604f38439fbb7a9d4dcb20094359d20d3d388" @@ -11818,6 +11947,18 @@ web3-eth-personal@1.5.3: web3-net "1.5.3" web3-utils "1.5.3" +web3-eth-personal@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.0.tgz#b75a61c0737b8b8bcc11d05db2ed7bfce7e4b262" + integrity sha512-8ohf4qAwbShf4RwES2tLHVqa+pHZnS5Q6tV80sU//bivmlZeyO1W4UWyNn59vu9KPpEYvLseOOC6Muxuvr8mFQ== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-net "1.6.0" + web3-utils "1.6.0" + web3-eth@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.5.0.tgz#819466117dfdc191095d6feb58b24023e016cb20" @@ -11854,6 +11995,24 @@ web3-eth@1.5.3: web3-net "1.5.3" web3-utils "1.5.3" +web3-eth@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.0.tgz#4c9d5fb4eccf9f8744828281757e6ea76af58cbd" + integrity sha512-qJMvai//r0be6I9ghU24/152f0zgJfYC23TMszN3Y6jse1JtjCBP2TlTibFcvkUN1RRdIUY5giqO7ZqAYAmp7w== + dependencies: + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-core-subscriptions "1.6.0" + web3-eth-abi "1.6.0" + web3-eth-accounts "1.6.0" + web3-eth-contract "1.6.0" + web3-eth-ens "1.6.0" + web3-eth-iban "1.6.0" + web3-eth-personal "1.6.0" + web3-net "1.6.0" + web3-utils "1.6.0" + web3-net@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.5.0.tgz#21ccbe7af3c3065633086b1e82ef100d833944b4" @@ -11872,6 +12031,15 @@ web3-net@1.5.3: web3-core-method "1.5.3" web3-utils "1.5.3" +web3-net@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.0.tgz#2c28f8787073110a7c2310336889d2dad647e500" + integrity sha512-LFfG95ovTT2sNHkO1TEfsaKpYcxOSUtbuwHQ0K3G0e5nevKDJkPEFIqIcob40yiwcWoqEjENJP9Bjk8CRrZ99Q== + dependencies: + web3-core "1.6.0" + web3-core-method "1.6.0" + web3-utils "1.6.0" + web3-providers-http@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.5.0.tgz#47297ac0f058e1c9af7a1528d1dfc2a67d602e93" @@ -11888,6 +12056,14 @@ web3-providers-http@1.5.3: web3-core-helpers "1.5.3" xhr2-cookies "1.1.0" +web3-providers-http@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.0.tgz#8db4e589abf7197f5d65b12af1bf9726c45f4160" + integrity sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA== + dependencies: + web3-core-helpers "1.6.0" + xhr2-cookies "1.1.0" + web3-providers-ipc@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.0.tgz#69d9b3a23f6bfd52f649f3bfbfa6696b159fa80a" @@ -11904,6 +12080,14 @@ web3-providers-ipc@1.5.3: oboe "2.1.5" web3-core-helpers "1.5.3" +web3-providers-ipc@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz#6a3410fd47a67c4a36719fb97f99534ae12aac98" + integrity sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.6.0" + web3-providers-ws@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.0.tgz#c78253af17dfdcd4f8a4c3a8ac1a684a73886ae7" @@ -11922,6 +12106,15 @@ web3-providers-ws@1.5.3: web3-core-helpers "1.5.3" websocket "^1.0.32" +web3-providers-ws@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz#dc15dc18c30089efda992015fd5254bd2b77af5f" + integrity sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.6.0" + websocket "^1.0.32" + web3-shh@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.5.0.tgz#eabf7c346605b107f51dfe5e6df9643a4b5eb7aa" @@ -11942,6 +12135,16 @@ web3-shh@1.5.3: web3-core-subscriptions "1.5.3" web3-net "1.5.3" +web3-shh@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.0.tgz#838a3435dce1039f669a48e53e948062de197931" + integrity sha512-ymN0OFL81WtEeSyb+PFpuUv39fR3frGwsZnIg5EVPZvrOIdaDSFcGSLDmafUt0vKSubvLMVYIBOCskRD6YdtEQ== + dependencies: + web3-core "1.6.0" + web3-core-method "1.6.0" + web3-core-subscriptions "1.6.0" + web3-net "1.6.0" + web3-utils@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.0.tgz#48c8ba0d95694e73b9a6d473d955880cd4758e4a" @@ -11968,7 +12171,7 @@ web3-utils@1.5.3: randombytes "^2.1.0" utf8 "3.0.0" -web3-utils@^1.3.0: +web3-utils@1.6.0, web3-utils@^1.3.0: version "1.6.0" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.0.tgz#1975c5ee5b7db8a0836eb7004848a7cd962d1ddc" integrity sha512-bgCAWAeQnJF035YTFxrcHJ5mGEfTi/McsjqldZiXRwlHK7L1PyOqvXiQLE053dlzvy1kdAxWl/sSSfLMyNUAXg== @@ -12007,6 +12210,19 @@ web3@1.5.3: web3-shh "1.5.3" web3-utils "1.5.3" +web3@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.0.tgz#d8fa0cd9e7bf252f9fe43bb77dc42bc6671affde" + integrity sha512-rWpXnO88MiVX5yTRqMBCVKASxc7QDkXZZUl1D48sKlbX4dt3BAV+nVMVUKCBKiluZ5Bp8pDrVCUdPx/jIYai5Q== + dependencies: + web3-bzz "1.6.0" + web3-core "1.6.0" + web3-eth "1.6.0" + web3-eth-personal "1.6.0" + web3-net "1.6.0" + web3-shh "1.6.0" + web3-utils "1.6.0" + webidl-conversions@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506"