Add support for EIP1559 gas price oracle (#631)
This commit is contained in:
parent
296e5c5a22
commit
8d732adba1
@ -8,11 +8,11 @@ COMMON_HOME_RPC_URL | The HTTPS URL(s) used to communicate to the RPC nodes in t
|
||||
COMMON_FOREIGN_RPC_URL | The HTTPS URL(s) used to communicate to the RPC nodes in the Foreign network. Several URLs can be specified, delimited by spaces. If the connection to one of these nodes is lost the next URL is used for connection. | URL(s)
|
||||
COMMON_HOME_BRIDGE_ADDRESS | The address of the bridge contract address in the Home network. It is used to listen to events from and send validators' transactions to the Home network. | hexidecimal beginning with "0x"
|
||||
COMMON_FOREIGN_BRIDGE_ADDRESS | The address of the bridge contract address in the Foreign network. It is used to listen to events from and send validators' transactions to the Foreign network. | hexidecimal beginning with "0x"
|
||||
COMMON_HOME_GAS_PRICE_SUPPLIER_URL | The URL used to get a JSON response from the gas price prediction oracle for the Home network. The gas price provided by the oracle is used to send the validator's transactions to the RPC node. Since it is assumed that the Home network has a predefined gas price (e.g. the gas price in the Core of POA.Network is `1 GWei`), the gas price oracle parameter can be omitted for such networks. | URL
|
||||
COMMON_HOME_GAS_PRICE_SUPPLIER_URL | The URL used to get a JSON response from the gas price prediction oracle for the Home network. The gas price provided by the oracle is used to send the validator's transactions to the RPC node. Since it is assumed that the Home network has a predefined gas price (e.g. the gas price in the Core of POA.Network is `1 GWei`), the gas price oracle parameter can be omitted for such networks. Set to `eip1559-gas-estimation` if you want to use EIP1559 RPC-based gas estimation. | URL
|
||||
COMMON_HOME_GAS_PRICE_SPEED_TYPE | Assuming the gas price oracle responds with the following JSON structure: `{"fast": 20.0, "block_time": 12.834, "health": true, "standard": 6.0, "block_number": 6470469, "instant": 71.0, "slow": 1.889}`, this parameter specifies the desirable transaction speed. The speed type can be omitted when `COMMON_HOME_GAS_PRICE_SUPPLIER_URL` is not used. | `instant` / `fast` / `standard` / `slow`
|
||||
COMMON_HOME_GAS_PRICE_FALLBACK | The gas price (in Wei) that is used if both the oracle and the fall back gas price specified in the Home Bridge contract are not available. | integer
|
||||
COMMON_HOME_GAS_PRICE_FACTOR | A value that will multiply the gas price of the oracle to convert it to gwei. If the oracle API returns gas prices in gwei then this can be set to `1`. Also, it could be used to intentionally pay more gas than suggested by the oracle to guarantee the transaction verification. E.g. `1.25` or `1.5`. | integer
|
||||
COMMON_FOREIGN_GAS_PRICE_SUPPLIER_URL | The URL used to get a JSON response from the gas price prediction oracle for the Foreign network. The provided gas price is used to send the validator's transactions to the RPC node. If the Foreign network is Ethereum Foundation mainnet, the oracle URL can be: https://gasprice.poa.network. Otherwise this parameter can be omitted. Set to `gas-price-oracle` if you want to use npm `gas-price-oracle` package for retrieving gas price from multiple sources. | URL
|
||||
COMMON_FOREIGN_GAS_PRICE_SUPPLIER_URL | The URL used to get a JSON response from the gas price prediction oracle for the Foreign network. The provided gas price is used to send the validator's transactions to the RPC node. If the Foreign network is Ethereum Foundation mainnet, the oracle URL can be: https://gasprice.poa.network. Otherwise this parameter can be omitted. Set to `gas-price-oracle` if you want to use npm `gas-price-oracle` package for retrieving gas price from multiple sources. Set to `eip1559-gas-estimation` if you want to use EIP1559 RPC-based gas estimation. | URL
|
||||
COMMON_FOREIGN_GAS_PRICE_SPEED_TYPE | Assuming the gas price oracle responds with the following JSON structure: `{"fast": 20.0, "block_time": 12.834, "health": true, "standard": 6.0, "block_number": 6470469, "instant": 71.0, "slow": 1.889}`, this parameter specifies the desirable transaction speed. The speed type can be omitted when `COMMON_FOREIGN_GAS_PRICE_SUPPLIER_URL`is not used. | `instant` / `fast` / `standard` / `slow`
|
||||
COMMON_FOREIGN_GAS_PRICE_FALLBACK | The gas price (in Wei) used if both the oracle and fall back gas price specified in the Foreign Bridge contract are not available. | integer
|
||||
COMMON_FOREIGN_GAS_PRICE_FACTOR | A value that will multiply the gas price of the oracle to convert it to gwei. If the oracle API returns gas prices in gwei then this can be set to `1`. Also, it could be used to intentionally pay more gas than suggested by the oracle to guarantee the transaction verification. E.g. `1.25` or `1.5`. | integer
|
||||
|
@ -8,6 +8,7 @@
|
||||
"test": "NODE_ENV=test mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mycrypto/gas-estimation": "^1.1.0",
|
||||
"gas-price-oracle": "^0.1.5",
|
||||
"web3-utils": "^1.3.0",
|
||||
"node-fetch": "^2.1.2"
|
||||
|
@ -1,5 +1,6 @@
|
||||
const { toWei, toBN, BN } = require('web3-utils')
|
||||
const { GasPriceOracle } = require('gas-price-oracle')
|
||||
const { estimateFees } = require('@mycrypto/gas-estimation')
|
||||
const fetch = require('node-fetch')
|
||||
const { BRIDGE_MODES } = require('./constants')
|
||||
const { REWARDABLE_VALIDATORS_ABI } = require('./abis')
|
||||
@ -176,12 +177,20 @@ const gasPriceWithinLimits = (gasPrice, limits) => {
|
||||
const normalizeGasPrice = (oracleGasPrice, factor, limits = null) => {
|
||||
let gasPrice = oracleGasPrice * factor
|
||||
gasPrice = gasPriceWithinLimits(gasPrice, limits)
|
||||
return toBN(toWei(gasPrice.toFixed(2).toString(), 'gwei'))
|
||||
return toWei(gasPrice.toFixed(2).toString(), 'gwei')
|
||||
}
|
||||
|
||||
const gasPriceFromSupplier = async (url, options = {}) => {
|
||||
const gasPriceFromSupplier = async (web3, url, options = {}) => {
|
||||
try {
|
||||
let json
|
||||
if (url === 'eip1559-gas-estimation') {
|
||||
const { maxFeePerGas, maxPriorityFeePerGas } = await estimateFees(web3)
|
||||
const res = { maxFeePerGas: maxFeePerGas.toString(10), maxPriorityFeePerGas: maxPriorityFeePerGas.toString(10) }
|
||||
options.logger &&
|
||||
options.logger.debug &&
|
||||
options.logger.debug(res, 'Gas price updated using eip1559-gas-estimation')
|
||||
return res
|
||||
}
|
||||
if (url === 'gas-price-oracle') {
|
||||
json = await gasPriceOracle.fetchGasPricesOffChain()
|
||||
} else if (url) {
|
||||
@ -205,7 +214,7 @@ const gasPriceFromSupplier = async (url, options = {}) => {
|
||||
options.logger.debug &&
|
||||
options.logger.debug({ oracleGasPrice, normalizedGasPrice }, 'Gas price updated using the API')
|
||||
|
||||
return normalizedGasPrice
|
||||
return { gasPrice: normalizedGasPrice }
|
||||
} catch (e) {
|
||||
options.logger && options.logger.error && options.logger.error(`Gas Price API is not available. ${e.message}`)
|
||||
}
|
||||
@ -214,11 +223,11 @@ const gasPriceFromSupplier = async (url, options = {}) => {
|
||||
|
||||
const gasPriceFromContract = async (bridgeContract, options = {}) => {
|
||||
try {
|
||||
const gasPrice = await bridgeContract.methods.gasPrice().call()
|
||||
const gasPrice = (await bridgeContract.methods.gasPrice().call()).toString()
|
||||
options.logger &&
|
||||
options.logger.debug &&
|
||||
options.logger.debug({ gasPrice }, 'Gas price updated using the contracts')
|
||||
return gasPrice
|
||||
return { gasPrice }
|
||||
} catch (e) {
|
||||
options.logger &&
|
||||
options.logger.error &&
|
||||
|
@ -38,7 +38,7 @@
|
||||
"pino-pretty": "^2.0.1",
|
||||
"promise-limit": "^2.7.0",
|
||||
"promise-retry": "^1.1.1",
|
||||
"web3": "^1.3.0"
|
||||
"web3": "^1.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"bn-chai": "^1.0.1",
|
||||
|
@ -153,11 +153,11 @@ async function main({ sendJob, txHashes }) {
|
||||
}
|
||||
|
||||
async function sendJobTx(jobs) {
|
||||
await GasPrice.start(chain, true)
|
||||
const gasPrice = GasPrice.getPrice().toString(10)
|
||||
|
||||
const { web3 } = config.sender === 'foreign' ? config.foreign : config.home
|
||||
|
||||
await GasPrice.start(chain, web3, true)
|
||||
const gasPriceOptions = GasPrice.gasPriceOptions()
|
||||
|
||||
const chainId = await getChainId(web3)
|
||||
let nonce = await getNonce(web3, config.validatorAddress)
|
||||
|
||||
@ -174,13 +174,13 @@ async function sendJobTx(jobs) {
|
||||
const txHash = await sendTx({
|
||||
data: job.data,
|
||||
nonce,
|
||||
gasPrice,
|
||||
amount: '0',
|
||||
gasLimit,
|
||||
privateKey: config.validatorPrivateKey,
|
||||
to: job.to,
|
||||
chainId,
|
||||
web3
|
||||
web3,
|
||||
gasPriceOptions
|
||||
})
|
||||
|
||||
nonce++
|
||||
@ -197,7 +197,7 @@ async function sendJobTx(jobs) {
|
||||
|
||||
if (e.message.toLowerCase().includes('insufficient funds')) {
|
||||
const currentBalance = await web3.eth.getBalance(config.validatorAddress)
|
||||
const minimumBalance = gasLimit.multipliedBy(gasPrice)
|
||||
const minimumBalance = gasLimit.multipliedBy(gasPriceOptions.gasPrice || gasPriceOptions.maxFeePerGas)
|
||||
logger.error(
|
||||
`Insufficient funds: ${currentBalance}. Stop processing messages until the balance is at least ${minimumBalance}.`
|
||||
)
|
||||
|
@ -42,7 +42,7 @@ async function initialize() {
|
||||
|
||||
web3.currentProvider.urls.forEach(checkHttps(config.id))
|
||||
|
||||
GasPrice.start(config.id)
|
||||
GasPrice.start(config.id, web3)
|
||||
|
||||
chainId = await getChainId(web3)
|
||||
connectQueue()
|
||||
@ -120,7 +120,7 @@ async function main({ msg, ackMsg, nackMsg, channel, scheduleForRetry, scheduleT
|
||||
|
||||
const txArray = JSON.parse(msg.content)
|
||||
logger.debug(`Msg received with ${txArray.length} Tx to send`)
|
||||
const gasPrice = GasPrice.getPrice().toString(10)
|
||||
const gasPriceOptions = GasPrice.gasPriceOptions()
|
||||
|
||||
let nonce
|
||||
let insufficientFunds = false
|
||||
@ -158,24 +158,26 @@ async function main({ msg, ackMsg, nackMsg, channel, scheduleForRetry, scheduleT
|
||||
nonce = await readNonce(true)
|
||||
}
|
||||
|
||||
logger.info(`Transaction ${job.txHash} was not mined, updating gasPrice: ${job.gasPrice} -> ${gasPrice}`)
|
||||
const oldGasPrice = JSON.stringify(job.gasPriceOptions)
|
||||
const newGasPrice = JSON.stringify(gasPriceOptions)
|
||||
logger.info(`Transaction ${job.txHash} was not mined, updating gasPrice: ${oldGasPrice} -> ${newGasPrice}`)
|
||||
}
|
||||
logger.info(`Sending transaction with nonce ${nonce}`)
|
||||
const txHash = await sendTx({
|
||||
data: job.data,
|
||||
nonce,
|
||||
gasPrice,
|
||||
amount: '0',
|
||||
gasLimit,
|
||||
privateKey: config.validatorPrivateKey,
|
||||
to: job.to,
|
||||
chainId,
|
||||
web3: web3Redundant
|
||||
web3: web3Redundant,
|
||||
gasPriceOptions
|
||||
})
|
||||
const resendJob = {
|
||||
...job,
|
||||
txHash,
|
||||
gasPrice
|
||||
gasPriceOptions,
|
||||
...job
|
||||
}
|
||||
resendJobs.push(resendJob)
|
||||
|
||||
@ -193,7 +195,7 @@ async function main({ msg, ackMsg, nackMsg, channel, scheduleForRetry, scheduleT
|
||||
|
||||
if (isGasPriceError(e)) {
|
||||
logger.info('Replacement transaction underpriced, forcing gas price update')
|
||||
GasPrice.start(config.id)
|
||||
GasPrice.start(config.id, web3)
|
||||
failedTx.push(job)
|
||||
} else if (isResend || isSameTransactionError(e)) {
|
||||
resendJobs.push(job)
|
||||
@ -207,7 +209,7 @@ async function main({ msg, ackMsg, nackMsg, channel, scheduleForRetry, scheduleT
|
||||
if (isInsufficientBalanceError(e)) {
|
||||
insufficientFunds = true
|
||||
const currentBalance = await web3.eth.getBalance(config.validatorAddress)
|
||||
minimumBalance = gasLimit.multipliedBy(gasPrice)
|
||||
minimumBalance = gasLimit.multipliedBy(gasPriceOptions.gasPrice || gasPriceOptions.maxFeePerGas)
|
||||
logger.error(
|
||||
`Insufficient funds: ${currentBalance}. Stop processing messages until the balance is at least ${minimumBalance}.`
|
||||
)
|
||||
|
@ -20,21 +20,21 @@ const {
|
||||
COMMON_HOME_GAS_PRICE_FACTOR
|
||||
} = process.env
|
||||
|
||||
let cachedGasPrice = null
|
||||
let cachedGasPriceOptions = null
|
||||
|
||||
let fetchGasPriceInterval = null
|
||||
|
||||
const fetchGasPrice = async (speedType, factor, bridgeContract, gasPriceSupplierUrl) => {
|
||||
const fetchGasPrice = async (speedType, factor, web3, bridgeContract, gasPriceSupplierUrl) => {
|
||||
const contractOptions = { logger }
|
||||
const supplierOptions = { speedType, factor, limits: GAS_PRICE_BOUNDARIES, logger }
|
||||
cachedGasPrice =
|
||||
(await gasPriceFromSupplier(gasPriceSupplierUrl, supplierOptions)) ||
|
||||
cachedGasPriceOptions =
|
||||
(await gasPriceFromSupplier(web3, gasPriceSupplierUrl, supplierOptions)) ||
|
||||
(await gasPriceFromContract(bridgeContract, contractOptions)) ||
|
||||
cachedGasPrice
|
||||
return cachedGasPrice
|
||||
cachedGasPriceOptions
|
||||
return cachedGasPriceOptions
|
||||
}
|
||||
|
||||
async function start(chainId, fetchOnce) {
|
||||
async function start(chainId, web3, fetchOnce) {
|
||||
clearInterval(fetchGasPriceInterval)
|
||||
|
||||
let contract = null
|
||||
@ -49,7 +49,7 @@ async function start(chainId, fetchOnce) {
|
||||
updateInterval = ORACLE_HOME_GAS_PRICE_UPDATE_INTERVAL || DEFAULT_UPDATE_INTERVAL
|
||||
factor = Number(COMMON_HOME_GAS_PRICE_FACTOR) || DEFAULT_GAS_PRICE_FACTOR
|
||||
|
||||
cachedGasPrice = COMMON_HOME_GAS_PRICE_FALLBACK
|
||||
cachedGasPriceOptions = { gasPrice: COMMON_HOME_GAS_PRICE_FALLBACK }
|
||||
} else if (chainId === 'foreign') {
|
||||
contract = foreign.bridgeContract
|
||||
gasPriceSupplierUrl = COMMON_FOREIGN_GAS_PRICE_SUPPLIER_URL
|
||||
@ -57,7 +57,7 @@ async function start(chainId, fetchOnce) {
|
||||
updateInterval = ORACLE_FOREIGN_GAS_PRICE_UPDATE_INTERVAL || DEFAULT_UPDATE_INTERVAL
|
||||
factor = Number(COMMON_FOREIGN_GAS_PRICE_FACTOR) || DEFAULT_GAS_PRICE_FACTOR
|
||||
|
||||
cachedGasPrice = COMMON_FOREIGN_GAS_PRICE_FALLBACK
|
||||
cachedGasPriceOptions = { gasPrice: COMMON_FOREIGN_GAS_PRICE_FALLBACK }
|
||||
} else {
|
||||
throw new Error(`Unrecognized chainId '${chainId}'`)
|
||||
}
|
||||
@ -67,21 +67,21 @@ async function start(chainId, fetchOnce) {
|
||||
}
|
||||
|
||||
if (fetchOnce) {
|
||||
await fetchGasPrice(speedType, factor, contract, gasPriceSupplierUrl)
|
||||
await fetchGasPrice(speedType, factor, web3, contract, gasPriceSupplierUrl)
|
||||
} else {
|
||||
fetchGasPriceInterval = await setIntervalAndRun(
|
||||
() => fetchGasPrice(speedType, factor, contract, gasPriceSupplierUrl),
|
||||
() => fetchGasPrice(speedType, factor, web3, contract, gasPriceSupplierUrl),
|
||||
updateInterval
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
function getPrice() {
|
||||
return cachedGasPrice
|
||||
function gasPriceOptions() {
|
||||
return cachedGasPriceOptions
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
start,
|
||||
getPrice,
|
||||
gasPriceOptions,
|
||||
fetchGasPrice
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
const { toWei } = require('web3').utils
|
||||
|
||||
async function sendTx({ privateKey, data, nonce, gasPrice, amount, gasLimit, to, chainId, web3 }) {
|
||||
async function sendTx({ privateKey, data, nonce, gasPrice, gasPriceOptions, amount, gasLimit, to, chainId, web3 }) {
|
||||
const gasOpts = gasPriceOptions || { gasPrice }
|
||||
const serializedTx = await web3.eth.accounts.signTransaction(
|
||||
{
|
||||
nonce: Number(nonce),
|
||||
@ -8,8 +9,8 @@ async function sendTx({ privateKey, data, nonce, gasPrice, amount, gasLimit, to,
|
||||
to,
|
||||
data,
|
||||
value: toWei(amount),
|
||||
gasPrice,
|
||||
gas: gasLimit
|
||||
gas: gasLimit,
|
||||
...gasOpts
|
||||
},
|
||||
privateKey
|
||||
)
|
||||
|
@ -71,10 +71,10 @@ describe('gasPrice', () => {
|
||||
await gasPrice.start('home')
|
||||
|
||||
// when
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, null)
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, null, null)
|
||||
|
||||
// then
|
||||
expect(gasPrice.getPrice()).to.equal('101000000000')
|
||||
expect(gasPrice.gasPriceOptions()).to.eql({ gasPrice: '101000000000' })
|
||||
})
|
||||
|
||||
it('should fetch gas from supplier', async () => {
|
||||
@ -82,10 +82,10 @@ describe('gasPrice', () => {
|
||||
await gasPrice.start('home')
|
||||
|
||||
// when
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, 'url')
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, null, 'url')
|
||||
|
||||
// then
|
||||
expect(gasPrice.getPrice().toString()).to.equal('103000000000')
|
||||
expect(gasPrice.gasPriceOptions()).to.eql({ gasPrice: '103000000000' })
|
||||
})
|
||||
|
||||
it('should fetch gas from contract', async () => {
|
||||
@ -101,10 +101,10 @@ describe('gasPrice', () => {
|
||||
}
|
||||
|
||||
// when
|
||||
await gasPrice.fetchGasPrice('standard', 1, bridgeContractMock, null)
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, bridgeContractMock, null)
|
||||
|
||||
// then
|
||||
expect(gasPrice.getPrice().toString()).to.equal('102000000000')
|
||||
expect(gasPrice.gasPriceOptions()).to.eql({ gasPrice: '102000000000' })
|
||||
})
|
||||
|
||||
it('should fetch the gas price from the oracle first', async () => {
|
||||
@ -120,10 +120,10 @@ describe('gasPrice', () => {
|
||||
}
|
||||
|
||||
// when
|
||||
await gasPrice.fetchGasPrice('standard', 1, bridgeContractMock, 'url')
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, bridgeContractMock, 'url')
|
||||
|
||||
// then
|
||||
expect(gasPrice.getPrice().toString()).to.equal('103000000000')
|
||||
expect(gasPrice.gasPriceOptions()).to.eql({ gasPrice: '103000000000' })
|
||||
})
|
||||
|
||||
it('log error using the logger', async () => {
|
||||
@ -131,7 +131,7 @@ describe('gasPrice', () => {
|
||||
await gasPrice.start('home')
|
||||
|
||||
// when
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, null)
|
||||
await gasPrice.fetchGasPrice('standard', 1, null, null, null)
|
||||
|
||||
// then
|
||||
expect(fakeLogger.warn.calledOnce).to.equal(true) // one warning
|
||||
|
@ -45,5 +45,8 @@
|
||||
"compile:contracts": "yarn workspace tokenbridge-contracts run compile",
|
||||
"install:deploy": "cd contracts/deploy && npm install --unsafe-perm --silent",
|
||||
"postinstall": "test -n \"$NOYARNPOSTINSTALL\" || ln -sf $(pwd)/node_modules/openzeppelin-solidity/ contracts/node_modules/openzeppelin-solidity"
|
||||
},
|
||||
"resolutions": {
|
||||
"**/@mycrypto/eth-scan": "3.5.3"
|
||||
}
|
||||
}
|
||||
|
294
yarn.lock
294
yarn.lock
@ -1268,6 +1268,14 @@
|
||||
crc-32 "^1.2.0"
|
||||
ethereumjs-util "^7.1.0"
|
||||
|
||||
"@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.0":
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348"
|
||||
integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==
|
||||
dependencies:
|
||||
crc-32 "^1.2.0"
|
||||
ethereumjs-util "^7.1.3"
|
||||
|
||||
"@ethereumjs/tx@^3.2.1":
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.0.tgz#14ed1b7fa0f28e1cd61e3ecbdab824205f6a4378"
|
||||
@ -1276,6 +1284,14 @@
|
||||
"@ethereumjs/common" "^2.4.0"
|
||||
ethereumjs-util "^7.1.0"
|
||||
|
||||
"@ethereumjs/tx@^3.3.2":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7"
|
||||
integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==
|
||||
dependencies:
|
||||
"@ethereumjs/common" "^2.6.0"
|
||||
ethereumjs-util "^7.1.3"
|
||||
|
||||
"@ethersproject/abi@5.0.0-beta.142":
|
||||
version "5.0.0-beta.142"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.0-beta.142.tgz#cde0ced7daa2fbc98e35a2c31203331907e84a39"
|
||||
@ -1555,6 +1571,11 @@
|
||||
unique-filename "^1.1.1"
|
||||
which "^1.3.1"
|
||||
|
||||
"@findeth/abi@^0.7.1":
|
||||
version "0.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@findeth/abi/-/abi-0.7.1.tgz#60d0801cb252e587dc3228f00c00581bb748aebc"
|
||||
integrity sha512-9uNu+/UxeuIibxIB7slf7BGG2PWjgBZr+rKzohhLb7VuoZjmlCcKZkenqwErROxkPdsap7OGO/o1DuYMvObMvw==
|
||||
|
||||
"@graphql-tools/batch-delegate@^6.2.4", "@graphql-tools/batch-delegate@^6.2.6":
|
||||
version "6.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@graphql-tools/batch-delegate/-/batch-delegate-6.2.6.tgz#fbea98dc825f87ef29ea5f3f371912c2a2aa2f2c"
|
||||
@ -2812,6 +2833,22 @@
|
||||
resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121"
|
||||
integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw==
|
||||
|
||||
"@mycrypto/eth-scan@3.5.2", "@mycrypto/eth-scan@3.5.3":
|
||||
version "3.5.3"
|
||||
resolved "https://registry.yarnpkg.com/@mycrypto/eth-scan/-/eth-scan-3.5.3.tgz#c2c9cff253b4d2821f77ab0ba73b8f5d7dab1e4c"
|
||||
integrity sha512-CbMHc+RUCANQMGKt2T65UDZY5kKOHx8lSvupq5fB4UzglcINeyeEekd6TsbW0/1G+7lUXe6fELQmtGSqEPQSvg==
|
||||
dependencies:
|
||||
"@findeth/abi" "^0.7.1"
|
||||
isomorphic-unfetch "^3.1.0"
|
||||
nanoid "^3.1.28"
|
||||
|
||||
"@mycrypto/gas-estimation@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@mycrypto/gas-estimation/-/gas-estimation-1.1.0.tgz#3f7af47aa487a6eb5d324db5ee11a66845c20c1e"
|
||||
integrity sha512-/riP5G6DYp3uQBhC9vpWqbK+g6Uebs7AYjaivRF6V581h+PoObh0LqIZuKSzWZ5M+zPCxrrZHO43yR/jtpdq1w==
|
||||
dependencies:
|
||||
"@mycrypto/eth-scan" "3.5.2"
|
||||
|
||||
"@nodefactory/filsnap-adapter@^0.2.1":
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@nodefactory/filsnap-adapter/-/filsnap-adapter-0.2.2.tgz#0e182150ce3825b6c26b8512ab9355ab7759b498"
|
||||
@ -10720,6 +10757,17 @@ ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0:
|
||||
ethjs-util "0.1.6"
|
||||
rlp "^2.2.4"
|
||||
|
||||
ethereumjs-util@^7.1.3:
|
||||
version "7.1.3"
|
||||
resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23"
|
||||
integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==
|
||||
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.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6"
|
||||
@ -14006,6 +14054,14 @@ isobject@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0"
|
||||
integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==
|
||||
|
||||
isomorphic-unfetch@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f"
|
||||
integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==
|
||||
dependencies:
|
||||
node-fetch "^2.6.1"
|
||||
unfetch "^4.2.0"
|
||||
|
||||
isomorphic-ws@4.0.1, isomorphic-ws@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
|
||||
@ -16663,6 +16719,11 @@ nanoid@^3.1.12, nanoid@^3.1.3:
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844"
|
||||
integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==
|
||||
|
||||
nanoid@^3.1.28:
|
||||
version "3.1.30"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362"
|
||||
integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==
|
||||
|
||||
nanomatch@^1.2.9:
|
||||
version "1.2.13"
|
||||
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
|
||||
@ -23073,6 +23134,11 @@ underscore@~1.4.4:
|
||||
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
|
||||
integrity sha1-YaajIBBiKvoHljvzJSA88SI51gQ=
|
||||
|
||||
unfetch@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
|
||||
integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==
|
||||
|
||||
unicode-canonical-property-names-ecmascript@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
|
||||
@ -23712,6 +23778,15 @@ web3-bzz@1.5.2:
|
||||
got "9.6.0"
|
||||
swarm-js "^0.1.40"
|
||||
|
||||
web3-bzz@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.1.tgz#8430eb3cbb69baaee4981d190b840748c37a9ec2"
|
||||
integrity sha512-JbnFNbRlwwHJZPtVuCxo7rC4U4OTg+mPsyhjgPQJJhS0a6Y54OgVWYk9UA/95HqbmTJwTtX329gJoSsseEfrng==
|
||||
dependencies:
|
||||
"@types/node" "^12.12.6"
|
||||
got "9.6.0"
|
||||
swarm-js "^0.1.40"
|
||||
|
||||
web3-core-helpers@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz#f5f32d71c60a4a3bd14786118e633ce7ca6d5d0d"
|
||||
@ -23756,6 +23831,14 @@ web3-core-helpers@1.5.2:
|
||||
web3-eth-iban "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-core-helpers@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz#cb21047306871f4cf0fedfece7d47ea2aa96141b"
|
||||
integrity sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng==
|
||||
dependencies:
|
||||
web3-eth-iban "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-core-method@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.1.tgz#9df1bafa2cd8be9d9937e01c6a47fc768d15d90a"
|
||||
@ -23814,6 +23897,17 @@ web3-core-method@1.5.2:
|
||||
web3-core-subscriptions "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-core-method@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.1.tgz#4ae91c639bf1da85ebfd8b99595da6a2235d7b98"
|
||||
integrity sha512-szH5KyIWIaULQDBdDvevQUCHV9lsExJ/oV0ePqK+w015D2SdMPMuhii0WB+HCePaksWO+rr/GAypvV9g2T3N+w==
|
||||
dependencies:
|
||||
"@ethersproject/transactions" "^5.0.0-beta.135"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-promievent "1.6.1"
|
||||
web3-core-subscriptions "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-core-promievent@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz#003e8a3eb82fb27b6164a6d5b9cad04acf733838"
|
||||
@ -23851,6 +23945,13 @@ web3-core-promievent@1.5.2:
|
||||
dependencies:
|
||||
eventemitter3 "4.0.4"
|
||||
|
||||
web3-core-promievent@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.1.tgz#f650dea9361e2edf02691015b213fcc8ea499992"
|
||||
integrity sha512-byJ5s2MQxrWdXd27pWFmujfzsTZK4ik8rDgIV1RFDFc+rHZ2nZhq+VWk7t/Nkrj7EaVXncEgTdPEHc18nx+ocQ==
|
||||
dependencies:
|
||||
eventemitter3 "4.0.4"
|
||||
|
||||
web3-core-requestmanager@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz#fa2e2206c3d738db38db7c8fe9c107006f5c6e3d"
|
||||
@ -23907,6 +24008,17 @@ web3-core-requestmanager@1.5.2:
|
||||
web3-providers-ipc "1.5.2"
|
||||
web3-providers-ws "1.5.2"
|
||||
|
||||
web3-core-requestmanager@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.1.tgz#d9c08b0716c9cda546a0c02767b7e08deb04448a"
|
||||
integrity sha512-4y7etYEUtkfflyYVBfN1oJtCbVFNhNX1omlEYzezhTnPj3/dT7n+dhUXcqvIhx9iKA13unGfpFge80XNFfcB8A==
|
||||
dependencies:
|
||||
util "^0.12.0"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-providers-http "1.6.1"
|
||||
web3-providers-ipc "1.6.1"
|
||||
web3-providers-ws "1.6.1"
|
||||
|
||||
web3-core-subscriptions@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz#8c2368a839d4eec1c01a4b5650bbeb82d0e4a099"
|
||||
@ -23951,6 +24063,14 @@ web3-core-subscriptions@1.5.2:
|
||||
eventemitter3 "4.0.4"
|
||||
web3-core-helpers "1.5.2"
|
||||
|
||||
web3-core-subscriptions@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.1.tgz#4dfc1f74137354d4ac9eaa628aa916c5e2cc8741"
|
||||
integrity sha512-WZwxsYttIojyGQ5RqxuQcKg0IJdDCFpUe4EncS3QKZwxPqWzGmgyLwE0rm7tP+Ux1waJn5CUaaoSCBxWGSun1g==
|
||||
dependencies:
|
||||
eventemitter3 "4.0.4"
|
||||
web3-core-helpers "1.6.1"
|
||||
|
||||
web3-core@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.1.tgz#7278b58fb6495065e73a77efbbce781a7fddf1a9"
|
||||
@ -24012,6 +24132,19 @@ web3-core@1.5.2:
|
||||
web3-core-requestmanager "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-core@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.1.tgz#b41f08fdc9ea1082d15384a3d6fa93a47c3fc1b4"
|
||||
integrity sha512-m+b7UfYvU5cQUAh6NRfxRzH/5B3to1AdEQi1HIQt570cDWlObOOmoO9tY6iJnI5w4acxIO19LqjDMqEJGBYyRQ==
|
||||
dependencies:
|
||||
"@types/bn.js" "^4.11.5"
|
||||
"@types/node" "^12.12.6"
|
||||
bignumber.js "^9.0.0"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-core-requestmanager "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth-abi@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz#9b915b1c9ebf82f70cca631147035d5419064689"
|
||||
@ -24056,6 +24189,14 @@ web3-eth-abi@1.5.2:
|
||||
"@ethersproject/abi" "5.0.7"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth-abi@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.1.tgz#15b937e3188570754d50bbac51a4bb0578600d1d"
|
||||
integrity sha512-svhYrAlXP9XQtV7poWKydwDJq2CaNLMtmKydNXoOBLcQec6yGMP+v20pgrxF2H6wyTK+Qy0E3/5ciPOqC/VuoQ==
|
||||
dependencies:
|
||||
"@ethersproject/abi" "5.0.7"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth-accounts@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz#2741a8ef337a7219d57959ac8bd118b9d68d63cf"
|
||||
@ -24142,6 +24283,23 @@ web3-eth-accounts@1.5.2:
|
||||
web3-core-method "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth-accounts@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.1.tgz#aeb0dfb52c4391773550569732975b471212583f"
|
||||
integrity sha512-rGn3jwnuOKwaQRu4SiShz0YAQ87aVDBKs4HO43+XTCI1q1Y1jn3NOsG3BW9ZHaOckev4+zEyxze/Bsh2oEk24w==
|
||||
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 "3.3.2"
|
||||
web3-core "1.6.1"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth-contract@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz#3542424f3d341386fd9ff65e78060b85ac0ea8c4"
|
||||
@ -24215,6 +24373,20 @@ web3-eth-contract@1.5.2:
|
||||
web3-eth-abi "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth-contract@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.1.tgz#4b0a2c0b37015d70146e54c7cb3f035a58fbeec0"
|
||||
integrity sha512-GXqTe3mF6kpbOAakiNc7wtJ120/gpuKMTZjuGFKeeY8aobRLfbfgKzM9IpyqVZV2v5RLuGXDuurVN2KPgtu3hQ==
|
||||
dependencies:
|
||||
"@types/bn.js" "^4.11.5"
|
||||
web3-core "1.6.1"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-core-promievent "1.6.1"
|
||||
web3-core-subscriptions "1.6.1"
|
||||
web3-eth-abi "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth-ens@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz#a0e52eee68c42a8b9865ceb04e5fb022c2d971d5"
|
||||
@ -24287,6 +24459,20 @@ web3-eth-ens@1.5.2:
|
||||
web3-eth-contract "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth-ens@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.1.tgz#801bd5fb5237377ec2ed8517a9fe4634f2269c7a"
|
||||
integrity sha512-ngprtbnoRgxg8s1wXt9nXpD3h1P+p7XnKXrp/8GdFI9uDmrbSQPRfzBw86jdZgOmy78hAnWmrHI6pBInmgi2qQ==
|
||||
dependencies:
|
||||
content-hash "^2.5.2"
|
||||
eth-ens-namehash "2.0.8"
|
||||
web3-core "1.6.1"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-promievent "1.6.1"
|
||||
web3-eth-abi "1.6.1"
|
||||
web3-eth-contract "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth-iban@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz#2c3801718946bea24e9296993a975c80b5acf880"
|
||||
@ -24327,6 +24513,14 @@ web3-eth-iban@1.5.2:
|
||||
bn.js "^4.11.9"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth-iban@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz#20bbed75723e3e9ff98e624979629d26329462b6"
|
||||
integrity sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q==
|
||||
dependencies:
|
||||
bn.js "^4.11.9"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth-personal@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz#244e9911b7b482dc17c02f23a061a627c6e47faf"
|
||||
@ -24386,6 +24580,18 @@ web3-eth-personal@1.5.2:
|
||||
web3-net "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth-personal@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.1.tgz#9b524fb9f92b51163f46920ee2663d34a4897c8d"
|
||||
integrity sha512-ItsC89Ln02+irzJjK6ALcLrMZfbVUCqVbmb/ieDKJ+eLW3pNkBNwoUzaydh92d5NzxNZgNxuQWVdlFyYX2hkEw==
|
||||
dependencies:
|
||||
"@types/node" "^12.12.6"
|
||||
web3-core "1.6.1"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-net "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-eth@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.1.tgz#b9989e2557c73a9e8ffdc107c6dafbe72c79c1b0"
|
||||
@ -24480,6 +24686,24 @@ web3-eth@1.5.2:
|
||||
web3-net "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-eth@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.1.tgz#a25aba1ac213d872ecf3f81c7b4ab8072ecae224"
|
||||
integrity sha512-kOV1ZgCKypSo5BQyltRArS7ZC3bRpIKAxSgzl7pUFinUb/MxfbM9KGeNxUXoCfTSErcCQJaDjcS6bSre5EMKuQ==
|
||||
dependencies:
|
||||
web3-core "1.6.1"
|
||||
web3-core-helpers "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-core-subscriptions "1.6.1"
|
||||
web3-eth-abi "1.6.1"
|
||||
web3-eth-accounts "1.6.1"
|
||||
web3-eth-contract "1.6.1"
|
||||
web3-eth-ens "1.6.1"
|
||||
web3-eth-iban "1.6.1"
|
||||
web3-eth-personal "1.6.1"
|
||||
web3-net "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-net@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.1.tgz#edd249503315dd5ab4fa00220f6509d95bb7ab10"
|
||||
@ -24525,6 +24749,15 @@ web3-net@1.5.2:
|
||||
web3-core-method "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3-net@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.1.tgz#7a630a804ec9f81908ae52ccbb4ebbb9530b3906"
|
||||
integrity sha512-gpnqKEIwfUHh5ik7wsQFlCje1DfcmGv+Sk7LCh1hCqn++HEDQxJ/mZCrMo11ZZpZHCH7c87imdxTg96GJnRxDw==
|
||||
dependencies:
|
||||
web3-core "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
web3-provider-engine@14.1.0:
|
||||
version "14.1.0"
|
||||
resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-14.1.0.tgz#91590020f8b8c1b65846321310cbfdb039090fc6"
|
||||
@ -24644,6 +24877,14 @@ web3-providers-http@1.5.2:
|
||||
web3-core-helpers "1.5.2"
|
||||
xhr2-cookies "1.1.0"
|
||||
|
||||
web3-providers-http@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.1.tgz#b59b14eefef23b98c327806f5f566303a73bd435"
|
||||
integrity sha512-xBoKOJxu10+kO3ikamXmBfrWZ/xpQOGy0ocdp7Y81B17En5TXELwlmMXt1UlIgWiyYDhjq4OwlH/VODYqHXy3A==
|
||||
dependencies:
|
||||
web3-core-helpers "1.6.1"
|
||||
xhr2-cookies "1.1.0"
|
||||
|
||||
web3-providers-ipc@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz#017bfc687a8fc5398df2241eb98f135e3edd672c"
|
||||
@ -24688,6 +24929,14 @@ web3-providers-ipc@1.5.2:
|
||||
oboe "2.1.5"
|
||||
web3-core-helpers "1.5.2"
|
||||
|
||||
web3-providers-ipc@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.1.tgz#7ba460589d46896bb3d124288deed1b6a72d517e"
|
||||
integrity sha512-anyoIZlpMzwEQI4lwylTzDrHsVp20v0QUtSTp2B5jInBinmQtyCE7vnbX20jEQ4j5uPwfJabKNtoJsk6a3O4WQ==
|
||||
dependencies:
|
||||
oboe "2.1.5"
|
||||
web3-core-helpers "1.6.1"
|
||||
|
||||
web3-providers-ws@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz#2d941eaf3d5a8caa3214eff8dc16d96252b842cb"
|
||||
@ -24735,6 +24984,15 @@ web3-providers-ws@1.5.2:
|
||||
web3-core-helpers "1.5.2"
|
||||
websocket "^1.0.32"
|
||||
|
||||
web3-providers-ws@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.1.tgz#f7ee71f158971102b865e99ea7911f483e0507e9"
|
||||
integrity sha512-FWMEFYb4rYFYRgSFBf/O1Ex4p/YKSlN+JydCtdlJwRimd89qm95CTfs4xGjCskwvXMjV2sarH+f1NPwJXicYpg==
|
||||
dependencies:
|
||||
eventemitter3 "4.0.4"
|
||||
web3-core-helpers "1.6.1"
|
||||
websocket "^1.0.32"
|
||||
|
||||
web3-shh@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.1.tgz#4460e3c1e07faf73ddec24ccd00da46f89152b0c"
|
||||
@ -24775,6 +25033,16 @@ web3-shh@1.5.2:
|
||||
web3-core-subscriptions "1.5.2"
|
||||
web3-net "1.5.2"
|
||||
|
||||
web3-shh@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.1.tgz#eebaab2e5e6be80fe2585c6c094fa10a03349ca7"
|
||||
integrity sha512-oP00HbAtybLCGlLOZUYXOdeB9xq88k2l0TtStvKBtmFqRt+zVk5TxEeuOnVPRxNhcA2Un8RUw6FtvgZlWStu9A==
|
||||
dependencies:
|
||||
web3-core "1.6.1"
|
||||
web3-core-method "1.6.1"
|
||||
web3-core-subscriptions "1.6.1"
|
||||
web3-net "1.6.1"
|
||||
|
||||
web3-utils@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.1.tgz#21466e38291551de0ab34558de21512ac4274534"
|
||||
@ -24843,6 +25111,19 @@ web3-utils@1.5.2, web3-utils@^1.2.6:
|
||||
randombytes "^2.1.0"
|
||||
utf8 "3.0.0"
|
||||
|
||||
web3-utils@1.6.1:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca"
|
||||
integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w==
|
||||
dependencies:
|
||||
bn.js "^4.11.9"
|
||||
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@*, web3@1.3.5, web3@^1.3.0:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/web3/-/web3-1.3.5.tgz#ef4c3a2241fdd74f2f7794e839f30bc6f9814e46"
|
||||
@ -24895,6 +25176,19 @@ web3@1.5.2:
|
||||
web3-shh "1.5.2"
|
||||
web3-utils "1.5.2"
|
||||
|
||||
web3@^1.6.0:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.1.tgz#c9e68fe7b3073adddf35393441f950ec69b92735"
|
||||
integrity sha512-c299lLiyb2/WOcxh7TinwvbATaMmrgNIeAzbLbmOKHI0LcwyfsB1eu2ReOIrfrCYDYRW2KAjYr7J7gHawqDNPQ==
|
||||
dependencies:
|
||||
web3-bzz "1.6.1"
|
||||
web3-core "1.6.1"
|
||||
web3-eth "1.6.1"
|
||||
web3-eth-personal "1.6.1"
|
||||
web3-net "1.6.1"
|
||||
web3-shh "1.6.1"
|
||||
web3-utils "1.6.1"
|
||||
|
||||
webidl-conversions@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506"
|
||||
|
Loading…
Reference in New Issue
Block a user