Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
142ce883b4 | ||
|
|
cdce2334e4 | ||
|
|
09c24e12c9 | ||
|
|
c1c6079745 | ||
|
|
eaaa54b7f9 | ||
|
|
6adf89472e | ||
|
|
b6ed5d2bc0 | ||
|
|
b4ee1e5117 | ||
|
|
56aa312829 | ||
|
|
07dcb5d258 | ||
|
|
4a17833462 | ||
|
|
c6652baa7c | ||
|
|
a8e504054e | ||
|
|
23e2e01172 | ||
|
|
07752e0714 | ||
|
|
37f6faa42d | ||
|
|
9599788224 | ||
|
|
72a665a19a | ||
|
|
f6a4e93a23 | ||
|
|
af7c597af9 | ||
|
|
221dce3d73 | ||
|
|
8d4bab7fc2 | ||
|
|
af65d78be9 | ||
|
|
bc0b369095 | ||
|
|
e1620e15c1 | ||
|
|
414fb28a5e | ||
|
|
780df01b43 | ||
|
|
c5e4d76dc5 | ||
|
|
8cb2bb0fbe | ||
|
|
6bb265d3b9 | ||
|
|
b940fad5e0 | ||
|
|
1634e5fb16 | ||
|
|
62bcd2aa95 | ||
|
|
1eec6aa329 | ||
|
|
715ad59273 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
.env
|
||||||
|
|||||||
12
package.json
12
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tx-manager",
|
"name": "tx-manager",
|
||||||
"version": "0.2.0",
|
"version": "0.4.8",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -13,15 +13,17 @@
|
|||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "Roman Semenov <semenov.roma@gmail.com>",
|
"author": "Roman Semenov <semenov.roma@gmail.com>",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"repository": "https://github.com/tornadocash/tx-manager",
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git://github.com/tornadocash/tx-manager.git"
|
||||||
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"src/*"
|
"src/*"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async-mutex": "^0.2.4",
|
"async-mutex": "^0.2.4",
|
||||||
"bn.js": "^5.1.3",
|
"ethers": "^5.4.6",
|
||||||
"ethers": "^5.0.17",
|
"gas-price-oracle": "^0.4.7",
|
||||||
"gas-price-oracle": "^0.1.5",
|
|
||||||
"web3-core-promievent": "^1.3.0"
|
"web3-core-promievent": "^1.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -4,21 +4,29 @@ const BigNumber = ethers.BigNumber
|
|||||||
const PromiEvent = require('web3-core-promievent')
|
const PromiEvent = require('web3-core-promievent')
|
||||||
const { sleep, min, max } = require('./utils')
|
const { sleep, min, max } = require('./utils')
|
||||||
|
|
||||||
// prettier-ignore
|
|
||||||
const nonceErrors = [
|
const nonceErrors = [
|
||||||
'Transaction nonce is too low. Try incrementing the nonce.',
|
'Transaction nonce is too low. Try incrementing the nonce.',
|
||||||
'nonce too low'
|
/nonce too low/i,
|
||||||
|
'nonce has already been used',
|
||||||
|
/OldNonce/,
|
||||||
|
'invalid transaction nonce',
|
||||||
]
|
]
|
||||||
|
|
||||||
const gasPriceErrors = [
|
const gasPriceErrors = [
|
||||||
'Transaction gas price supplied is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce.',
|
'Transaction gas price supplied is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce.',
|
||||||
'replacement transaction underpriced',
|
/replacement transaction underpriced/i,
|
||||||
|
/transaction underpriced/,
|
||||||
/Transaction gas price \d+wei is too low. There is another transaction with same nonce in the queue with gas price: \d+wei. Try increasing the gas price or incrementing the nonce./,
|
/Transaction gas price \d+wei is too low. There is another transaction with same nonce in the queue with gas price: \d+wei. Try increasing the gas price or incrementing the nonce./,
|
||||||
|
/FeeTooLow/,
|
||||||
|
/max fee per gas less than block base fee/,
|
||||||
]
|
]
|
||||||
|
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
const sameTxErrors = [
|
const sameTxErrors = [
|
||||||
'Transaction with the same hash was already imported.',
|
'Transaction with the same hash was already imported.',
|
||||||
|
'already known',
|
||||||
|
'AlreadyKnown',
|
||||||
|
'Known transaction'
|
||||||
]
|
]
|
||||||
|
|
||||||
class Transaction {
|
class Transaction {
|
||||||
@@ -61,12 +69,23 @@ class Transaction {
|
|||||||
this.tx = { ...tx }
|
this.tx = { ...tx }
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tx.gasLimit) {
|
if (!tx.gasLimit) {
|
||||||
tx.gasLimit = await this._wallet.estimateGas(tx)
|
tx.gasLimit = await this._estimateGas(tx)
|
||||||
tx.gasLimit = Math.floor(tx.gasLimit * this.config.GAS_LIMIT_MULTIPLIER)
|
tx.gasLimit = Math.floor(tx.gasLimit * this.config.GAS_LIMIT_MULTIPLIER)
|
||||||
|
tx.gasLimit = Math.min(tx.gasLimit, this.config.BLOCK_GAS_LIMIT)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tx.chainId = this.tx.chainId
|
||||||
tx.nonce = this.tx.nonce // can be different from `this.manager._nonce`
|
tx.nonce = this.tx.nonce // can be different from `this.manager._nonce`
|
||||||
tx.gasPrice = Math.max(this.tx.gasPrice, tx.gasPrice || 0) // start no less than current tx gas price
|
|
||||||
|
// start no less than current tx gas params
|
||||||
|
if (this.tx.gasPrice) {
|
||||||
|
tx.gasPrice = Math.max(this.tx.gasPrice, tx.gasPrice || 0)
|
||||||
|
} else {
|
||||||
|
tx.maxFeePerGas = Math.max(this.tx.maxFeePerGas, tx.maxFeePerGas || 0)
|
||||||
|
tx.maxPriorityFeePerGas = Math.max(this.tx.maxPriorityFeePerGas, tx.maxPriorityFeePerGas || 0)
|
||||||
|
}
|
||||||
|
|
||||||
this.tx = { ...tx }
|
this.tx = { ...tx }
|
||||||
this._increaseGasPrice()
|
this._increaseGasPrice()
|
||||||
@@ -82,7 +101,6 @@ class Transaction {
|
|||||||
from: this.address,
|
from: this.address,
|
||||||
to: this.address,
|
to: this.address,
|
||||||
value: 0,
|
value: 0,
|
||||||
gasLimit: 21000,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,16 +111,16 @@ class Transaction {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
async _execute() {
|
async _execute() {
|
||||||
await this.manager._mutex.acquire()
|
const mutexRelease = await this.manager._mutex.acquire()
|
||||||
try {
|
try {
|
||||||
await this._prepare()
|
await this._prepare()
|
||||||
await this._send()
|
await this._send()
|
||||||
const receipt = this._waitForConfirmations()
|
const receipt = await this._waitForConfirmations()
|
||||||
// we could have bumped nonce during execution, so get the latest one + 1
|
// we could have bumped nonce during execution, so get the latest one + 1
|
||||||
this.manager._nonce = this.tx.nonce + 1
|
this.manager._nonce = this.tx.nonce + 1
|
||||||
return receipt
|
return receipt
|
||||||
} finally {
|
} finally {
|
||||||
this.manager._mutex.release()
|
mutexRelease()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,24 +131,37 @@ class Transaction {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
async _prepare() {
|
async _prepare() {
|
||||||
if (!this.tx.gasLimit || this.config.ESTIMATE_GAS) {
|
if (!this.config.BLOCK_GAS_LIMIT) {
|
||||||
const gas = await this._wallet.estimateGas(this.tx)
|
const lastBlock = await this._provider.getBlock('latest')
|
||||||
if (!this.tx.gasLimit) {
|
this.config.BLOCK_GAS_LIMIT = Math.floor(lastBlock.gasLimit.toNumber() * 0.95)
|
||||||
this.tx.gasLimit = Math.floor(gas * this.config.GAS_LIMIT_MULTIPLIER)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!this.tx.gasPrice) {
|
|
||||||
this.tx.gasPrice = await this._getGasPrice('fast')
|
|
||||||
}
|
|
||||||
if (!this.manager._nonce) {
|
|
||||||
this.manager._nonce = await this._getLastNonce()
|
|
||||||
}
|
|
||||||
this.tx.nonce = this.manager._nonce
|
|
||||||
if (!this.manager._chainId) {
|
if (!this.manager._chainId) {
|
||||||
const net = await this._provider.getNetwork()
|
const net = await this._provider.getNetwork()
|
||||||
this.manager._chainId = net.chainId
|
this.manager._chainId = net.chainId
|
||||||
}
|
}
|
||||||
this.tx.chainId = this.manager._chainId
|
this.tx.chainId = this.manager._chainId
|
||||||
|
|
||||||
|
if (!this.tx.gasLimit || this.config.ESTIMATE_GAS) {
|
||||||
|
const gas = await this._estimateGas(this.tx)
|
||||||
|
if (!this.tx.gasLimit) {
|
||||||
|
const gasLimit = Math.floor(gas * this.config.GAS_LIMIT_MULTIPLIER)
|
||||||
|
this.tx.gasLimit = Math.min(gasLimit, this.config.BLOCK_GAS_LIMIT)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!this.manager._nonce) {
|
||||||
|
this.manager._nonce = await this._getLastNonce()
|
||||||
|
}
|
||||||
|
this.tx.nonce = this.manager._nonce
|
||||||
|
|
||||||
|
if (this.tx.gasPrice || (this.tx.maxFeePerGas && this.tx.maxPriorityFeePerGas)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const gasParams = await this._getGasParams()
|
||||||
|
|
||||||
|
this.tx = Object.assign(this.tx, gasParams)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -149,12 +180,11 @@ class Transaction {
|
|||||||
try {
|
try {
|
||||||
await this._broadcast(signedTx)
|
await this._broadcast(signedTx)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return this._handleSendError(e)
|
return this._handleRpcError(e, '_send')
|
||||||
}
|
}
|
||||||
|
|
||||||
this._emitter.emit('transactionHash', txHash)
|
this._emitter.emit('transactionHash', txHash)
|
||||||
console.log(`Broadcasted transaction ${txHash}`)
|
console.log(`Broadcasted transaction ${txHash}`)
|
||||||
console.log(this.tx)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -183,6 +213,9 @@ class Transaction {
|
|||||||
this._emitter.emit('confirmations', confirmations)
|
this._emitter.emit('confirmations', confirmations)
|
||||||
if (confirmations >= this.config.CONFIRMATIONS) {
|
if (confirmations >= this.config.CONFIRMATIONS) {
|
||||||
// Tx is mined and has enough confirmations
|
// Tx is mined and has enough confirmations
|
||||||
|
if (this.config.THROW_ON_REVERT && Number(receipt.status) === 0) {
|
||||||
|
throw new Error('EVM execution failed, so the transaction was reverted.')
|
||||||
|
}
|
||||||
return receipt
|
return receipt
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,7 +231,7 @@ class Transaction {
|
|||||||
// We were waiting too long, increase gas price and resubmit
|
// We were waiting too long, increase gas price and resubmit
|
||||||
if (Date.now() - this.submitTimestamp >= this.config.GAS_BUMP_INTERVAL) {
|
if (Date.now() - this.submitTimestamp >= this.config.GAS_BUMP_INTERVAL) {
|
||||||
if (this._increaseGasPrice()) {
|
if (this._increaseGasPrice()) {
|
||||||
console.log('Resubmitting with higher gas price')
|
console.log('Resubmitting with higher gas params')
|
||||||
await this._send()
|
await this._send()
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -235,7 +268,6 @@ class Transaction {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('Mined. Start waiting for confirmations...')
|
|
||||||
this._emitter.emit('mined', receipt)
|
this._emitter.emit('mined', receipt)
|
||||||
this.currentTxHash = receipt.transactionHash
|
this.currentTxHash = receipt.transactionHash
|
||||||
}
|
}
|
||||||
@@ -266,12 +298,14 @@ class Transaction {
|
|||||||
return main
|
return main
|
||||||
}
|
}
|
||||||
|
|
||||||
_handleSendError(e) {
|
_handleRpcError(e, method) {
|
||||||
console.log('Got error', e)
|
if (e.error.error) {
|
||||||
|
// Sometimes ethers wraps known errors, unwrap it in this case
|
||||||
|
e = e.error
|
||||||
|
}
|
||||||
|
|
||||||
if (e.code === 'SERVER_ERROR' && e.error) {
|
if (e.error && e.code === 'SERVER_ERROR') {
|
||||||
const message = e.error.message
|
const message = e.error.message
|
||||||
console.log('Error', e.error.code, e.error.message)
|
|
||||||
|
|
||||||
// nonce is too low, trying to increase and resubmit
|
// nonce is too low, trying to increase and resubmit
|
||||||
if (this._hasError(message, nonceErrors)) {
|
if (this._hasError(message, nonceErrors)) {
|
||||||
@@ -279,17 +313,23 @@ class Transaction {
|
|||||||
if (this.retries <= this.config.MAX_RETRIES) {
|
if (this.retries <= this.config.MAX_RETRIES) {
|
||||||
this.tx.nonce++
|
this.tx.nonce++
|
||||||
this.retries++
|
this.retries++
|
||||||
return this._send()
|
return this[method]()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// there is already a pending tx with higher gas price, trying to bump and resubmit
|
// there is already a pending tx with higher gas price, trying to bump and resubmit
|
||||||
if (this._hasError(message, gasPriceErrors)) {
|
if (this._hasError(message, gasPriceErrors)) {
|
||||||
console.log(
|
console.log(
|
||||||
`Gas price ${formatUnits(this.tx.gasPrice, 'gwei')} gwei is too low, increasing and retrying`,
|
`Gas price ${formatUnits(
|
||||||
|
this.tx.gasPrice || this.tx.maxFeePerGas,
|
||||||
|
'gwei',
|
||||||
|
)} gwei is too low, increasing and retrying`,
|
||||||
)
|
)
|
||||||
this._increaseGasPrice()
|
if (this._increaseGasPrice()) {
|
||||||
return this._send()
|
return this[method]()
|
||||||
|
} else {
|
||||||
|
throw new Error('Already at max gas price, but still not enough to submit the transaction')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._hasError(message, sameTxErrors)) {
|
if (this._hasError(message, sameTxErrors)) {
|
||||||
@@ -314,19 +354,47 @@ class Transaction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_increaseGasPrice() {
|
_increaseGasPrice() {
|
||||||
const minGweiBump = parseUnits(this.config.MIN_GWEI_BUMP.toString(), 'gwei')
|
|
||||||
const oldGasPrice = BigNumber.from(this.tx.gasPrice)
|
|
||||||
const newGasPrice = max(
|
|
||||||
oldGasPrice.mul(100 + this.config.GAS_BUMP_PERCENTAGE).div(100),
|
|
||||||
oldGasPrice.add(minGweiBump),
|
|
||||||
)
|
|
||||||
const maxGasPrice = parseUnits(this.config.MAX_GAS_PRICE.toString(), 'gwei')
|
const maxGasPrice = parseUnits(this.config.MAX_GAS_PRICE.toString(), 'gwei')
|
||||||
if (oldGasPrice.eq(maxGasPrice)) {
|
const minGweiBump = parseUnits(this.config.MIN_GWEI_BUMP.toString(), 'gwei')
|
||||||
console.log('Already at max gas price, not bumping')
|
|
||||||
return false
|
if (this.tx.gasPrice) {
|
||||||
|
const oldGasPrice = BigNumber.from(this.tx.gasPrice)
|
||||||
|
if (oldGasPrice.gte(maxGasPrice)) {
|
||||||
|
console.log('Already at max gas price, not bumping')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
const newGasPrice = max(
|
||||||
|
oldGasPrice.mul(100 + this.config.GAS_BUMP_PERCENTAGE).div(100),
|
||||||
|
oldGasPrice.add(minGweiBump),
|
||||||
|
)
|
||||||
|
this.tx.gasPrice = min(newGasPrice, maxGasPrice).toHexString()
|
||||||
|
console.log(`Increasing gas price to ${formatUnits(this.tx.gasPrice, 'gwei')} gwei`)
|
||||||
|
} else {
|
||||||
|
const oldMaxFeePerGas = BigNumber.from(this.tx.maxFeePerGas)
|
||||||
|
const oldMaxPriorityFeePerGas = BigNumber.from(this.tx.maxPriorityFeePerGas)
|
||||||
|
if (oldMaxFeePerGas.gte(maxGasPrice)) {
|
||||||
|
console.log('Already at max fee per gas, not bumping')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
const newMaxFeePerGas = max(
|
||||||
|
oldMaxFeePerGas.mul(100 + this.config.GAS_BUMP_PERCENTAGE).div(100),
|
||||||
|
oldMaxFeePerGas.add(minGweiBump),
|
||||||
|
)
|
||||||
|
const newMaxPriorityFeePerGas = max(
|
||||||
|
oldMaxPriorityFeePerGas.mul(100 + this.config.GAS_BUMP_PERCENTAGE).div(100),
|
||||||
|
oldMaxPriorityFeePerGas.add(minGweiBump),
|
||||||
|
)
|
||||||
|
|
||||||
|
const maxFeePerGas = min(newMaxFeePerGas, maxGasPrice)
|
||||||
|
|
||||||
|
this.tx.maxFeePerGas = maxFeePerGas.toHexString()
|
||||||
|
this.tx.maxPriorityFeePerGas = min(newMaxPriorityFeePerGas, maxFeePerGas).toHexString()
|
||||||
|
|
||||||
|
console.log(`Increasing maxFeePerGas to ${formatUnits(this.tx.maxFeePerGas, 'gwei')} gwei`)
|
||||||
}
|
}
|
||||||
this.tx.gasPrice = min(newGasPrice, maxGasPrice).toHexString()
|
|
||||||
console.log(`Increasing gas price to ${formatUnits(this.tx.gasPrice, 'gwei')} gwei`)
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -341,7 +409,7 @@ class Transaction {
|
|||||||
const gasPrices = await this._gasPriceOracle.gasPrices()
|
const gasPrices = await this._gasPriceOracle.gasPrices()
|
||||||
const result = gasPrices[type].toString()
|
const result = gasPrices[type].toString()
|
||||||
console.log(`${type} gas price is now ${result} gwei`)
|
console.log(`${type} gas price is now ${result} gwei`)
|
||||||
return parseUnits(gasPrices[type], 'gwei').toHexString()
|
return parseUnits(result, 'gwei').toHexString()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -353,6 +421,47 @@ class Transaction {
|
|||||||
_getLastNonce() {
|
_getLastNonce() {
|
||||||
return this._wallet.getTransactionCount('latest')
|
return this._wallet.getTransactionCount('latest')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Choose network gas params
|
||||||
|
*
|
||||||
|
* @returns {Promise<object>}
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
async _getGasParams() {
|
||||||
|
const maxGasPrice = parseUnits(this.config.MAX_GAS_PRICE.toString(), 'gwei')
|
||||||
|
const block = await this._provider.getBlock('latest')
|
||||||
|
|
||||||
|
// Check network support for EIP-1559
|
||||||
|
if (this.config.ENABLE_EIP1559 && block && block.baseFeePerGas) {
|
||||||
|
const maxPriorityFeePerGas = parseUnits(this.config.DEFAULT_PRIORITY_FEE.toString(), 'gwei')
|
||||||
|
|
||||||
|
const maxFeePerGas = block.baseFeePerGas
|
||||||
|
.mul(100 + this.config.BASE_FEE_RESERVE_PERCENTAGE)
|
||||||
|
.div(100)
|
||||||
|
.add(maxPriorityFeePerGas)
|
||||||
|
|
||||||
|
return {
|
||||||
|
maxFeePerGas: min(maxFeePerGas, maxGasPrice).toHexString(),
|
||||||
|
maxPriorityFeePerGas: min(maxPriorityFeePerGas, maxGasPrice).toHexString(),
|
||||||
|
type: 2,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const fastGasPrice = BigNumber.from(await this._getGasPrice('fast'))
|
||||||
|
return {
|
||||||
|
gasPrice: min(fastGasPrice, maxGasPrice).toHexString(),
|
||||||
|
type: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async _estimateGas(tx) {
|
||||||
|
try {
|
||||||
|
return await this._wallet.estimateGas(tx)
|
||||||
|
} catch (e) {
|
||||||
|
return this._handleRpcError(e, '_estimateGas')
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = Transaction
|
module.exports = Transaction
|
||||||
|
|||||||
@@ -13,17 +13,22 @@ const defaultConfig = {
|
|||||||
POLL_INTERVAL: 5000,
|
POLL_INTERVAL: 5000,
|
||||||
CONFIRMATIONS: 8,
|
CONFIRMATIONS: 8,
|
||||||
ESTIMATE_GAS: true,
|
ESTIMATE_GAS: true,
|
||||||
|
THROW_ON_REVERT: true,
|
||||||
|
BLOCK_GAS_LIMIT: null,
|
||||||
|
ENABLE_EIP1559: true,
|
||||||
|
DEFAULT_PRIORITY_FEE: 3,
|
||||||
|
BASE_FEE_RESERVE_PERCENTAGE: 50,
|
||||||
}
|
}
|
||||||
|
|
||||||
class TxManager {
|
class TxManager {
|
||||||
constructor({ privateKey, rpcUrl, broadcastNodes = [], config = {} }) {
|
constructor({ privateKey, rpcUrl, broadcastNodes = [], config = {}, gasPriceOracleConfig = {} }) {
|
||||||
this.config = Object.assign({ ...defaultConfig }, config)
|
this.config = Object.assign({ ...defaultConfig }, config)
|
||||||
this._privateKey = privateKey.startsWith('0x') ? privateKey : '0x' + privateKey
|
this._privateKey = privateKey.startsWith('0x') ? privateKey : '0x' + privateKey
|
||||||
this._provider = new ethers.providers.JsonRpcProvider(rpcUrl)
|
this._provider = new ethers.providers.JsonRpcProvider(rpcUrl)
|
||||||
this._wallet = new ethers.Wallet(this._privateKey, this._provider)
|
this._wallet = new ethers.Wallet(this._privateKey, this._provider)
|
||||||
this.address = this._wallet.address
|
this.address = this._wallet.address
|
||||||
this._broadcastNodes = broadcastNodes
|
this._broadcastNodes = broadcastNodes
|
||||||
this._gasPriceOracle = new GasPriceOracle({ defaultRpc: rpcUrl })
|
this._gasPriceOracle = new GasPriceOracle({ defaultRpc: rpcUrl, ...gasPriceOracleConfig })
|
||||||
this._mutex = new Mutex()
|
this._mutex = new Mutex()
|
||||||
this._nonce = null
|
this._nonce = null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
const BN = require('bn.js')
|
|
||||||
const { BigNumber } = require('ethers')
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A promise that resolves after `ms` milliseconds
|
* A promise that resolves after `ms` milliseconds
|
||||||
*/
|
*/
|
||||||
const sleep = ms => new Promise(res => setTimeout(res, ms))
|
const sleep = ms => new Promise(res => setTimeout(res, ms))
|
||||||
|
|
||||||
const max = (a, b) => BigNumber.from(BN.max(new BN(a.toString()), new BN(b.toString())).toString())
|
const max = (a, b) => (a.gt(b) ? a : b)
|
||||||
|
|
||||||
const min = (a, b) => BigNumber.from(BN.min(new BN(a.toString()), new BN(b.toString())).toString())
|
const min = (a, b) => (a.lt(b) ? a : b)
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
sleep,
|
sleep,
|
||||||
|
|||||||
@@ -1,23 +1,17 @@
|
|||||||
require('dotenv').config()
|
require('dotenv').config()
|
||||||
require('chai').should()
|
require('chai').should()
|
||||||
|
const { providers } = require('ethers')
|
||||||
const { parseUnits } = require('ethers').utils
|
const { parseUnits } = require('ethers').utils
|
||||||
const TxManager = require('../src/TxManager')
|
const TxManager = require('../src/TxManager')
|
||||||
// const Transaction = require('../src/Transaction')
|
// const Transaction = require('../src/Transaction')
|
||||||
const { RPC_URL, PRIVATE_KEY } = process.env
|
const { RPC_URL, PRIVATE_KEY } = process.env
|
||||||
|
|
||||||
describe('TxManager', () => {
|
describe('TxManager', () => {
|
||||||
const manager = new TxManager({
|
let manager
|
||||||
privateKey: PRIVATE_KEY,
|
|
||||||
rpcUrl: RPC_URL,
|
|
||||||
config: {
|
|
||||||
CONFIRMATIONS: 3,
|
|
||||||
GAS_BUMP_INTERVAL: 1000 * 15,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
const tx1 = {
|
const tx1 = {
|
||||||
value: 1,
|
value: 1,
|
||||||
gasPrice: parseUnits('1', 'gwei').toHexString(),
|
gasPrice: parseUnits('2', 'gwei').toHexString(),
|
||||||
to: '0xA43Ce8Cc89Eff3AA5593c742fC56A30Ef2427CB0',
|
to: '0xA43Ce8Cc89Eff3AA5593c742fC56A30Ef2427CB0',
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,8 +26,41 @@ describe('TxManager', () => {
|
|||||||
to: '0x0039F22efB07A647557C7C5d17854CFD6D489eF3',
|
to: '0x0039F22efB07A647557C7C5d17854CFD6D489eF3',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tx4 = {
|
||||||
|
value: 1,
|
||||||
|
to: '0xA43Ce8Cc89Eff3AA5593c742fC56A30Ef2427CB0',
|
||||||
|
}
|
||||||
|
|
||||||
|
const tx5 = {
|
||||||
|
value: 1,
|
||||||
|
to: '0xA43Ce8Cc89Eff3AA5593c742fC56A30Ef2427CB0',
|
||||||
|
maxFeePerGas: parseUnits('7', 'gwei').toHexString(),
|
||||||
|
maxPriorityFeePerGas: parseUnits('1', 'gwei').toHexString(),
|
||||||
|
type: 2,
|
||||||
|
}
|
||||||
|
|
||||||
|
before(async () => {
|
||||||
|
const provider = new providers.JsonRpcProvider(RPC_URL)
|
||||||
|
|
||||||
|
const { name, chainId } = await provider.getNetwork()
|
||||||
|
console.log('\n\n', 'network', { name, chainId }, '\n\n')
|
||||||
|
|
||||||
|
manager = new TxManager({
|
||||||
|
privateKey: PRIVATE_KEY,
|
||||||
|
rpcUrl: RPC_URL,
|
||||||
|
config: {
|
||||||
|
CONFIRMATIONS: 1,
|
||||||
|
GAS_BUMP_INTERVAL: 1000 * 20,
|
||||||
|
},
|
||||||
|
gasPriceOracleConfig: {
|
||||||
|
chainId: chainId,
|
||||||
|
defaultRpc: RPC_URL,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
describe('#transaction', () => {
|
describe('#transaction', () => {
|
||||||
it('should work', async () => {
|
it('should work legacy tx', async () => {
|
||||||
const tx = manager.createTx(tx1)
|
const tx = manager.createTx(tx1)
|
||||||
|
|
||||||
const receipt = await tx
|
const receipt = await tx
|
||||||
@@ -45,7 +72,31 @@ describe('TxManager', () => {
|
|||||||
console.log('receipt', receipt)
|
console.log('receipt', receipt)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should bump gas price', async () => {
|
it('should work eip-1559 tx', async () => {
|
||||||
|
const tx = manager.createTx(tx5)
|
||||||
|
|
||||||
|
const receipt = await tx
|
||||||
|
.send()
|
||||||
|
.on('transactionHash', hash => console.log('hash', hash))
|
||||||
|
.on('mined', receipt => console.log('Mined in block', receipt.blockNumber))
|
||||||
|
.on('confirmations', confirmations => console.log('confirmations', confirmations))
|
||||||
|
|
||||||
|
console.log('receipt', receipt)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should fetch gas params', async () => {
|
||||||
|
const tx = manager.createTx(tx4)
|
||||||
|
|
||||||
|
const receipt = await tx
|
||||||
|
.send()
|
||||||
|
.on('transactionHash', hash => console.log('hash', hash))
|
||||||
|
.on('mined', receipt => console.log('Mined in block', receipt.blockNumber))
|
||||||
|
.on('confirmations', confirmations => console.log('confirmations', confirmations))
|
||||||
|
|
||||||
|
console.log('receipt', receipt)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should bump gas params', async () => {
|
||||||
const tx = manager.createTx(tx2)
|
const tx = manager.createTx(tx2)
|
||||||
|
|
||||||
const receipt = await tx
|
const receipt = await tx
|
||||||
@@ -84,5 +135,54 @@ describe('TxManager', () => {
|
|||||||
|
|
||||||
console.log('receipt', receipt)
|
console.log('receipt', receipt)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should increase nonce', async () => {
|
||||||
|
const currentNonce = await manager._wallet.getTransactionCount('latest')
|
||||||
|
|
||||||
|
manager._nonce = currentNonce - 1
|
||||||
|
|
||||||
|
const tx = manager.createTx(tx4)
|
||||||
|
|
||||||
|
const receipt = await tx
|
||||||
|
.send()
|
||||||
|
.on('transactionHash', hash => console.log('hash', hash))
|
||||||
|
.on('mined', receipt => console.log('Mined in block', receipt.blockNumber))
|
||||||
|
.on('confirmations', confirmations => console.log('confirmations', confirmations))
|
||||||
|
|
||||||
|
console.log('receipt', receipt)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should disable eip-1559 transactions', async () => {
|
||||||
|
manager.config.ENABLE_EIP1559 = false
|
||||||
|
|
||||||
|
const tx = manager.createTx(tx3)
|
||||||
|
const receipt = await tx
|
||||||
|
.send()
|
||||||
|
.on('transactionHash', hash => console.log('hash', hash))
|
||||||
|
.on('mined', receipt => console.log('Mined in block', receipt.blockNumber))
|
||||||
|
.on('confirmations', confirmations => console.log('confirmations', confirmations))
|
||||||
|
console.log('receipt', receipt)
|
||||||
|
|
||||||
|
manager.config.ENABLE_EIP1559 = true
|
||||||
|
})
|
||||||
|
|
||||||
|
it('should send multiple txs', async () => {
|
||||||
|
const genTx = value => ({
|
||||||
|
value,
|
||||||
|
to: '0x0039F22efB07A647557C7C5d17854CFD6D489eF3',
|
||||||
|
})
|
||||||
|
await Promise.all([
|
||||||
|
manager.createTx(genTx(1)).send(),
|
||||||
|
manager.createTx(genTx(2)).send(),
|
||||||
|
manager.createTx(genTx(3)).send(),
|
||||||
|
manager.createTx(genTx(4)).send(),
|
||||||
|
manager.createTx(genTx(5)).send(),
|
||||||
|
manager.createTx(genTx(6)).send(),
|
||||||
|
manager.createTx(genTx(7)).send(),
|
||||||
|
manager.createTx(genTx(8)).send(),
|
||||||
|
manager.createTx(genTx(9)).send(),
|
||||||
|
manager.createTx(genTx(10)).send(),
|
||||||
|
])
|
||||||
|
}).timeout(600000)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
799
yarn.lock
799
yarn.lock
@@ -39,420 +39,344 @@
|
|||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
strip-json-comments "^3.1.1"
|
strip-json-comments "^3.1.1"
|
||||||
|
|
||||||
"@ethersproject/abi@5.0.7", "@ethersproject/abi@^5.0.5":
|
"@ethersproject/abi@5.4.1", "@ethersproject/abi@^5.4.0":
|
||||||
version "5.0.7"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b"
|
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.1.tgz#6ac28fafc9ef6f5a7a37e30356a2eb31fa05d39b"
|
||||||
integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==
|
integrity sha512-9mhbjUk76BiSluiiW4BaYyI58KSbDMMQpCLdsAR+RsT2GyATiNYxVv+pGWRrekmsIdY3I+hOqsYQSTkc8L/mcg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/address" "^5.0.4"
|
"@ethersproject/address" "^5.4.0"
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/constants" "^5.0.4"
|
"@ethersproject/constants" "^5.4.0"
|
||||||
"@ethersproject/hash" "^5.0.4"
|
"@ethersproject/hash" "^5.4.0"
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/properties" "^5.0.3"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
"@ethersproject/strings" "^5.0.4"
|
"@ethersproject/strings" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/abstract-provider@5.0.5", "@ethersproject/abstract-provider@^5.0.4":
|
"@ethersproject/abstract-provider@5.4.1", "@ethersproject/abstract-provider@^5.4.0":
|
||||||
version "5.0.5"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.5.tgz#797a32a8707830af1ad8f833e9c228994d5572b9"
|
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz#e404309a29f771bd4d28dbafadcaa184668c2a6e"
|
||||||
integrity sha512-i/CjElAkzV7vQBAeoz+IpjGfcFYEP9eD7j3fzZ0fzTq03DO7PPnR+xkEZ1IoDXGwDS+55aLM1xvLDwB/Lx6IOQ==
|
integrity sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/networks" "^5.0.3"
|
"@ethersproject/networks" "^5.4.0"
|
||||||
"@ethersproject/properties" "^5.0.3"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
"@ethersproject/transactions" "^5.0.5"
|
"@ethersproject/transactions" "^5.4.0"
|
||||||
"@ethersproject/web" "^5.0.6"
|
"@ethersproject/web" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/abstract-signer@5.0.6", "@ethersproject/abstract-signer@^5.0.4":
|
"@ethersproject/abstract-signer@5.4.1", "@ethersproject/abstract-signer@^5.4.0":
|
||||||
version "5.0.6"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.6.tgz#c01211665ab9c9e93988c4783b789712fd93a388"
|
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz#e4e9abcf4dd4f1ba0db7dff9746a5f78f355ea81"
|
||||||
integrity sha512-h8TZBX3pL2Xx9tmsRxfWcaaI+FcJFHWvZ/vNvFjLp8zJ0kPD501LKTt2jo44LZ20N3EW68JMoyEmRQ6bpsn+iA==
|
integrity sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/abstract-provider" "^5.0.4"
|
"@ethersproject/abstract-provider" "^5.4.0"
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/properties" "^5.0.3"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/address@5.0.5":
|
"@ethersproject/address@5.4.0", "@ethersproject/address@^5.4.0":
|
||||||
version "5.0.5"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.5.tgz#2caa65f6b7125015395b1b54c985ee0b27059cc7"
|
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3"
|
||||||
integrity sha512-DpkQ6rwk9jTefrRsJzEm6nhRiJd9pvhn1xN0rw5N/jswXG5r7BLk/GVA0mMAVWAsYfvi2xSc5L41FMox43RYEA==
|
integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/rlp" "^5.0.3"
|
"@ethersproject/rlp" "^5.4.0"
|
||||||
bn.js "^4.4.0"
|
|
||||||
|
|
||||||
"@ethersproject/address@^5.0.4":
|
"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.4.tgz#8669bcbd02f4b64f4cede0a10e84df6d964ec9d3"
|
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a"
|
||||||
integrity sha512-CIjAeG6zNehbpJTi0sgwUvaH2ZICiAV9XkCBaFy5tjuEVFpQNeqd6f+B7RowcNO7Eut+QbhcQ5CVLkmP5zhL9A==
|
integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/rlp" "^5.0.3"
|
|
||||||
bn.js "^4.4.0"
|
|
||||||
|
|
||||||
"@ethersproject/base64@5.0.4", "@ethersproject/base64@^5.0.3":
|
"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.4.tgz#b0d8fdbf3dda977cf546dcd35725a7b1d5256caa"
|
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6"
|
||||||
integrity sha512-4KRykQ7BQMeOXfvio1YITwHjxwBzh92UoXIdzxDE1p53CK28bbHPdsPNYo0wl0El7lJAMpT2SOdL0hhbWRnyIA==
|
integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/basex@5.0.4", "@ethersproject/basex@^5.0.3":
|
"@ethersproject/bignumber@5.4.1", "@ethersproject/bignumber@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.0.4.tgz#93e1cd11f9a47281da2389de24f88e13e9d90847"
|
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.1.tgz#64399d3b9ae80aa83d483e550ba57ea062c1042d"
|
||||||
integrity sha512-ixIr/kKiAoSzOnSc777AGIOAhKai5Ivqr4HO/Gz+YG+xkfv6kqD6AW4ga9vM20Wwb0QBhh3LoRWTu4V1K+x9Ew==
|
integrity sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/properties" "^5.0.3"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
bn.js "^4.11.9"
|
||||||
|
|
||||||
"@ethersproject/bignumber@5.0.8":
|
"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@^5.4.0":
|
||||||
version "5.0.8"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.8.tgz#cee33bd8eb0266176def0d371b45274b1d2c4ec0"
|
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e"
|
||||||
integrity sha512-KXFVAFKS1jdTXYN8BE5Oj+ZfPMh28iRdFeNGBVT6cUFdtiPVqeXqc0ggvBqA3A1VoFFGgM7oAeaagA393aORHA==
|
integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
bn.js "^4.4.0"
|
|
||||||
|
|
||||||
"@ethersproject/bignumber@^5.0.7":
|
"@ethersproject/constants@5.4.0", "@ethersproject/constants@^5.4.0":
|
||||||
version "5.0.7"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.7.tgz#720b3e3df3e125a99669ee869478106d0afe7b76"
|
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a"
|
||||||
integrity sha512-wwKgDJ+KA7IpgJwc8Fc0AjKIRuDskKA2cque29/+SgII9/1K/38JpqVNPKIovkLwTC2DDofIyzHcxeaKpMFouQ==
|
integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
bn.js "^4.4.0"
|
|
||||||
|
|
||||||
"@ethersproject/bytes@5.0.5":
|
"@ethersproject/contracts@5.4.1":
|
||||||
version "5.0.5"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.5.tgz#688b70000e550de0c97a151a21f15b87d7f97d7c"
|
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.1.tgz#3eb4f35b7fe60a962a75804ada2746494df3e470"
|
||||||
integrity sha512-IEj9HpZB+ACS6cZ+QQMTqmu/cnUK2fYNE6ms/PVxjoBjoxc6HCraLpam1KuRvreMy0i523PLmjN8OYeikRdcUQ==
|
integrity sha512-m+z2ZgPy4pyR15Je//dUaymRUZq5MtDajF6GwFbGAVmKz/RF+DNIPwF0k5qEcL3wPGVqUjFg2/krlCRVTU4T5w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/abi" "^5.4.0"
|
||||||
|
"@ethersproject/abstract-provider" "^5.4.0"
|
||||||
|
"@ethersproject/abstract-signer" "^5.4.0"
|
||||||
|
"@ethersproject/address" "^5.4.0"
|
||||||
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
|
"@ethersproject/constants" "^5.4.0"
|
||||||
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
"@ethersproject/transactions" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/bytes@^5.0.4":
|
"@ethersproject/hash@5.4.0", "@ethersproject/hash@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.4.tgz#328d9d929a3e970964ecf5d62e12568a187189f1"
|
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0"
|
||||||
integrity sha512-9R6A6l9JN8x1U4s1dJCR+9h3MZTT3xQofr/Xx8wbDvj6NnY4CbBB0o8ZgHXvR74yV90pY2EzCekpkMBJnRzkSw==
|
integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/abstract-signer" "^5.4.0"
|
||||||
|
"@ethersproject/address" "^5.4.0"
|
||||||
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
"@ethersproject/strings" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/constants@5.0.5":
|
"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.4.0":
|
||||||
version "5.0.5"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.5.tgz#0ed19b002e8404bdf6d135234dc86a7d9bcf9b71"
|
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac"
|
||||||
integrity sha512-foaQVmxp2+ik9FrLUCtVrLZCj4M3Ibgkqvh+Xw/vFRSerkjVSYePApaVE5essxhoSlF1U9oXfWY09QI2AXtgKA==
|
integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/abstract-signer" "^5.4.0"
|
||||||
|
"@ethersproject/basex" "^5.4.0"
|
||||||
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
"@ethersproject/pbkdf2" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
"@ethersproject/sha2" "^5.4.0"
|
||||||
|
"@ethersproject/signing-key" "^5.4.0"
|
||||||
|
"@ethersproject/strings" "^5.4.0"
|
||||||
|
"@ethersproject/transactions" "^5.4.0"
|
||||||
|
"@ethersproject/wordlists" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/constants@^5.0.4":
|
"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.4.tgz#9ddaa5f3c738a94e5adc4b3f71b36206fa5cdf88"
|
resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95"
|
||||||
integrity sha512-Df32lcXDHPgZRPgp1dgmByNbNe4Ki1QoXR+wU61on5nggQGTqWR1Bb7pp9VtI5Go9kyE/JflFc4Te6o9MvYt8A==
|
integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/abstract-signer" "^5.4.0"
|
||||||
|
"@ethersproject/address" "^5.4.0"
|
||||||
"@ethersproject/contracts@5.0.5":
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
version "5.0.5"
|
"@ethersproject/hdnode" "^5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.0.5.tgz#64831a341ec8ca225e83ff3e9437c26b970fd5d7"
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
integrity sha512-tFI255lFbmbqMkgnuyhDWHl3yWqttPlReplYuVvDCT/SuvBjLR4ad2uipBlh1fh5X1ipK9ettAoV4S0HKim4Kw==
|
"@ethersproject/logger" "^5.4.0"
|
||||||
dependencies:
|
"@ethersproject/pbkdf2" "^5.4.0"
|
||||||
"@ethersproject/abi" "^5.0.5"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
"@ethersproject/abstract-provider" "^5.0.4"
|
"@ethersproject/random" "^5.4.0"
|
||||||
"@ethersproject/abstract-signer" "^5.0.4"
|
"@ethersproject/strings" "^5.4.0"
|
||||||
"@ethersproject/address" "^5.0.4"
|
"@ethersproject/transactions" "^5.4.0"
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/constants" "^5.0.4"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
|
|
||||||
"@ethersproject/hash@5.0.5", "@ethersproject/hash@^5.0.4":
|
|
||||||
version "5.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.5.tgz#e383ba2c7941834266fa6e2cf543d2b0c50a9d59"
|
|
||||||
integrity sha512-GpI80/h2HDpfNKpCZoxQJCjOQloGnlD5hM1G+tZe8FQDJhEvFjJoPDuWv+NaYjJfOciKS2Axqc4Q4WamdLoUgg==
|
|
||||||
dependencies:
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/strings" "^5.0.4"
|
|
||||||
|
|
||||||
"@ethersproject/hdnode@5.0.5", "@ethersproject/hdnode@^5.0.4":
|
|
||||||
version "5.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.0.5.tgz#1f89aad0a5ba9dfae3a85a36e0669f8bc7a74781"
|
|
||||||
integrity sha512-Ho4HZaK+KijE5adayvjAGusWMnT0mgwGa5hGMBofBOgX9nqiKf6Wxx68SXBGI1/L3rmKo6mlAjxUd8gefs0teQ==
|
|
||||||
dependencies:
|
|
||||||
"@ethersproject/abstract-signer" "^5.0.4"
|
|
||||||
"@ethersproject/basex" "^5.0.3"
|
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/pbkdf2" "^5.0.3"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/sha2" "^5.0.3"
|
|
||||||
"@ethersproject/signing-key" "^5.0.4"
|
|
||||||
"@ethersproject/strings" "^5.0.4"
|
|
||||||
"@ethersproject/transactions" "^5.0.5"
|
|
||||||
"@ethersproject/wordlists" "^5.0.4"
|
|
||||||
|
|
||||||
"@ethersproject/json-wallets@5.0.7", "@ethersproject/json-wallets@^5.0.6":
|
|
||||||
version "5.0.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.0.7.tgz#4c48753b38ce7bce23a55f25c23f24617cf560e5"
|
|
||||||
integrity sha512-dgOn9JtGgjT28mDXs4LYY2rT4CzS6bG/rxoYuPq3TLHIf6nmvBcr33Fee6RrM/y8UAx4gyIkf6wb2cXsOctvQQ==
|
|
||||||
dependencies:
|
|
||||||
"@ethersproject/abstract-signer" "^5.0.4"
|
|
||||||
"@ethersproject/address" "^5.0.4"
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/hdnode" "^5.0.4"
|
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/pbkdf2" "^5.0.3"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/random" "^5.0.3"
|
|
||||||
"@ethersproject/strings" "^5.0.4"
|
|
||||||
"@ethersproject/transactions" "^5.0.5"
|
|
||||||
aes-js "3.0.0"
|
aes-js "3.0.0"
|
||||||
scrypt-js "3.0.1"
|
scrypt-js "3.0.1"
|
||||||
|
|
||||||
"@ethersproject/keccak256@5.0.4":
|
"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.4.tgz#36ca0a7d1ae2a272da5654cb886776d0c680ef3a"
|
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318"
|
||||||
integrity sha512-GNpiOUm9PGUxFNqOxYKDQBM0u68bG9XC9iOulEQ8I0tOx/4qUpgVzvgXL6ugxr0RY554Gz/NQsVqknqPzUcxpQ==
|
integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
js-sha3 "0.5.7"
|
js-sha3 "0.5.7"
|
||||||
|
|
||||||
"@ethersproject/keccak256@^5.0.3":
|
"@ethersproject/logger@5.4.1", "@ethersproject/logger@^5.4.0":
|
||||||
version "5.0.3"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.3.tgz#f094a8fca3bb913c044593c4f382be424292e588"
|
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.1.tgz#503bd33683538b923c578c07d1c2c0dd18672054"
|
||||||
integrity sha512-VhW3mgZMBZlETV6AyOmjNeNG+Pg68igiKkPpat8/FZl0CKnfgQ+KZQZ/ee1vT+X0IUM8/djqnei6btmtbA27Ug==
|
integrity sha512-DZ+bRinnYLPw1yAC64oRl0QyVZj43QeHIhVKfD/+YwSz4wsv1pfwb5SOFjz+r710YEWzU6LrhuSjpSO+6PeE4A==
|
||||||
|
|
||||||
|
"@ethersproject/networks@5.4.2", "@ethersproject/networks@^5.4.0":
|
||||||
|
version "5.4.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.2.tgz#2247d977626e97e2c3b8ee73cd2457babde0ce35"
|
||||||
|
integrity sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
js-sha3 "0.5.7"
|
|
||||||
|
|
||||||
"@ethersproject/logger@5.0.6":
|
"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.4.0":
|
||||||
version "5.0.6"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.6.tgz#faa484203e86e08be9e07fef826afeef7183fe88"
|
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c"
|
||||||
integrity sha512-FrX0Vnb3JZ1md/7GIZfmJ06XOAA8r3q9Uqt9O5orr4ZiksnbpXKlyDzQtlZ5Yv18RS8CAUbiKH9vwidJg1BPmQ==
|
integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g==
|
||||||
|
|
||||||
"@ethersproject/logger@^5.0.5":
|
|
||||||
version "5.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.5.tgz#e3ba3d0bcf9f5be4da5f043b1e328eb98b80002f"
|
|
||||||
integrity sha512-gJj72WGzQhUtCk6kfvI8elTaPOQyMvrMghp/nbz0ivTo39fZ7IjypFh/ySDeUSdBNplAwhzWKKejQhdpyefg/w==
|
|
||||||
|
|
||||||
"@ethersproject/networks@5.0.4", "@ethersproject/networks@^5.0.3":
|
|
||||||
version "5.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.4.tgz#6d320a5e15a0cda804f5da88be0ba846156f6eec"
|
|
||||||
integrity sha512-/wHDTRms5mpJ09BoDrbNdFWINzONe05wZRgohCXvEv39rrH/Gd/yAnct8wC0RsW3tmFOgjgQxuBvypIxuUynTw==
|
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
|
"@ethersproject/sha2" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/pbkdf2@5.0.4", "@ethersproject/pbkdf2@^5.0.3":
|
"@ethersproject/properties@5.4.1", "@ethersproject/properties@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.0.4.tgz#a0841d53f5ce9a2b52a65a349d2dc15910b0a767"
|
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.1.tgz#9f051f976ce790142c6261ccb7b826eaae1f2f36"
|
||||||
integrity sha512-9jVBjHXQKfr9+3bkCg01a8Cd1H9e+7Kw3ZMIvAxD0lZtuzrXsJxm1hVwY9KA+PRUvgS/9tTP4viXQYwLAax7zg==
|
integrity sha512-cyCGlF8wWlIZyizsj2PpbJ9I7rIlUAfnHYwy/T90pdkSn/NFTa5YWZx2wTJBe9V7dD65dcrrEMisCRUJiq6n3w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/sha2" "^5.0.3"
|
|
||||||
|
|
||||||
"@ethersproject/properties@5.0.4":
|
"@ethersproject/providers@5.4.5":
|
||||||
version "5.0.4"
|
version "5.4.5"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.4.tgz#a67a1f5a52c30850b5062c861631e73d131f666e"
|
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.5.tgz#eb2ea2a743a8115f79604a8157233a3a2c832928"
|
||||||
integrity sha512-UdyX3GqBxFt15B0uSESdDNmhvEbK3ACdDXl2soshoPcneXuTswHDeA0LoPlnaZzhbgk4p6jqb4GMms5C26Qu6A==
|
integrity sha512-1GkrvkiAw3Fj28cwi1Sqm8ED1RtERtpdXmRfwIBGmqBSN5MoeRUHuwHPppMtbPayPgpFcvD7/Gdc9doO5fGYgw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/abstract-provider" "^5.4.0"
|
||||||
|
"@ethersproject/abstract-signer" "^5.4.0"
|
||||||
"@ethersproject/properties@^5.0.3":
|
"@ethersproject/address" "^5.4.0"
|
||||||
version "5.0.3"
|
"@ethersproject/basex" "^5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.3.tgz#991aef39a5f87d4645cee76cec4df868bfb08be6"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
integrity sha512-wLCSrbywkQgTO6tIF9ZdKsH9AIxPEqAJF/z5xcPkz1DK4mMAZgAXRNw1MrKYhyb+7CqNHbj3vxenNKFavGY/IA==
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
dependencies:
|
"@ethersproject/constants" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/hash" "^5.4.0"
|
||||||
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/providers@5.0.12":
|
"@ethersproject/networks" "^5.4.0"
|
||||||
version "5.0.12"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.12.tgz#de05e865e130709ea1e0870511eb892bda7d41cb"
|
"@ethersproject/random" "^5.4.0"
|
||||||
integrity sha512-bRUEVNth+wGlm2Q0cQprVlixBWumfP9anrgAc3V2CbIh+GKvCwisVO8uRLrZOfOvTNSy6PUJi/Z4D5L+k3NAog==
|
"@ethersproject/rlp" "^5.4.0"
|
||||||
dependencies:
|
"@ethersproject/sha2" "^5.4.0"
|
||||||
"@ethersproject/abstract-provider" "^5.0.4"
|
"@ethersproject/strings" "^5.4.0"
|
||||||
"@ethersproject/abstract-signer" "^5.0.4"
|
"@ethersproject/transactions" "^5.4.0"
|
||||||
"@ethersproject/address" "^5.0.4"
|
"@ethersproject/web" "^5.4.0"
|
||||||
"@ethersproject/basex" "^5.0.3"
|
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/constants" "^5.0.4"
|
|
||||||
"@ethersproject/hash" "^5.0.4"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/networks" "^5.0.3"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/random" "^5.0.3"
|
|
||||||
"@ethersproject/rlp" "^5.0.3"
|
|
||||||
"@ethersproject/sha2" "^5.0.3"
|
|
||||||
"@ethersproject/strings" "^5.0.4"
|
|
||||||
"@ethersproject/transactions" "^5.0.5"
|
|
||||||
"@ethersproject/web" "^5.0.6"
|
|
||||||
bech32 "1.1.4"
|
bech32 "1.1.4"
|
||||||
ws "7.2.3"
|
ws "7.4.6"
|
||||||
|
|
||||||
"@ethersproject/random@5.0.4", "@ethersproject/random@^5.0.3":
|
"@ethersproject/random@5.4.0", "@ethersproject/random@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.0.4.tgz#98f7cf65b0e588cec39ef24843e391ed5004556f"
|
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16"
|
||||||
integrity sha512-AIZJhqs6Ba4/+U3lOjt3QZbP6b/kuuGLJUYFUonAgWmkTHwqsCwYnFvnHKQSUuHbXHvErp7WFXFlztx+yMn3kQ==
|
integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/rlp@5.0.4":
|
"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.4.tgz#0090a0271e84ea803016a112a79f5cfd80271a77"
|
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931"
|
||||||
integrity sha512-5qrrZad7VTjofxSsm7Zg/7Dr4ZOln4S2CqiDdOuTv6MBKnXj0CiBojXyuDy52M8O3wxH0CyE924hXWTDV1PQWQ==
|
integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/rlp@^5.0.3":
|
"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.4.0":
|
||||||
version "5.0.3"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.3.tgz#841a5edfdf725f92155fe74424f5510c9043c13a"
|
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371"
|
||||||
integrity sha512-Hz4yyA/ilGafASAqtTlLWkA/YqwhQmhbDAq2LSIp1AJNx+wtbKWFAKSckpeZ+WG/xZmT+fw5OFKK7a5IZ4DR5g==
|
integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
hash.js "1.1.7"
|
||||||
|
|
||||||
"@ethersproject/sha2@5.0.4", "@ethersproject/sha2@^5.0.3":
|
"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.0.4.tgz#40f639721a27dbe034b3dee021ba20b054586fec"
|
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec"
|
||||||
integrity sha512-0yFhf1mspxAfWdXXoPtK94adUeu1R7/FzAa+DfEiZTc76sz/vHXf0LSIazoR3znYKFny6haBxME+usbvvEcF3A==
|
integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
hash.js "1.1.3"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
bn.js "^4.11.9"
|
||||||
|
elliptic "6.5.4"
|
||||||
|
hash.js "1.1.7"
|
||||||
|
|
||||||
"@ethersproject/signing-key@5.0.5":
|
"@ethersproject/solidity@5.4.0":
|
||||||
version "5.0.5"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.5.tgz#acfd06fc05a14180df7e027688bbd23fc4baf782"
|
resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec"
|
||||||
integrity sha512-Z1wY7JC1HVO4CvQWY2TyTTuAr8xK3bJijZw1a9G92JEmKdv1j255R/0YLBBcFTl2J65LUjtXynNJ2GbArPGi5g==
|
integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/properties" "^5.0.3"
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
elliptic "6.5.3"
|
"@ethersproject/sha2" "^5.4.0"
|
||||||
|
"@ethersproject/strings" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/signing-key@^5.0.4":
|
"@ethersproject/strings@5.4.0", "@ethersproject/strings@^5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.4.tgz#a5334ce8a52d4e9736dc8fb6ecc384704ecf8783"
|
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a"
|
||||||
integrity sha512-I6pJoga1IvhtjYK5yXzCjs4ZpxrVbt9ZRAlpEw0SW9UuV020YfJH5EIVEGR2evdRceS3nAQIggqbsXSkP8Y1Dg==
|
integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/constants" "^5.4.0"
|
||||||
"@ethersproject/properties" "^5.0.3"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
elliptic "6.5.3"
|
|
||||||
|
|
||||||
"@ethersproject/solidity@5.0.5":
|
"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.4.0":
|
||||||
version "5.0.5"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.0.5.tgz#97a7d8a67f2d944f208c948fed0d565512bcc2be"
|
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0"
|
||||||
integrity sha512-DMFQ0ouXmNVoKWbGEUFGi8Urli4SJip9jXafQyFHWPRr5oJUqDVkNfwcyC37k+mhBG93k7qrYXCH2xJnGEOxHg==
|
integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/address" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/sha2" "^5.0.3"
|
"@ethersproject/constants" "^5.4.0"
|
||||||
"@ethersproject/strings" "^5.0.4"
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
"@ethersproject/rlp" "^5.4.0"
|
||||||
|
"@ethersproject/signing-key" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/strings@5.0.5":
|
"@ethersproject/units@5.4.0":
|
||||||
version "5.0.5"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.5.tgz#ed7e99a282a02f40757691b04a24cd83f3752195"
|
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe"
|
||||||
integrity sha512-JED6WaIV00xM/gvj8vSnd+0VWtDYdidTmavFRCTQakqfz+4tDo6Jz5LHgG+dd45h7ah7ykCHW0C7ZXWEDROCXQ==
|
integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
"@ethersproject/constants" "^5.0.4"
|
"@ethersproject/constants" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/strings@^5.0.4":
|
"@ethersproject/wallet@5.4.0":
|
||||||
version "5.0.4"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.4.tgz#67cda604eee3ffcc004cb9f3bd03516e1c7b09a0"
|
resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353"
|
||||||
integrity sha512-azXFHaNkDXzefhr4LVVzzDMFwj3kH9EOKlATu51HjxabQafuUyVLPFgmxRFmCynnAi0Bmmp7nr+qK1pVDgRDLQ==
|
integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/abstract-provider" "^5.4.0"
|
||||||
"@ethersproject/constants" "^5.0.4"
|
"@ethersproject/abstract-signer" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/address" "^5.4.0"
|
||||||
|
"@ethersproject/bignumber" "^5.4.0"
|
||||||
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
|
"@ethersproject/hash" "^5.4.0"
|
||||||
|
"@ethersproject/hdnode" "^5.4.0"
|
||||||
|
"@ethersproject/json-wallets" "^5.4.0"
|
||||||
|
"@ethersproject/keccak256" "^5.4.0"
|
||||||
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
|
"@ethersproject/random" "^5.4.0"
|
||||||
|
"@ethersproject/signing-key" "^5.4.0"
|
||||||
|
"@ethersproject/transactions" "^5.4.0"
|
||||||
|
"@ethersproject/wordlists" "^5.4.0"
|
||||||
|
|
||||||
"@ethersproject/transactions@5.0.6", "@ethersproject/transactions@^5.0.5":
|
"@ethersproject/web@5.4.0", "@ethersproject/web@^5.4.0":
|
||||||
version "5.0.6"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.6.tgz#b8b27938be6e9ed671dbdd35fe98af8b14d0df7c"
|
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f"
|
||||||
integrity sha512-htsFhOD+NMBxx676A8ehSuwVV49iqpSB+CkjPZ02tpNew0K6p8g0CZ46Z1ZP946gIHAU80xQ0NACHYrjIUaCFA==
|
integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/address" "^5.0.4"
|
"@ethersproject/base64" "^5.4.0"
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
"@ethersproject/constants" "^5.0.4"
|
"@ethersproject/properties" "^5.4.0"
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
"@ethersproject/strings" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/rlp" "^5.0.3"
|
|
||||||
"@ethersproject/signing-key" "^5.0.4"
|
|
||||||
|
|
||||||
"@ethersproject/units@5.0.6":
|
"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.4.0":
|
||||||
version "5.0.6"
|
version "5.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.0.6.tgz#e1169ecffb7e8d5eab84e1481a4e35df19045708"
|
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7"
|
||||||
integrity sha512-tsJuy4mipppdmooukRfhXt8fGx9nxvfvG6Xdy0RDm7LzHsjghjwQ69m2bCpId6SDSR1Uq1cQ9irPiUBSyWolUA==
|
integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
"@ethersproject/bytes" "^5.4.0"
|
||||||
"@ethersproject/constants" "^5.0.4"
|
"@ethersproject/hash" "^5.4.0"
|
||||||
"@ethersproject/logger" "^5.0.5"
|
"@ethersproject/logger" "^5.4.0"
|
||||||
|
"@ethersproject/properties" "^5.4.0"
|
||||||
"@ethersproject/wallet@5.0.5":
|
"@ethersproject/strings" "^5.4.0"
|
||||||
version "5.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.0.5.tgz#93973d919e75bbc5422f11d1c3f39695f1a27e71"
|
|
||||||
integrity sha512-NbrKmsW3w+5dVOEyVCN5VAAIp3y8ckutW6AV7Lo0Hn8RO9mLT8ZFzLGp4lzgJoxkm+EV8BE+x1N6NdiOgUzRng==
|
|
||||||
dependencies:
|
|
||||||
"@ethersproject/abstract-provider" "^5.0.4"
|
|
||||||
"@ethersproject/abstract-signer" "^5.0.4"
|
|
||||||
"@ethersproject/address" "^5.0.4"
|
|
||||||
"@ethersproject/bignumber" "^5.0.7"
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/hash" "^5.0.4"
|
|
||||||
"@ethersproject/hdnode" "^5.0.4"
|
|
||||||
"@ethersproject/json-wallets" "^5.0.6"
|
|
||||||
"@ethersproject/keccak256" "^5.0.3"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/random" "^5.0.3"
|
|
||||||
"@ethersproject/signing-key" "^5.0.4"
|
|
||||||
"@ethersproject/transactions" "^5.0.5"
|
|
||||||
"@ethersproject/wordlists" "^5.0.4"
|
|
||||||
|
|
||||||
"@ethersproject/web@5.0.9", "@ethersproject/web@^5.0.6":
|
|
||||||
version "5.0.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.9.tgz#b08f8295f4bfd4777c8723fe9572f5453b9f03cb"
|
|
||||||
integrity sha512-//QNlv1MSkOII1hv3+HQwWoiVFS+BMVGI0KYeUww4cyrEktnx1QIez5bTSab9s9fWTFaWKNmQNBwMbxAqPuYDw==
|
|
||||||
dependencies:
|
|
||||||
"@ethersproject/base64" "^5.0.3"
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/strings" "^5.0.4"
|
|
||||||
|
|
||||||
"@ethersproject/wordlists@5.0.5", "@ethersproject/wordlists@^5.0.4":
|
|
||||||
version "5.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.0.5.tgz#a935b7fdb86c96b44ea8391fed94b3fa2f33c606"
|
|
||||||
integrity sha512-XA3ycFltVrCTQt04w5nHu3Xq5Z6HjqWsXaAYQHFdqtugyUsIumaO9S5MOwFFuUYTNkZUoT3jCRa/OBS+K4tLfA==
|
|
||||||
dependencies:
|
|
||||||
"@ethersproject/bytes" "^5.0.4"
|
|
||||||
"@ethersproject/hash" "^5.0.4"
|
|
||||||
"@ethersproject/logger" "^5.0.5"
|
|
||||||
"@ethersproject/properties" "^5.0.3"
|
|
||||||
"@ethersproject/strings" "^5.0.4"
|
|
||||||
|
|
||||||
"@types/color-name@^1.1.1":
|
"@types/color-name@^1.1.1":
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
@@ -561,12 +485,12 @@ async-mutex@^0.2.4:
|
|||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.0.0"
|
tslib "^2.0.0"
|
||||||
|
|
||||||
axios@^0.19.2:
|
axios@^0.21.2:
|
||||||
version "0.19.2"
|
version "0.21.4"
|
||||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
|
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
|
||||||
integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
|
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
|
||||||
dependencies:
|
dependencies:
|
||||||
follow-redirects "1.5.10"
|
follow-redirects "^1.14.0"
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@@ -588,15 +512,10 @@ binary-extensions@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
|
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9"
|
||||||
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
|
integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==
|
||||||
|
|
||||||
bn.js@^4.4.0:
|
bn.js@^4.11.9:
|
||||||
version "4.11.9"
|
version "4.12.0"
|
||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||||
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
|
||||||
|
|
||||||
bn.js@^5.1.3:
|
|
||||||
version "5.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
|
|
||||||
integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
|
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
@@ -613,7 +532,7 @@ braces@~3.0.2:
|
|||||||
dependencies:
|
dependencies:
|
||||||
fill-range "^7.0.1"
|
fill-range "^7.0.1"
|
||||||
|
|
||||||
brorand@^1.0.1:
|
brorand@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
|
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
|
||||||
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
|
integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
|
||||||
@@ -736,13 +655,6 @@ debug@4.1.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
debug@=3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
|
||||||
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
|
||||||
dependencies:
|
|
||||||
ms "2.0.0"
|
|
||||||
|
|
||||||
debug@^4.0.1, debug@^4.1.1:
|
debug@^4.0.1, debug@^4.1.1:
|
||||||
version "4.2.0"
|
version "4.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
|
||||||
@@ -791,18 +703,18 @@ dotenv@^8.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
|
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a"
|
||||||
integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
|
integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==
|
||||||
|
|
||||||
elliptic@6.5.3:
|
elliptic@6.5.4:
|
||||||
version "6.5.3"
|
version "6.5.4"
|
||||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
|
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
|
||||||
integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
|
integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
bn.js "^4.4.0"
|
bn.js "^4.11.9"
|
||||||
brorand "^1.0.1"
|
brorand "^1.1.0"
|
||||||
hash.js "^1.0.0"
|
hash.js "^1.0.0"
|
||||||
hmac-drbg "^1.0.0"
|
hmac-drbg "^1.0.1"
|
||||||
inherits "^2.0.1"
|
inherits "^2.0.4"
|
||||||
minimalistic-assert "^1.0.0"
|
minimalistic-assert "^1.0.1"
|
||||||
minimalistic-crypto-utils "^1.0.0"
|
minimalistic-crypto-utils "^1.0.1"
|
||||||
|
|
||||||
emoji-regex@^7.0.1:
|
emoji-regex@^7.0.1:
|
||||||
version "7.0.3"
|
version "7.0.3"
|
||||||
@@ -1008,41 +920,41 @@ esutils@^2.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||||
|
|
||||||
ethers@^5.0.17:
|
ethers@^5.4.6:
|
||||||
version "5.0.17"
|
version "5.4.6"
|
||||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.17.tgz#35dea41f1d09d31f80e0bb4c03cb633cd6673756"
|
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.6.tgz#fe0a023956b5502c947f58e82fbcf9a73e5e75b6"
|
||||||
integrity sha512-E0MrwCttHgdD6Irfa0B9cNdX0VoWVWLusaj51+EQalkl3pqhV2zGMPncfhYbc9+4nD2u81dbX8Pk9UN5kh/jew==
|
integrity sha512-F7LXARyB/Px3AQC6/QKedWZ8eqCkgOLORqL4B/F0Mag/K+qJSFGqsR36EaOZ6fKg3ZonI+pdbhb4A8Knt/43jQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@ethersproject/abi" "5.0.7"
|
"@ethersproject/abi" "5.4.1"
|
||||||
"@ethersproject/abstract-provider" "5.0.5"
|
"@ethersproject/abstract-provider" "5.4.1"
|
||||||
"@ethersproject/abstract-signer" "5.0.6"
|
"@ethersproject/abstract-signer" "5.4.1"
|
||||||
"@ethersproject/address" "5.0.5"
|
"@ethersproject/address" "5.4.0"
|
||||||
"@ethersproject/base64" "5.0.4"
|
"@ethersproject/base64" "5.4.0"
|
||||||
"@ethersproject/basex" "5.0.4"
|
"@ethersproject/basex" "5.4.0"
|
||||||
"@ethersproject/bignumber" "5.0.8"
|
"@ethersproject/bignumber" "5.4.1"
|
||||||
"@ethersproject/bytes" "5.0.5"
|
"@ethersproject/bytes" "5.4.0"
|
||||||
"@ethersproject/constants" "5.0.5"
|
"@ethersproject/constants" "5.4.0"
|
||||||
"@ethersproject/contracts" "5.0.5"
|
"@ethersproject/contracts" "5.4.1"
|
||||||
"@ethersproject/hash" "5.0.5"
|
"@ethersproject/hash" "5.4.0"
|
||||||
"@ethersproject/hdnode" "5.0.5"
|
"@ethersproject/hdnode" "5.4.0"
|
||||||
"@ethersproject/json-wallets" "5.0.7"
|
"@ethersproject/json-wallets" "5.4.0"
|
||||||
"@ethersproject/keccak256" "5.0.4"
|
"@ethersproject/keccak256" "5.4.0"
|
||||||
"@ethersproject/logger" "5.0.6"
|
"@ethersproject/logger" "5.4.1"
|
||||||
"@ethersproject/networks" "5.0.4"
|
"@ethersproject/networks" "5.4.2"
|
||||||
"@ethersproject/pbkdf2" "5.0.4"
|
"@ethersproject/pbkdf2" "5.4.0"
|
||||||
"@ethersproject/properties" "5.0.4"
|
"@ethersproject/properties" "5.4.1"
|
||||||
"@ethersproject/providers" "5.0.12"
|
"@ethersproject/providers" "5.4.5"
|
||||||
"@ethersproject/random" "5.0.4"
|
"@ethersproject/random" "5.4.0"
|
||||||
"@ethersproject/rlp" "5.0.4"
|
"@ethersproject/rlp" "5.4.0"
|
||||||
"@ethersproject/sha2" "5.0.4"
|
"@ethersproject/sha2" "5.4.0"
|
||||||
"@ethersproject/signing-key" "5.0.5"
|
"@ethersproject/signing-key" "5.4.0"
|
||||||
"@ethersproject/solidity" "5.0.5"
|
"@ethersproject/solidity" "5.4.0"
|
||||||
"@ethersproject/strings" "5.0.5"
|
"@ethersproject/strings" "5.4.0"
|
||||||
"@ethersproject/transactions" "5.0.6"
|
"@ethersproject/transactions" "5.4.0"
|
||||||
"@ethersproject/units" "5.0.6"
|
"@ethersproject/units" "5.4.0"
|
||||||
"@ethersproject/wallet" "5.0.5"
|
"@ethersproject/wallet" "5.4.0"
|
||||||
"@ethersproject/web" "5.0.9"
|
"@ethersproject/web" "5.4.0"
|
||||||
"@ethersproject/wordlists" "5.0.5"
|
"@ethersproject/wordlists" "5.4.0"
|
||||||
|
|
||||||
eventemitter3@4.0.4:
|
eventemitter3@4.0.4:
|
||||||
version "4.0.4"
|
version "4.0.4"
|
||||||
@@ -1119,12 +1031,10 @@ flatted@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
|
||||||
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
|
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
|
||||||
|
|
||||||
follow-redirects@1.5.10:
|
follow-redirects@^1.14.0:
|
||||||
version "1.5.10"
|
version "1.14.5"
|
||||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
|
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381"
|
||||||
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
|
integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==
|
||||||
dependencies:
|
|
||||||
debug "=3.1.0"
|
|
||||||
|
|
||||||
fs.realpath@^1.0.0:
|
fs.realpath@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@@ -1146,12 +1056,12 @@ functional-red-black-tree@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
|
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
|
||||||
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
|
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
|
||||||
|
|
||||||
gas-price-oracle@^0.1.5:
|
gas-price-oracle@^0.4.7:
|
||||||
version "0.1.5"
|
version "0.4.7"
|
||||||
resolved "https://registry.yarnpkg.com/gas-price-oracle/-/gas-price-oracle-0.1.5.tgz#09dd0d9806465c2f5e63b682e6742f96f6eb525c"
|
resolved "https://registry.yarnpkg.com/gas-price-oracle/-/gas-price-oracle-0.4.7.tgz#47406048083074bcab677efb9de08663e742153d"
|
||||||
integrity sha512-fkaTXnxJcSVco/tMPEcN5gieoUNs8O6JYMXflGLN2+3YeGZAucUI0fgCliazM3nRVAk//bBEm9819/Zb83xhrw==
|
integrity sha512-Ti8nhpATm83YebWU/Pz5xclZoTkzOblIhT504ZViZJUcd8jOxgj9pWtCasg8RYw+d0f19m0dJUPvdj04RC4o3A==
|
||||||
dependencies:
|
dependencies:
|
||||||
axios "^0.19.2"
|
axios "^0.21.2"
|
||||||
bignumber.js "^9.0.0"
|
bignumber.js "^9.0.0"
|
||||||
|
|
||||||
get-caller-file@^2.0.1:
|
get-caller-file@^2.0.1:
|
||||||
@@ -1222,15 +1132,7 @@ has@^1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
function-bind "^1.1.1"
|
function-bind "^1.1.1"
|
||||||
|
|
||||||
hash.js@1.1.3:
|
hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3:
|
||||||
version "1.1.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
|
|
||||||
integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==
|
|
||||||
dependencies:
|
|
||||||
inherits "^2.0.3"
|
|
||||||
minimalistic-assert "^1.0.0"
|
|
||||||
|
|
||||||
hash.js@^1.0.0, hash.js@^1.0.3:
|
|
||||||
version "1.1.7"
|
version "1.1.7"
|
||||||
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
|
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
|
||||||
integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
|
integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
|
||||||
@@ -1243,7 +1145,7 @@ he@1.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||||
|
|
||||||
hmac-drbg@^1.0.0:
|
hmac-drbg@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
|
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
|
||||||
integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
|
integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
|
||||||
@@ -1278,7 +1180,7 @@ inflight@^1.0.4:
|
|||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
inherits@2, inherits@^2.0.1, inherits@^2.0.3:
|
inherits@2, inherits@^2.0.3, inherits@^2.0.4:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
@@ -1462,7 +1364,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
|
|||||||
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
|
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
|
||||||
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
||||||
|
|
||||||
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
|
minimalistic-crypto-utils@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
|
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
|
||||||
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
|
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
|
||||||
@@ -1517,11 +1419,6 @@ mocha@^8.1.3:
|
|||||||
yargs-parser "13.1.2"
|
yargs-parser "13.1.2"
|
||||||
yargs-unparser "1.6.1"
|
yargs-unparser "1.6.1"
|
||||||
|
|
||||||
ms@2.0.0:
|
|
||||||
version "2.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
|
||||||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
|
||||||
|
|
||||||
ms@2.1.2, ms@^2.1.1:
|
ms@2.1.2, ms@^2.1.1:
|
||||||
version "2.1.2"
|
version "2.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||||
@@ -2004,10 +1901,10 @@ write@1.0.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
mkdirp "^0.5.1"
|
mkdirp "^0.5.1"
|
||||||
|
|
||||||
ws@7.2.3:
|
ws@7.4.6:
|
||||||
version "7.2.3"
|
version "7.4.6"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
|
||||||
integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==
|
integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
|
||||||
|
|
||||||
y18n@^4.0.0:
|
y18n@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user