Commit 9d25e0a5 authored by Kelvin Fichter's avatar Kelvin Fichter Committed by GitHub

dev: Use eth-optimism/core-utils where applicable (#281)

* Use core-utils where applicable

* Further reduce utils

* Update ovmCREATEEOA.spec.ts
Co-authored-by: default avatarMark Tyneway <mark.tyneway@gmail.com>
parent e7b0d3de
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
"serve": "./bin/serve_dump.sh" "serve": "./bin/serve_dump.sh"
}, },
"dependencies": { "dependencies": {
"@eth-optimism/core-utils": "^0.1.8",
"@eth-optimism/dev": "^1.1.1", "@eth-optimism/dev": "^1.1.1",
"@ethersproject/abstract-provider": "^5.0.8", "@ethersproject/abstract-provider": "^5.0.8",
"@ethersproject/contracts": "^5.0.5", "@ethersproject/contracts": "^5.0.5",
...@@ -42,7 +43,7 @@ ...@@ -42,7 +43,7 @@
"glob": "^7.1.6" "glob": "^7.1.6"
}, },
"devDependencies": { "devDependencies": {
"@eth-optimism/plugins": "^0.0.16", "@eth-optimism/plugins": "^0.0.17",
"@eth-optimism/smock": "0.2.1-alpha.0", "@eth-optimism/smock": "0.2.1-alpha.0",
"@nomiclabs/hardhat-ethers": "^2.0.1", "@nomiclabs/hardhat-ethers": "^2.0.1",
"@nomiclabs/hardhat-waffle": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1",
......
...@@ -6,7 +6,7 @@ import { Interface } from 'ethers/lib/utils' ...@@ -6,7 +6,7 @@ import { Interface } from 'ethers/lib/utils'
export const getContractDefinition = (name: string, ovm?: boolean): any => { export const getContractDefinition = (name: string, ovm?: boolean): any => {
const match = glob.sync( const match = glob.sync(
path.resolve(__dirname, `../artifacts`) + path.resolve(__dirname, `../artifacts`) +
`/**/${name}${ovm ? '.ovm' : ''}.json` `/**/${name}${ovm ? '-ovm' : ''}.json`
) )
if (match.length > 0) { if (match.length > 0) {
......
...@@ -3,10 +3,10 @@ import * as path from 'path' ...@@ -3,10 +3,10 @@ import * as path from 'path'
import { ethers } from 'ethers' import { ethers } from 'ethers'
import * as Ganache from 'ganache-core' import * as Ganache from 'ganache-core'
import { keccak256 } from 'ethers/lib/utils' import { keccak256 } from 'ethers/lib/utils'
import { fromHexString, toHexString, remove0x } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { deploy, RollupDeployConfig } from './contract-deployment' import { deploy, RollupDeployConfig } from './contract-deployment'
import { fromHexString, toHexString, remove0x } from './utils'
import { getContractDefinition } from './contract-defs' import { getContractDefinition } from './contract-defs'
interface StorageDump { interface StorageDump {
......
/* External Imports */
import { BigNumber } from 'ethers'
/**
* Converts a string or buffer to a '0x'-prefixed hex string.
* @param buf String or buffer to convert.
* @returns '0x'-prefixed string.
*/
export const toHexString = (buf: Buffer | string): string => {
return '0x' + fromHexString(buf).toString('hex')
}
/**
* Converts a '0x'-prefixed string to a buffer.
* @param str '0x'-prefixed string to convert.
* @returns Hex buffer.
*/
export const fromHexString = (str: string | Buffer): Buffer => {
if (typeof str === 'string' && str.startsWith('0x')) {
return Buffer.from(str.slice(2), 'hex')
}
return Buffer.from(str)
}
export const toHexString32 = (
input: Buffer | string | number,
padRight = false
): string => {
if (typeof input === 'number') {
input = BigNumber.from(input).toHexString()
}
input = toHexString(input).slice(2)
return '0x' + (padRight ? input.padEnd(64, '0') : input.padStart(64, '0'))
}
export const getHexSlice = (
input: Buffer | string,
start: number,
length: number
): string => {
return toHexString(fromHexString(input).slice(start, start + length))
}
const hexRegex = /^(0x)?[0-9a-fA-F]*$/
/**
* Generates a hex string of repeated bytes.
* @param byte Byte to repeat.
* @param len Number of times to repeat the byte.
* @return '0x'-prefixed hex string filled with the provided byte.
*/
export const makeHexString = (byte: string, len: number): string => {
return '0x' + byte.repeat(len)
}
/**
* Genereates an address with a repeated byte.
* @param byte Byte to repeat in the address.
* @return Address filled with the repeated byte.
*/
export const makeAddress = (byte: string): string => {
return makeHexString(byte, 20)
}
/**
* Removes '0x' from a hex string.
* @param str Hex string to remove '0x' from.
* @returns String without the '0x' prefix.
*/
export const remove0x = (str: string): string => {
if (str.startsWith('0x')) {
return str.slice(2)
} else {
return str
}
}
/**
* Returns whether or not the provided string is a hex string.
*
* @param str The string to test.
* @returns True if the provided string is a hex string, false otherwise.
*/
export const isHexString = (str: string): boolean => {
return hexRegex.test(str)
}
/**
* Converts a hex string to a buffer
* @param hexString the hex string to be converted
* @returns the hexString as a buffer.
*/
export const hexStrToBuf = (hexString: string): Buffer => {
if (!isHexString(hexString)) {
throw new RangeError(`Invalid hex string [${hexString}]`)
}
if (hexString.length % 2 !== 0) {
throw new RangeError(
`Invalid hex string -- odd number of characters: [${hexString}]`
)
}
return Buffer.from(remove0x(hexString), 'hex')
}
/**
* Converts a JavaScript number to a big-endian hex string.
* @param number the JavaScript number to be converted.
* @param padToBytes the number of numeric bytes the resulting string should be, -1 if no padding should be done.
* @returns the JavaScript number as a string.
*/
export const numberToHexString = (
number: number,
padToBytes: number = -1
): string => {
let str = number.toString(16)
if (padToBytes > 0 || str.length < padToBytes * 2) {
str = `${'0'.repeat(padToBytes * 2 - str.length)}${str}`
}
return add0x(str)
}
/**
* Adds "0x" to the start of a string if necessary.
* @param str String to modify.
* @returns the string with "0x".
*/
export const add0x = (str: string): string => {
if (str === undefined) {
return str
}
return str.startsWith('0x') ? str : '0x' + str
}
export * from './buffer-utils'
export * from './byte-utils'
...@@ -4,9 +4,10 @@ import { expect } from '../../../setup' ...@@ -4,9 +4,10 @@ import { expect } from '../../../setup'
import { ethers, waffle } from 'hardhat' import { ethers, waffle } from 'hardhat'
import { ContractFactory, Contract, Wallet } from 'ethers' import { ContractFactory, Contract, Wallet } from 'ethers'
import { MockContract, smockit } from '@eth-optimism/smock' import { MockContract, smockit } from '@eth-optimism/smock'
import { remove0x } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { remove0x, decodeSolidityError } from '../../../helpers' import { decodeSolidityError } from '../../../helpers'
const callPrecompile = async ( const callPrecompile = async (
Helper_PrecompileCaller: Contract, Helper_PrecompileCaller: Contract,
......
...@@ -4,6 +4,7 @@ import { expect } from '../../../../setup' ...@@ -4,6 +4,7 @@ import { expect } from '../../../../setup'
import { ethers } from 'hardhat' import { ethers } from 'hardhat'
import { Signer, ContractFactory, Contract, BigNumber } from 'ethers' import { Signer, ContractFactory, Contract, BigNumber } from 'ethers'
import { smockit, MockContract } from '@eth-optimism/smock' import { smockit, MockContract } from '@eth-optimism/smock'
import { remove0x, toHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { import {
...@@ -15,9 +16,7 @@ import { ...@@ -15,9 +16,7 @@ import {
DUMMY_BATCH_HEADERS, DUMMY_BATCH_HEADERS,
DUMMY_BATCH_PROOFS, DUMMY_BATCH_PROOFS,
TrieTestGenerator, TrieTestGenerator,
toHexString,
getNextBlockNumber, getNextBlockNumber,
remove0x,
getXDomainCalldata, getXDomainCalldata,
} from '../../../../helpers' } from '../../../../helpers'
import { keccak256 } from 'ethers/lib/utils' import { keccak256 } from 'ethers/lib/utils'
......
...@@ -4,6 +4,7 @@ import { expect } from '../../../../setup' ...@@ -4,6 +4,7 @@ import { expect } from '../../../../setup'
import { ethers } from 'hardhat' import { ethers } from 'hardhat'
import { Signer, ContractFactory, Contract } from 'ethers' import { Signer, ContractFactory, Contract } from 'ethers'
import { smockit, MockContract } from '@eth-optimism/smock' import { smockit, MockContract } from '@eth-optimism/smock'
import { toHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { import {
...@@ -12,7 +13,6 @@ import { ...@@ -12,7 +13,6 @@ import {
NON_NULL_BYTES32, NON_NULL_BYTES32,
DUMMY_BATCH_HEADERS, DUMMY_BATCH_HEADERS,
DUMMY_BATCH_PROOFS, DUMMY_BATCH_PROOFS,
toHexString,
} from '../../../../helpers' } from '../../../../helpers'
describe('OVM_L1MultiMessageRelayer', () => { describe('OVM_L1MultiMessageRelayer', () => {
......
...@@ -5,6 +5,7 @@ import { ethers } from 'hardhat' ...@@ -5,6 +5,7 @@ import { ethers } from 'hardhat'
import { Signer, ContractFactory, Contract, BigNumber } from 'ethers' import { Signer, ContractFactory, Contract, BigNumber } from 'ethers'
import { TransactionResponse } from '@ethersproject/abstract-provider' import { TransactionResponse } from '@ethersproject/abstract-provider'
import { smockit, MockContract } from '@eth-optimism/smock' import { smockit, MockContract } from '@eth-optimism/smock'
import { remove0x } from '@eth-optimism/core-utils'
import _ from 'lodash' import _ from 'lodash'
/* Internal Imports */ /* Internal Imports */
...@@ -15,7 +16,6 @@ import { ...@@ -15,7 +16,6 @@ import {
FORCE_INCLUSION_PERIOD_BLOCKS, FORCE_INCLUSION_PERIOD_BLOCKS,
setEthTime, setEthTime,
NON_ZERO_ADDRESS, NON_ZERO_ADDRESS,
remove0x,
getEthTime, getEthTime,
getNextBlockNumber, getNextBlockNumber,
increaseEthTime, increaseEthTime,
......
/* External Imports */
import { fromHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { import {
ExecutionManagerTestRunner, ExecutionManagerTestRunner,
...@@ -5,7 +8,6 @@ import { ...@@ -5,7 +8,6 @@ import {
OVM_TX_GAS_LIMIT, OVM_TX_GAS_LIMIT,
NON_NULL_BYTES32, NON_NULL_BYTES32,
VERIFIED_EMPTY_CONTRACT_HASH, VERIFIED_EMPTY_CONTRACT_HASH,
fromHexString,
} from '../../../../helpers' } from '../../../../helpers'
import { getContractDefinition } from '../../../../../src' import { getContractDefinition } from '../../../../../src'
......
...@@ -4,9 +4,11 @@ import { expect } from '../../../setup' ...@@ -4,9 +4,11 @@ import { expect } from '../../../setup'
import { ethers } from 'hardhat' import { ethers } from 'hardhat'
import { ContractFactory, Contract } from 'ethers' import { ContractFactory, Contract } from 'ethers'
import { MockContract, smockit } from '@eth-optimism/smock' import { MockContract, smockit } from '@eth-optimism/smock'
import { NON_ZERO_ADDRESS } from '../../../helpers/constants' import { remove0x } from '@eth-optimism/core-utils'
import { keccak256 } from 'ethers/lib/utils' import { keccak256 } from 'ethers/lib/utils'
import { remove0x } from '../../../helpers'
/* Internal Imports */
import { NON_ZERO_ADDRESS } from '../../../helpers/constants'
const ELEMENT_TEST_SIZES = [1, 2, 4, 8, 16] const ELEMENT_TEST_SIZES = [1, 2, 4, 8, 16]
......
...@@ -4,9 +4,10 @@ import { expect } from '../../../setup' ...@@ -4,9 +4,10 @@ import { expect } from '../../../setup'
import { ethers, waffle } from 'hardhat' import { ethers, waffle } from 'hardhat'
import { ContractFactory, Contract, Wallet } from 'ethers' import { ContractFactory, Contract, Wallet } from 'ethers'
import { MockContract, smockit } from '@eth-optimism/smock' import { MockContract, smockit } from '@eth-optimism/smock'
import { ZERO_ADDRESS, remove0x } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { decodeSolidityError, ZERO_ADDRESS, remove0x } from '../../../helpers' import { decodeSolidityError } from '../../../helpers'
const callPrecompile = async ( const callPrecompile = async (
Helper_PrecompileCaller: Contract, Helper_PrecompileCaller: Contract,
......
...@@ -15,7 +15,6 @@ import { ...@@ -15,7 +15,6 @@ import {
setProxyTarget, setProxyTarget,
TrieTestGenerator, TrieTestGenerator,
ZERO_ADDRESS, ZERO_ADDRESS,
numberToHexString,
} from '../../../helpers' } from '../../../helpers'
import { import {
MockContract, MockContract,
...@@ -24,6 +23,7 @@ import { ...@@ -24,6 +23,7 @@ import {
smoddit, smoddit,
ModifiableContractFactory, ModifiableContractFactory,
} from '@eth-optimism/smock' } from '@eth-optimism/smock'
import { toHexString } from '@eth-optimism/core-utils'
describe('OVM_StateTransitioner', () => { describe('OVM_StateTransitioner', () => {
let AddressManager: Contract let AddressManager: Contract
...@@ -279,7 +279,7 @@ describe('OVM_StateTransitioner', () => { ...@@ -279,7 +279,7 @@ describe('OVM_StateTransitioner', () => {
l1QueueOrigin: '0x00', l1QueueOrigin: '0x00',
l1TxOrigin: ZERO_ADDRESS, l1TxOrigin: ZERO_ADDRESS,
entrypoint: ZERO_ADDRESS, entrypoint: ZERO_ADDRESS,
gasLimit: numberToHexString(gasLimit), gasLimit: toHexString(gasLimit),
data: '0x1234', data: '0x1234',
} }
......
...@@ -4,9 +4,10 @@ import { expect } from '../../../setup' ...@@ -4,9 +4,10 @@ import { expect } from '../../../setup'
import * as rlp from 'rlp' import * as rlp from 'rlp'
import { ethers } from 'hardhat' import { ethers } from 'hardhat'
import { Contract } from 'ethers' import { Contract } from 'ethers'
import { toHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { toHexString, TrieTestGenerator } from '../../../helpers' import { TrieTestGenerator } from '../../../helpers'
const NODE_COUNTS = [1, 2, 128] const NODE_COUNTS = [1, 2, 128]
......
...@@ -4,14 +4,19 @@ import { expect } from '../../../setup' ...@@ -4,14 +4,19 @@ import { expect } from '../../../setup'
/* External Imports */ /* External Imports */
import { ethers } from 'hardhat' import { ethers } from 'hardhat'
import { Contract, Signer } from 'ethers' import { Contract, Signer } from 'ethers'
import { fromHexString, toHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { import { ZERO_ADDRESS } from '../../../helpers'
ZERO_ADDRESS,
makeHexString, // Leaving this here for now. If it's sufficiently useful we can throw it in core-utils.
fromHexString, const getHexSlice = (
getHexSlice, input: Buffer | string,
} from '../../../helpers' start: number,
length: number
): string => {
return toHexString(fromHexString(input).slice(start, start + length))
}
describe('Lib_EthUtils', () => { describe('Lib_EthUtils', () => {
let signer: Signer let signer: Signer
...@@ -42,7 +47,7 @@ describe('Lib_EthUtils', () => { ...@@ -42,7 +47,7 @@ describe('Lib_EthUtils', () => {
offset, offset,
length length
) )
).to.equal(makeHexString('00', length)) ).to.equal('0x' + '00'.repeat(length))
}) })
}) })
...@@ -58,7 +63,7 @@ describe('Lib_EthUtils', () => { ...@@ -58,7 +63,7 @@ describe('Lib_EthUtils', () => {
offset, offset,
length length
) )
).to.equal(makeHexString('00', length)) ).to.equal('0x' + '00'.repeat(length))
}) })
}) })
}) })
...@@ -81,7 +86,7 @@ describe('Lib_EthUtils', () => { ...@@ -81,7 +86,7 @@ describe('Lib_EthUtils', () => {
offset, offset,
length length
) )
).to.equal(makeHexString('00', length)) ).to.equal('0x' + '00'.repeat(length))
}) })
}) })
...@@ -97,7 +102,7 @@ describe('Lib_EthUtils', () => { ...@@ -97,7 +102,7 @@ describe('Lib_EthUtils', () => {
offset, offset,
length length
) )
).to.equal(makeHexString('00', length)) ).to.equal('0x' + '00'.repeat(length))
}) })
}) })
}) })
...@@ -291,7 +296,7 @@ describe('Lib_EthUtils', () => { ...@@ -291,7 +296,7 @@ describe('Lib_EthUtils', () => {
offset, offset,
length length
) )
).to.equal(makeHexString('00', length)) ).to.equal('0x' + '00'.repeat(length))
}) })
}) })
}) })
......
...@@ -4,14 +4,10 @@ import { expect } from '../../../setup' ...@@ -4,14 +4,10 @@ import { expect } from '../../../setup'
import { ethers } from 'hardhat' import { ethers } from 'hardhat'
import { Contract, BigNumber } from 'ethers' import { Contract, BigNumber } from 'ethers'
import { MerkleTree } from 'merkletreejs' import { MerkleTree } from 'merkletreejs'
import { fromHexString, toHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { import { NON_NULL_BYTES32, NULL_BYTES32 } from '../../../helpers'
fromHexString,
NON_NULL_BYTES32,
NULL_BYTES32,
toHexString,
} from '../../../helpers'
const NODE_COUNTS = [ const NODE_COUNTS = [
2, 2,
......
...@@ -3,7 +3,7 @@ import { ethers } from 'hardhat' ...@@ -3,7 +3,7 @@ import { ethers } from 'hardhat'
import { Wallet } from 'ethers' import { Wallet } from 'ethers'
/* Internal Imports */ /* Internal Imports */
import { remove0x, hexStrToBuf } from '../' import { remove0x, fromHexString } from '@eth-optimism/core-utils'
import { ZERO_ADDRESS } from '../constants' import { ZERO_ADDRESS } from '../constants'
export interface EIP155Transaction { export interface EIP155Transaction {
...@@ -47,9 +47,9 @@ export const encodeCompactTransaction = (transaction: any): string => { ...@@ -47,9 +47,9 @@ export const encodeCompactTransaction = (transaction: any): string => {
const compressedGasPrice: any = transaction.gasPrice / 1000000 const compressedGasPrice: any = transaction.gasPrice / 1000000
const gasPrice = ethers.utils.zeroPad(compressedGasPrice, 3) const gasPrice = ethers.utils.zeroPad(compressedGasPrice, 3)
const to = !transaction.to.length const to = !transaction.to.length
? hexStrToBuf(ZERO_ADDRESS) ? fromHexString(ZERO_ADDRESS)
: hexStrToBuf(transaction.to) : fromHexString(transaction.to)
const data = hexStrToBuf(transaction.data) const data = fromHexString(transaction.data)
return Buffer.concat([ return Buffer.concat([
Buffer.from(gasLimit), Buffer.from(gasLimit),
......
/* External Imports */ /* External Imports */
import { ethers } from 'ethers' import { ethers } from 'ethers'
import { defaultAccounts } from 'ethereum-waffle' import { defaultAccounts } from 'ethereum-waffle'
import { fromHexString, toHexString } from '@eth-optimism/core-utils'
import xor from 'buffer-xor' import xor from 'buffer-xor'
/* Internal Imports */
import { makeHexString, makeAddress, fromHexString, toHexString } from './utils'
export const DEFAULT_ACCOUNTS = defaultAccounts export const DEFAULT_ACCOUNTS = defaultAccounts
export const DEFAULT_ACCOUNTS_HARDHAT = defaultAccounts.map((account) => { export const DEFAULT_ACCOUNTS_HARDHAT = defaultAccounts.map((account) => {
return { return {
...@@ -19,10 +17,12 @@ export const RUN_OVM_TEST_GAS = 20_000_000 ...@@ -19,10 +17,12 @@ export const RUN_OVM_TEST_GAS = 20_000_000
export const FORCE_INCLUSION_PERIOD_SECONDS = 600 export const FORCE_INCLUSION_PERIOD_SECONDS = 600
export const FORCE_INCLUSION_PERIOD_BLOCKS = 600 / 12 export const FORCE_INCLUSION_PERIOD_BLOCKS = 600 / 12
export const NULL_BYTES32 = makeHexString('00', 32) export const NULL_BYTES32 =
export const NON_NULL_BYTES32 = makeHexString('11', 32) '0x0000000000000000000000000000000000000000000000000000000000000000'
export const ZERO_ADDRESS = makeAddress('00') export const NON_NULL_BYTES32 =
export const NON_ZERO_ADDRESS = makeAddress('11') '0x1111111111111111111111111111111111111111111111111111111111111111'
export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'
export const NON_ZERO_ADDRESS = '0x1111111111111111111111111111111111111111'
export const VERIFIED_EMPTY_CONTRACT_HASH = export const VERIFIED_EMPTY_CONTRACT_HASH =
'0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470' '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'
......
...@@ -4,7 +4,6 @@ import { BigNumber } from 'ethers' ...@@ -4,7 +4,6 @@ import { BigNumber } from 'ethers'
/* Internal Imports */ /* Internal Imports */
import { DUMMY_BYTES32 } from './bytes32' import { DUMMY_BYTES32 } from './bytes32'
import { ZERO_ADDRESS, NON_ZERO_ADDRESS } from '../constants' import { ZERO_ADDRESS, NON_ZERO_ADDRESS } from '../constants'
import { makeAddress } from '../utils'
import { OVMAccount } from '../types/ovm-types' import { OVMAccount } from '../types/ovm-types'
export const DUMMY_ACCOUNTS: Array<{ export const DUMMY_ACCOUNTS: Array<{
...@@ -12,7 +11,7 @@ export const DUMMY_ACCOUNTS: Array<{ ...@@ -12,7 +11,7 @@ export const DUMMY_ACCOUNTS: Array<{
data: OVMAccount data: OVMAccount
}> = [ }> = [
{ {
address: makeAddress('12'), address: '0x1212121212121212121212121212121212121212',
data: { data: {
nonce: BigNumber.from(123), nonce: BigNumber.from(123),
balance: BigNumber.from(456), balance: BigNumber.from(456),
...@@ -22,7 +21,7 @@ export const DUMMY_ACCOUNTS: Array<{ ...@@ -22,7 +21,7 @@ export const DUMMY_ACCOUNTS: Array<{
}, },
}, },
{ {
address: makeAddress('21'), address: '0x2121212121212121212121212121212121212121',
data: { data: {
nonce: BigNumber.from(321), nonce: BigNumber.from(321),
balance: BigNumber.from(654), balance: BigNumber.from(654),
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
import * as rlp from 'rlp' import * as rlp from 'rlp'
import { default as seedbytes } from 'random-bytes-seed' import { default as seedbytes } from 'random-bytes-seed'
import { SecureTrie, BaseTrie } from 'merkle-patricia-tree' import { SecureTrie, BaseTrie } from 'merkle-patricia-tree'
import { fromHexString, toHexString } from '@eth-optimism/core-utils'
/* Internal Imports */ /* Internal Imports */
import { fromHexString, toHexString } from '../utils'
import { NULL_BYTES32 } from '../constants' import { NULL_BYTES32 } from '../constants'
export interface TrieNode { export interface TrieNode {
......
/* External Imports */
import { Signer } from 'ethers' import { Signer } from 'ethers'
import { toHexString } from '../../../src/utils' import { toHexString } from '@eth-optimism/core-utils'
export const deployContractCode = async ( export const deployContractCode = async (
code: string, code: string,
......
export * from '../../../src/utils'
export * from './eth-time' export * from './eth-time'
export * from './sol-utils' export * from './sol-utils'
export * from './custom-deployer' export * from './custom-deployer'
...@@ -39,17 +39,27 @@ ...@@ -39,17 +39,27 @@
resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89" resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89"
integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA==
"@eth-optimism/contracts@0.0.2-alpha.14": "@eth-optimism/contracts@^0.1.9":
version "0.0.2-alpha.14" version "0.1.9"
resolved "https://registry.yarnpkg.com/@eth-optimism/contracts/-/contracts-0.0.2-alpha.14.tgz#382ae9250e7d89e7729bcfe73ffdb85897e385c2" resolved "https://registry.yarnpkg.com/@eth-optimism/contracts/-/contracts-0.1.9.tgz#01a8b7816b2fcc8408c102d81e455868e4a09bc3"
integrity sha512-EeOKiQ+Tu/bZqlq2bsXJegRYHhBXlcDO+fNXG1NJyies23rcLrjR7LMocJmw/F9TpYJ08UqvOHttD5w//cntpg== integrity sha512-vLW6vnFymdSWveF7qMUwYNFGSOYI90qosOJLxalOLi2dvJ6Glh7wtnCF6GvXMb3bNQ1fS5eFwHzjhWIbBMvWRA==
dependencies: dependencies:
"@eth-optimism/solc" "^0.6.12-alpha.1" "@ethersproject/abstract-provider" "^5.0.8"
"@ethersproject/contracts" "^5.0.5" "@ethersproject/contracts" "^5.0.5"
"@ethersproject/hardware-wallets" "^5.0.8" "@ethersproject/hardware-wallets" "^5.0.8"
"@openzeppelin/contracts" "^3.3.0" "@openzeppelin/contracts" "^3.3.0"
ethers "5.0.0"
ganache-core "^2.12.1" ganache-core "^2.12.1"
glob "^7.1.6"
"@eth-optimism/core-utils@^0.1.8":
version "0.1.8"
resolved "https://registry.yarnpkg.com/@eth-optimism/core-utils/-/core-utils-0.1.8.tgz#bf9ac0e537e99a56b2f03af525d317aac5933c41"
integrity sha512-IdRDkyVWmrmbA4P0hvupS+uLSQ1qwG1bWtdvwqeG1+wfDMC7nfZyjdeRWrRZbFvVs/hKk20LERC7L5/lJEo1hA==
dependencies:
"@ethersproject/abstract-provider" "^5.0.9"
colors "^1.4.0"
debug "^4.3.1"
ethers "^5.0.31"
"@eth-optimism/dev@^1.1.1": "@eth-optimism/dev@^1.1.1":
version "1.1.1" version "1.1.1"
...@@ -96,16 +106,17 @@ ...@@ -96,16 +106,17 @@
util.promisify "^1.0.0" util.promisify "^1.0.0"
uuid "^8.3.0" uuid "^8.3.0"
"@eth-optimism/plugins@^0.0.16": "@eth-optimism/plugins@^0.0.17":
version "0.0.16" version "0.0.17"
resolved "https://registry.yarnpkg.com/@eth-optimism/plugins/-/plugins-0.0.16.tgz#eae8a3e3be4d92aac866e31acad96291d4ae5c76" resolved "https://registry.yarnpkg.com/@eth-optimism/plugins/-/plugins-0.0.17.tgz#e7b9fa9bd99d687d564975f206c01fde1124e735"
integrity sha512-vXYljJzQu+kSUydG6WIgGxfnP54nbutKmzbAcy8j2GJgLLhtZSxCIA+UhBiO1mA4k/qFeUGJcf8kZfaddKygIQ== integrity sha512-jvF4Q9kAZ0T1I4COaUrgqxDY2GW9uRRgwc4IlY7JS1LGKK0fYeGf6alxhkXdZAmZBiwCEFpmTx0JTp8YxG7G4g==
dependencies: dependencies:
"@eth-optimism/contracts" "0.0.2-alpha.14" "@eth-optimism/contracts" "^0.1.9"
"@eth-optimism/ethereumjs-vm" "^4.2.0-alpha.2" "@eth-optimism/ethereumjs-vm" "^4.2.0-alpha.2"
"@nomiclabs/hardhat-truffle5" "^2.0.0" "@nomiclabs/hardhat-truffle5" "^2.0.0"
bn.js "^5.1.3" bn.js "^5.1.3"
ethereumjs-account "^3.0.0" ethereumjs-account "^3.0.0"
ethers "^5.0.31"
ethjs-common-v1 "npm:ethereumjs-common@1.5.0" ethjs-common-v1 "npm:ethereumjs-common@1.5.0"
ethjs-util-v6 "npm:ethereumjs-util@6.2.1" ethjs-util-v6 "npm:ethereumjs-util@6.2.1"
node-fetch "^2.6.1" node-fetch "^2.6.1"
...@@ -122,21 +133,6 @@ ...@@ -122,21 +133,6 @@
fs-extra "^9.0.1" fs-extra "^9.0.1"
hardhat "^2.0.3" hardhat "^2.0.3"
"@eth-optimism/solc@^0.6.12-alpha.1":
version "0.6.12-alpha.1"
resolved "https://registry.yarnpkg.com/@eth-optimism/solc/-/solc-0.6.12-alpha.1.tgz#041876f83b34c6afe2f19dfe9626568df6ed8590"
integrity sha512-Ky73mo+2iNJs/VTaT751nMeZ7hXns0TBAlffTOxIOsScjAZ/zi/KWsDUo3r89aV2JKXcYAU/bLidxF40MVJeUw==
dependencies:
command-exists "^1.2.8"
commander "3.0.2"
follow-redirects "^1.12.1"
fs-extra "^0.30.0"
js-sha3 "0.8.0"
memorystream "^0.3.1"
require-from-string "^2.0.0"
semver "^5.5.0"
tmp "0.0.33"
"@ethereum-waffle/chai@^3.0.0", "@ethereum-waffle/chai@^3.2.2": "@ethereum-waffle/chai@^3.0.0", "@ethereum-waffle/chai@^3.2.2":
version "3.2.2" version "3.2.2"
resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-3.2.2.tgz#33a349688386c9a8fdc4da5baea329036b9fe75e" resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-3.2.2.tgz#33a349688386c9a8fdc4da5baea329036b9fe75e"
...@@ -202,7 +198,7 @@ ...@@ -202,7 +198,7 @@
"@ethersproject/properties" ">=5.0.0-beta.131" "@ethersproject/properties" ">=5.0.0-beta.131"
"@ethersproject/strings" ">=5.0.0-beta.130" "@ethersproject/strings" ">=5.0.0-beta.130"
"@ethersproject/abi@5.0.12", "@ethersproject/abi@^5.0.0", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.0.10": "@ethersproject/abi@5.0.12", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.0.10":
version "5.0.12" version "5.0.12"
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.12.tgz#9aebe6aedc05ce45bb6c41b06d80bd195b7de77c" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.12.tgz#9aebe6aedc05ce45bb6c41b06d80bd195b7de77c"
integrity sha512-Ujr/3bwyYYjXLDQfebeiiTuvOw9XtUKM8av6YkoBeMXyGQM9GkjrQlwJMNwGTmqjATH/ZNbRgCh98GjOLiIB1Q== integrity sha512-Ujr/3bwyYYjXLDQfebeiiTuvOw9XtUKM8av6YkoBeMXyGQM9GkjrQlwJMNwGTmqjATH/ZNbRgCh98GjOLiIB1Q==
...@@ -232,7 +228,7 @@ ...@@ -232,7 +228,7 @@
"@ethersproject/properties" "^5.0.3" "@ethersproject/properties" "^5.0.3"
"@ethersproject/strings" "^5.0.4" "@ethersproject/strings" "^5.0.4"
"@ethersproject/abstract-provider@5.0.9", "@ethersproject/abstract-provider@^5.0.0", "@ethersproject/abstract-provider@^5.0.8": "@ethersproject/abstract-provider@5.0.9", "@ethersproject/abstract-provider@^5.0.8", "@ethersproject/abstract-provider@^5.0.9":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.9.tgz#a55410b73e3994842884eb82b1f43e3a9f653eea" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.9.tgz#a55410b73e3994842884eb82b1f43e3a9f653eea"
integrity sha512-X9fMkqpeu9ayC3JyBkeeZhn35P4xQkpGX/l+FrxDtEW9tybf/UWXSMi8bGThpPtfJ6q6U2LDetXSpSwK4TfYQQ== integrity sha512-X9fMkqpeu9ayC3JyBkeeZhn35P4xQkpGX/l+FrxDtEW9tybf/UWXSMi8bGThpPtfJ6q6U2LDetXSpSwK4TfYQQ==
...@@ -245,7 +241,7 @@ ...@@ -245,7 +241,7 @@
"@ethersproject/transactions" "^5.0.9" "@ethersproject/transactions" "^5.0.9"
"@ethersproject/web" "^5.0.12" "@ethersproject/web" "^5.0.12"
"@ethersproject/abstract-signer@5.0.13", "@ethersproject/abstract-signer@^5.0.0", "@ethersproject/abstract-signer@^5.0.10": "@ethersproject/abstract-signer@5.0.13", "@ethersproject/abstract-signer@^5.0.10":
version "5.0.13" version "5.0.13"
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.13.tgz#59b4d0367d6327ec53bc269c6730c44a4a3b043c" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.13.tgz#59b4d0367d6327ec53bc269c6730c44a4a3b043c"
integrity sha512-VBIZEI5OK0TURoCYyw0t3w+TEO4kdwnI9wvt4kqUwyxSn3YCRpXYVl0Xoe7XBR/e5+nYOi2MyFGJ3tsFwONecQ== integrity sha512-VBIZEI5OK0TURoCYyw0t3w+TEO4kdwnI9wvt4kqUwyxSn3YCRpXYVl0Xoe7XBR/e5+nYOi2MyFGJ3tsFwONecQ==
...@@ -256,7 +252,7 @@ ...@@ -256,7 +252,7 @@
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/properties" "^5.0.7" "@ethersproject/properties" "^5.0.7"
"@ethersproject/address@5.0.10", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.9": "@ethersproject/address@5.0.10", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.9":
version "5.0.10" version "5.0.10"
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.10.tgz#2bc69fdff4408e0570471cd19dee577ab06a10d0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.10.tgz#2bc69fdff4408e0570471cd19dee577ab06a10d0"
integrity sha512-70vqESmW5Srua1kMDIN6uVfdneZMaMyRYH4qPvkAXGkbicrCOsA9m01vIloA4wYiiF+HLEfL1ENKdn5jb9xiAw== integrity sha512-70vqESmW5Srua1kMDIN6uVfdneZMaMyRYH4qPvkAXGkbicrCOsA9m01vIloA4wYiiF+HLEfL1ENKdn5jb9xiAw==
...@@ -267,7 +263,7 @@ ...@@ -267,7 +263,7 @@
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/rlp" "^5.0.7" "@ethersproject/rlp" "^5.0.7"
"@ethersproject/base64@5.0.8", "@ethersproject/base64@^5.0.0", "@ethersproject/base64@^5.0.7": "@ethersproject/base64@5.0.8", "@ethersproject/base64@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.8.tgz#1bc4b4b8c59c1debf972c7164b96c0b8964a20a1" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.8.tgz#1bc4b4b8c59c1debf972c7164b96c0b8964a20a1"
integrity sha512-PNbpHOMgZpZ1skvQl119pV2YkCPXmZTxw+T92qX0z7zaMFPypXWTZBzim+hUceb//zx4DFjeGT4aSjZRTOYThg== integrity sha512-PNbpHOMgZpZ1skvQl119pV2YkCPXmZTxw+T92qX0z7zaMFPypXWTZBzim+hUceb//zx4DFjeGT4aSjZRTOYThg==
...@@ -282,7 +278,7 @@ ...@@ -282,7 +278,7 @@
"@ethersproject/bytes" "^5.0.9" "@ethersproject/bytes" "^5.0.9"
"@ethersproject/properties" "^5.0.7" "@ethersproject/properties" "^5.0.7"
"@ethersproject/bignumber@5.0.14", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.0", "@ethersproject/bignumber@^5.0.13", "@ethersproject/bignumber@^5.0.7": "@ethersproject/bignumber@5.0.14", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.13", "@ethersproject/bignumber@^5.0.7":
version "5.0.14" version "5.0.14"
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.14.tgz#605bc61dcbd4a8c6df8b5a7a77c0210273f3de8a" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.14.tgz#605bc61dcbd4a8c6df8b5a7a77c0210273f3de8a"
integrity sha512-Q4TjMq9Gg3Xzj0aeJWqJgI3tdEiPiET7Y5OtNtjTAODZ2kp4y9jMNg97zVcvPedFvGROdpGDyCI77JDFodUzOw== integrity sha512-Q4TjMq9Gg3Xzj0aeJWqJgI3tdEiPiET7Y5OtNtjTAODZ2kp4y9jMNg97zVcvPedFvGROdpGDyCI77JDFodUzOw==
...@@ -291,21 +287,21 @@ ...@@ -291,21 +287,21 @@
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
bn.js "^4.4.0" bn.js "^4.4.0"
"@ethersproject/bytes@5.0.10", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.9": "@ethersproject/bytes@5.0.10", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.9":
version "5.0.10" version "5.0.10"
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.10.tgz#aa49afe7491ba24ff76fa33d98677351263f9ba4" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.10.tgz#aa49afe7491ba24ff76fa33d98677351263f9ba4"
integrity sha512-vpu0v1LZ1j1s9kERQIMnVU69MyHEzUff7nqK9XuCU4vx+AM8n9lU2gj7jtJIvGSt9HzatK/6I6bWusI5nyuaTA== integrity sha512-vpu0v1LZ1j1s9kERQIMnVU69MyHEzUff7nqK9XuCU4vx+AM8n9lU2gj7jtJIvGSt9HzatK/6I6bWusI5nyuaTA==
dependencies: dependencies:
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/constants@5.0.9", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.0.8": "@ethersproject/constants@5.0.9", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.0.8":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.9.tgz#81ac44c3bf612de63eb1c490b314ea1b932cda9f" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.9.tgz#81ac44c3bf612de63eb1c490b314ea1b932cda9f"
integrity sha512-2uAKH89UcaJP/Sc+54u92BtJtZ4cPgcS1p0YbB1L3tlkavwNvth+kNCUplIB1Becqs7BOZr0B/3dMNjhJDy4Dg== integrity sha512-2uAKH89UcaJP/Sc+54u92BtJtZ4cPgcS1p0YbB1L3tlkavwNvth+kNCUplIB1Becqs7BOZr0B/3dMNjhJDy4Dg==
dependencies: dependencies:
"@ethersproject/bignumber" "^5.0.13" "@ethersproject/bignumber" "^5.0.13"
"@ethersproject/contracts@5.0.11", "@ethersproject/contracts@^5.0.0", "@ethersproject/contracts@^5.0.5": "@ethersproject/contracts@5.0.11", "@ethersproject/contracts@^5.0.5":
version "5.0.11" version "5.0.11"
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.0.11.tgz#e6cc57698a05be2329cb2ca3d7e87686f95e438a" resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.0.11.tgz#e6cc57698a05be2329cb2ca3d7e87686f95e438a"
integrity sha512-FTUUd/6x00dYL2VufE2VowZ7h3mAyBfCQMGwI3tKDIWka+C0CunllFiKrlYCdiHFuVeMotR65dIcnzbLn72MCw== integrity sha512-FTUUd/6x00dYL2VufE2VowZ7h3mAyBfCQMGwI3tKDIWka+C0CunllFiKrlYCdiHFuVeMotR65dIcnzbLn72MCw==
...@@ -332,7 +328,7 @@ ...@@ -332,7 +328,7 @@
optionalDependencies: optionalDependencies:
"@ledgerhq/hw-transport-node-hid" "5.26.0" "@ledgerhq/hw-transport-node-hid" "5.26.0"
"@ethersproject/hash@5.0.11", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.0", "@ethersproject/hash@^5.0.10", "@ethersproject/hash@^5.0.4": "@ethersproject/hash@5.0.11", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.10", "@ethersproject/hash@^5.0.4":
version "5.0.11" version "5.0.11"
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.11.tgz#da89517438bbbf8a39df56fff09f0a71669ae7a7" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.11.tgz#da89517438bbbf8a39df56fff09f0a71669ae7a7"
integrity sha512-H3KJ9fk33XWJ2djAW03IL7fg3DsDMYjO1XijiUb1hJ85vYfhvxu0OmsU7d3tg2Uv1H1kFSo8ghr3WFQ8c+NL3g== integrity sha512-H3KJ9fk33XWJ2djAW03IL7fg3DsDMYjO1XijiUb1hJ85vYfhvxu0OmsU7d3tg2Uv1H1kFSo8ghr3WFQ8c+NL3g==
...@@ -346,7 +342,7 @@ ...@@ -346,7 +342,7 @@
"@ethersproject/properties" "^5.0.7" "@ethersproject/properties" "^5.0.7"
"@ethersproject/strings" "^5.0.8" "@ethersproject/strings" "^5.0.8"
"@ethersproject/hdnode@5.0.9", "@ethersproject/hdnode@^5.0.0", "@ethersproject/hdnode@^5.0.8": "@ethersproject/hdnode@5.0.9", "@ethersproject/hdnode@^5.0.8":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.0.9.tgz#ce65b430d3d3f0cd3c8f9dfaaf376b55881d9dba" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.0.9.tgz#ce65b430d3d3f0cd3c8f9dfaaf376b55881d9dba"
integrity sha512-S5UMmIC6XfFtqhUK4uTjD8GPNzSbE+sZ/0VMqFnA3zAJ+cEFZuEyhZDYnl2ItGJzjT4jsy+uEy1SIl3baYK1PQ== integrity sha512-S5UMmIC6XfFtqhUK4uTjD8GPNzSbE+sZ/0VMqFnA3zAJ+cEFZuEyhZDYnl2ItGJzjT4jsy+uEy1SIl3baYK1PQ==
...@@ -364,7 +360,7 @@ ...@@ -364,7 +360,7 @@
"@ethersproject/transactions" "^5.0.9" "@ethersproject/transactions" "^5.0.9"
"@ethersproject/wordlists" "^5.0.8" "@ethersproject/wordlists" "^5.0.8"
"@ethersproject/json-wallets@5.0.11", "@ethersproject/json-wallets@^5.0.0", "@ethersproject/json-wallets@^5.0.10": "@ethersproject/json-wallets@5.0.11", "@ethersproject/json-wallets@^5.0.10":
version "5.0.11" version "5.0.11"
resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.0.11.tgz#86fdc41b7762acb443d6a896f6c61231ab2aee5d" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.0.11.tgz#86fdc41b7762acb443d6a896f6c61231ab2aee5d"
integrity sha512-0GhWScWUlXXb4qJNp0wmkU95QS3YdN9UMOfMSEl76CRANWWrmyzxcBVSXSBu5iQ0/W8wO+xGlJJ3tpA6v3mbIw== integrity sha512-0GhWScWUlXXb4qJNp0wmkU95QS3YdN9UMOfMSEl76CRANWWrmyzxcBVSXSBu5iQ0/W8wO+xGlJJ3tpA6v3mbIw==
...@@ -383,7 +379,7 @@ ...@@ -383,7 +379,7 @@
aes-js "3.0.0" aes-js "3.0.0"
scrypt-js "3.0.1" scrypt-js "3.0.1"
"@ethersproject/keccak256@5.0.8", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.0.7": "@ethersproject/keccak256@5.0.8", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.8.tgz#13aaf69e1c8bd15fc59a2ebd055c0878f2a059c8" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.8.tgz#13aaf69e1c8bd15fc59a2ebd055c0878f2a059c8"
integrity sha512-zoGbwXcWWs9MX4NOAZ7N0hhgIRl4Q/IO/u9c/RHRY4WqDy3Ywm0OLamEV53QDwhjwn3YiiVwU1Ve5j7yJ0a/KQ== integrity sha512-zoGbwXcWWs9MX4NOAZ7N0hhgIRl4Q/IO/u9c/RHRY4WqDy3Ywm0OLamEV53QDwhjwn3YiiVwU1Ve5j7yJ0a/KQ==
...@@ -391,19 +387,19 @@ ...@@ -391,19 +387,19 @@
"@ethersproject/bytes" "^5.0.9" "@ethersproject/bytes" "^5.0.9"
js-sha3 "0.5.7" js-sha3 "0.5.7"
"@ethersproject/logger@5.0.9", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.0.8": "@ethersproject/logger@5.0.9", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.0.8":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.9.tgz#0e6a0b3ecc938713016954daf4ac7967467aa763" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.9.tgz#0e6a0b3ecc938713016954daf4ac7967467aa763"
integrity sha512-kV3Uamv3XOH99Xf3kpIG3ZkS7mBNYcLDM00JSDtNgNB4BihuyxpQzIZPRIDmRi+95Z/R1Bb0X2kUNHa/kJoVrw== integrity sha512-kV3Uamv3XOH99Xf3kpIG3ZkS7mBNYcLDM00JSDtNgNB4BihuyxpQzIZPRIDmRi+95Z/R1Bb0X2kUNHa/kJoVrw==
"@ethersproject/networks@5.0.8", "@ethersproject/networks@^5.0.0", "@ethersproject/networks@^5.0.7": "@ethersproject/networks@5.0.8", "@ethersproject/networks@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.8.tgz#37e6f8c058f2d540373ea5939056cd3de069132e" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.8.tgz#37e6f8c058f2d540373ea5939056cd3de069132e"
integrity sha512-PYpptlO2Tu5f/JEBI5hdlMds5k1DY1QwVbh3LKPb3un9dQA2bC51vd2/gRWAgSBpF3kkmZOj4FhD7ATLX4H+DA== integrity sha512-PYpptlO2Tu5f/JEBI5hdlMds5k1DY1QwVbh3LKPb3un9dQA2bC51vd2/gRWAgSBpF3kkmZOj4FhD7ATLX4H+DA==
dependencies: dependencies:
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/pbkdf2@5.0.8", "@ethersproject/pbkdf2@^5.0.0", "@ethersproject/pbkdf2@^5.0.7": "@ethersproject/pbkdf2@5.0.8", "@ethersproject/pbkdf2@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.0.8.tgz#06a086b1ac04c75e6846afd6cf6170a49a634411" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.0.8.tgz#06a086b1ac04c75e6846afd6cf6170a49a634411"
integrity sha512-UlmAMGbIPaS2xXsI38FbePVTfJMuU9jnwcqVn3p88HxPF4kD897ha+l3TNsBqJqf32UbQL5GImnf1oJkSKq4vQ== integrity sha512-UlmAMGbIPaS2xXsI38FbePVTfJMuU9jnwcqVn3p88HxPF4kD897ha+l3TNsBqJqf32UbQL5GImnf1oJkSKq4vQ==
...@@ -411,14 +407,14 @@ ...@@ -411,14 +407,14 @@
"@ethersproject/bytes" "^5.0.9" "@ethersproject/bytes" "^5.0.9"
"@ethersproject/sha2" "^5.0.7" "@ethersproject/sha2" "^5.0.7"
"@ethersproject/properties@5.0.8", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.7": "@ethersproject/properties@5.0.8", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.8.tgz#e45d28d25402c73394873dbf058f856c966cae01" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.8.tgz#e45d28d25402c73394873dbf058f856c966cae01"
integrity sha512-zEnLMze2Eu2VDPj/05QwCwMKHh506gpT9PP9KPVd4dDB+5d6AcROUYVLoIIQgBYK7X/Gw0UJmG3oVtnxOQafAw== integrity sha512-zEnLMze2Eu2VDPj/05QwCwMKHh506gpT9PP9KPVd4dDB+5d6AcROUYVLoIIQgBYK7X/Gw0UJmG3oVtnxOQafAw==
dependencies: dependencies:
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/providers@5.0.23", "@ethersproject/providers@^5.0.0": "@ethersproject/providers@5.0.23":
version "5.0.23" version "5.0.23"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.23.tgz#1e26512303d60bbd557242532fdb5fa3c5d5fb73" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.23.tgz#1e26512303d60bbd557242532fdb5fa3c5d5fb73"
integrity sha512-eJ94z2tgPaUgUmxwd3BVkIzkgkbNIkY6wRPVas04LVaBTycObQbgj794aaUu2bfk7+Bn2B/gjUZtJW1ybxh9/A== integrity sha512-eJ94z2tgPaUgUmxwd3BVkIzkgkbNIkY6wRPVas04LVaBTycObQbgj794aaUu2bfk7+Bn2B/gjUZtJW1ybxh9/A==
...@@ -443,7 +439,7 @@ ...@@ -443,7 +439,7 @@
bech32 "1.1.4" bech32 "1.1.4"
ws "7.2.3" ws "7.2.3"
"@ethersproject/random@5.0.8", "@ethersproject/random@^5.0.0", "@ethersproject/random@^5.0.7": "@ethersproject/random@5.0.8", "@ethersproject/random@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.0.8.tgz#8d3726be48e95467abce9b23c93adbb1de009dda" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.0.8.tgz#8d3726be48e95467abce9b23c93adbb1de009dda"
integrity sha512-4rHtotmd9NjklW0eDvByicEkL+qareIyFSbG1ShC8tPJJSAC0g55oQWzw+3nfdRCgBHRuEE7S8EcPcTVPvZ9cA== integrity sha512-4rHtotmd9NjklW0eDvByicEkL+qareIyFSbG1ShC8tPJJSAC0g55oQWzw+3nfdRCgBHRuEE7S8EcPcTVPvZ9cA==
...@@ -451,7 +447,7 @@ ...@@ -451,7 +447,7 @@
"@ethersproject/bytes" "^5.0.9" "@ethersproject/bytes" "^5.0.9"
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/rlp@5.0.8", "@ethersproject/rlp@^5.0.0", "@ethersproject/rlp@^5.0.7": "@ethersproject/rlp@5.0.8", "@ethersproject/rlp@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.8.tgz#ff54e206d0ae28640dd054f2bcc7070f06f9dfbe" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.8.tgz#ff54e206d0ae28640dd054f2bcc7070f06f9dfbe"
integrity sha512-E4wdFs8xRNJfzNHmnkC8w5fPeT4Wd1U2cust3YeT16/46iSkLT8nn8ilidC6KhR7hfuSZE4UqSPzyk76p7cdZg== integrity sha512-E4wdFs8xRNJfzNHmnkC8w5fPeT4Wd1U2cust3YeT16/46iSkLT8nn8ilidC6KhR7hfuSZE4UqSPzyk76p7cdZg==
...@@ -459,7 +455,7 @@ ...@@ -459,7 +455,7 @@
"@ethersproject/bytes" "^5.0.9" "@ethersproject/bytes" "^5.0.9"
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/sha2@5.0.8", "@ethersproject/sha2@^5.0.0", "@ethersproject/sha2@^5.0.7": "@ethersproject/sha2@5.0.8", "@ethersproject/sha2@^5.0.7":
version "5.0.8" version "5.0.8"
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.0.8.tgz#9903c67e562739d8b312820b0a265b9c9bf35fc3" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.0.8.tgz#9903c67e562739d8b312820b0a265b9c9bf35fc3"
integrity sha512-ILP1ZgyvDj4rrdE+AXrTv9V88m7x87uga2VZ/FeULKPumOEw/4bGnJz/oQ8zDnDvVYRCJ+48VaQBS2CFLbk1ww== integrity sha512-ILP1ZgyvDj4rrdE+AXrTv9V88m7x87uga2VZ/FeULKPumOEw/4bGnJz/oQ8zDnDvVYRCJ+48VaQBS2CFLbk1ww==
...@@ -468,7 +464,7 @@ ...@@ -468,7 +464,7 @@
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
hash.js "1.1.3" hash.js "1.1.3"
"@ethersproject/signing-key@5.0.10", "@ethersproject/signing-key@^5.0.0", "@ethersproject/signing-key@^5.0.8": "@ethersproject/signing-key@5.0.10", "@ethersproject/signing-key@^5.0.8":
version "5.0.10" version "5.0.10"
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.10.tgz#05e26e04f0aa5360dc78674d7331bacea8fea5c1" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.10.tgz#05e26e04f0aa5360dc78674d7331bacea8fea5c1"
integrity sha512-w5it3GbFOvN6e0mTd5gDNj+bwSe6L9jqqYjU+uaYS8/hAEp4qYLk5p8ZjbJJkNn7u1p0iwocp8X9oH/OdK8apA== integrity sha512-w5it3GbFOvN6e0mTd5gDNj+bwSe6L9jqqYjU+uaYS8/hAEp4qYLk5p8ZjbJJkNn7u1p0iwocp8X9oH/OdK8apA==
...@@ -478,7 +474,7 @@ ...@@ -478,7 +474,7 @@
"@ethersproject/properties" "^5.0.7" "@ethersproject/properties" "^5.0.7"
elliptic "6.5.4" elliptic "6.5.4"
"@ethersproject/solidity@5.0.9", "@ethersproject/solidity@^5.0.0": "@ethersproject/solidity@5.0.9":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.0.9.tgz#49100fbe9f364ac56f7ff7c726f4f3d151901134" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.0.9.tgz#49100fbe9f364ac56f7ff7c726f4f3d151901134"
integrity sha512-LIxSAYEQgLRXE3mRPCq39ou61kqP8fDrGqEeNcaNJS3aLbmAOS8MZp56uK++WsdI9hj8sNsFh78hrAa6zR9Jag== integrity sha512-LIxSAYEQgLRXE3mRPCq39ou61kqP8fDrGqEeNcaNJS3aLbmAOS8MZp56uK++WsdI9hj8sNsFh78hrAa6zR9Jag==
...@@ -489,7 +485,7 @@ ...@@ -489,7 +485,7 @@
"@ethersproject/sha2" "^5.0.7" "@ethersproject/sha2" "^5.0.7"
"@ethersproject/strings" "^5.0.8" "@ethersproject/strings" "^5.0.8"
"@ethersproject/strings@5.0.9", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.0.8": "@ethersproject/strings@5.0.9", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.0.8":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.9.tgz#8e2eb2918b140231e1d1b883d77e43213a8ac280" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.9.tgz#8e2eb2918b140231e1d1b883d77e43213a8ac280"
integrity sha512-ogxBpcUpdO524CYs841MoJHgHxEPUy0bJFDS4Ezg8My+WYVMfVAOlZSLss0Rurbeeam8CpUVDzM4zUn09SU66Q== integrity sha512-ogxBpcUpdO524CYs841MoJHgHxEPUy0bJFDS4Ezg8My+WYVMfVAOlZSLss0Rurbeeam8CpUVDzM4zUn09SU66Q==
...@@ -498,7 +494,7 @@ ...@@ -498,7 +494,7 @@
"@ethersproject/constants" "^5.0.8" "@ethersproject/constants" "^5.0.8"
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/transactions@5.0.10", "@ethersproject/transactions@^5.0.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.9": "@ethersproject/transactions@5.0.10", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.9":
version "5.0.10" version "5.0.10"
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.10.tgz#d50cafd80d27206336f80114bc0f18bc18687331" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.10.tgz#d50cafd80d27206336f80114bc0f18bc18687331"
integrity sha512-Tqpp+vKYQyQdJQQk4M73tDzO7ODf2D42/sJOcKlDAAbdSni13v6a+31hUdo02qYXhVYwIs+ZjHnO4zKv5BNk8w== integrity sha512-Tqpp+vKYQyQdJQQk4M73tDzO7ODf2D42/sJOcKlDAAbdSni13v6a+31hUdo02qYXhVYwIs+ZjHnO4zKv5BNk8w==
...@@ -513,7 +509,7 @@ ...@@ -513,7 +509,7 @@
"@ethersproject/rlp" "^5.0.7" "@ethersproject/rlp" "^5.0.7"
"@ethersproject/signing-key" "^5.0.8" "@ethersproject/signing-key" "^5.0.8"
"@ethersproject/units@5.0.10", "@ethersproject/units@^5.0.0": "@ethersproject/units@5.0.10":
version "5.0.10" version "5.0.10"
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.0.10.tgz#9cca3b65cd0c92fab1bd33f2abd233546dd61987" resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.0.10.tgz#9cca3b65cd0c92fab1bd33f2abd233546dd61987"
integrity sha512-eaiHi9ham5lbC7qpqxpae7OY/nHJUnRUnFFuEwi2VB5Nwe3Np468OAV+e+HR+jAK4fHXQE6PFBTxWGtnZuO37g== integrity sha512-eaiHi9ham5lbC7qpqxpae7OY/nHJUnRUnFFuEwi2VB5Nwe3Np468OAV+e+HR+jAK4fHXQE6PFBTxWGtnZuO37g==
...@@ -522,7 +518,7 @@ ...@@ -522,7 +518,7 @@
"@ethersproject/constants" "^5.0.8" "@ethersproject/constants" "^5.0.8"
"@ethersproject/logger" "^5.0.8" "@ethersproject/logger" "^5.0.8"
"@ethersproject/wallet@5.0.11", "@ethersproject/wallet@^5.0.0": "@ethersproject/wallet@5.0.11":
version "5.0.11" version "5.0.11"
resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.0.11.tgz#9891936089d1b91e22ed59f850bc344b1544bf26" resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.0.11.tgz#9891936089d1b91e22ed59f850bc344b1544bf26"
integrity sha512-2Fg/DOvUltR7aZTOyWWlQhru+SKvq2UE3uEhXSyCFgMqDQNuc2nHXh1SHJtN65jsEbjVIppOe1Q7EQMvhmeeRw== integrity sha512-2Fg/DOvUltR7aZTOyWWlQhru+SKvq2UE3uEhXSyCFgMqDQNuc2nHXh1SHJtN65jsEbjVIppOe1Q7EQMvhmeeRw==
...@@ -543,7 +539,7 @@ ...@@ -543,7 +539,7 @@
"@ethersproject/transactions" "^5.0.9" "@ethersproject/transactions" "^5.0.9"
"@ethersproject/wordlists" "^5.0.8" "@ethersproject/wordlists" "^5.0.8"
"@ethersproject/web@5.0.13", "@ethersproject/web@^5.0.0", "@ethersproject/web@^5.0.12": "@ethersproject/web@5.0.13", "@ethersproject/web@^5.0.12":
version "5.0.13" version "5.0.13"
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.13.tgz#5a92ac6d835d2ebce95b6b645a86668736e2f532" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.13.tgz#5a92ac6d835d2ebce95b6b645a86668736e2f532"
integrity sha512-G3x/Ns7pQm21ALnWLbdBI5XkW/jrsbXXffI9hKNPHqf59mTxHYtlNiSwxdoTSwCef3Hn7uvGZpaSgTyxs7IufQ== integrity sha512-G3x/Ns7pQm21ALnWLbdBI5XkW/jrsbXXffI9hKNPHqf59mTxHYtlNiSwxdoTSwCef3Hn7uvGZpaSgTyxs7IufQ==
...@@ -554,7 +550,7 @@ ...@@ -554,7 +550,7 @@
"@ethersproject/properties" "^5.0.7" "@ethersproject/properties" "^5.0.7"
"@ethersproject/strings" "^5.0.8" "@ethersproject/strings" "^5.0.8"
"@ethersproject/wordlists@5.0.9", "@ethersproject/wordlists@^5.0.0", "@ethersproject/wordlists@^5.0.8": "@ethersproject/wordlists@5.0.9", "@ethersproject/wordlists@^5.0.8":
version "5.0.9" version "5.0.9"
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.0.9.tgz#f16cc0b317637c3ae9c689ebd7bc2cbbffadd013" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.0.9.tgz#f16cc0b317637c3ae9c689ebd7bc2cbbffadd013"
integrity sha512-Sn6MTjZkfbriod6GG6+p43W09HOXT4gwcDVNj0YoPYlo4Zq2Fk6b1CU9KUX3c6aI17PrgYb4qwZm5BMuORyqyQ== integrity sha512-Sn6MTjZkfbriod6GG6+p43W09HOXT4gwcDVNj0YoPYlo4Zq2Fk6b1CU9KUX3c6aI17PrgYb4qwZm5BMuORyqyQ==
...@@ -2632,6 +2628,11 @@ color-name@~1.1.4: ...@@ -2632,6 +2628,11 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colors@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8" version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
...@@ -3800,41 +3801,6 @@ ethereumjs-wallet@0.6.5: ...@@ -3800,41 +3801,6 @@ ethereumjs-wallet@0.6.5:
utf8 "^3.0.0" utf8 "^3.0.0"
uuid "^3.3.2" uuid "^3.3.2"
ethers@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.0.tgz#76558a3020766f310a49f4e1a4c6c1e331761abd"
integrity sha512-uOSACd2E8dg8XuiOewpL42uFH7SvrkA5k0oGkHoqSJl2lflrMPV+7ciWzyuPBjyHnOFvAPPJUpsXrwpFKaLFww==
dependencies:
"@ethersproject/abi" "^5.0.0"
"@ethersproject/abstract-provider" "^5.0.0"
"@ethersproject/abstract-signer" "^5.0.0"
"@ethersproject/address" "^5.0.0"
"@ethersproject/base64" "^5.0.0"
"@ethersproject/bignumber" "^5.0.0"
"@ethersproject/bytes" "^5.0.0"
"@ethersproject/constants" "^5.0.0"
"@ethersproject/contracts" "^5.0.0"
"@ethersproject/hash" "^5.0.0"
"@ethersproject/hdnode" "^5.0.0"
"@ethersproject/json-wallets" "^5.0.0"
"@ethersproject/keccak256" "^5.0.0"
"@ethersproject/logger" "^5.0.0"
"@ethersproject/networks" "^5.0.0"
"@ethersproject/pbkdf2" "^5.0.0"
"@ethersproject/properties" "^5.0.0"
"@ethersproject/providers" "^5.0.0"
"@ethersproject/random" "^5.0.0"
"@ethersproject/rlp" "^5.0.0"
"@ethersproject/sha2" "^5.0.0"
"@ethersproject/signing-key" "^5.0.0"
"@ethersproject/solidity" "^5.0.0"
"@ethersproject/strings" "^5.0.0"
"@ethersproject/transactions" "^5.0.0"
"@ethersproject/units" "^5.0.0"
"@ethersproject/wallet" "^5.0.0"
"@ethersproject/web" "^5.0.0"
"@ethersproject/wordlists" "^5.0.0"
ethers@^4.0.0-beta.1, ethers@^4.0.32: ethers@^4.0.0-beta.1, ethers@^4.0.32:
version "4.0.48" version "4.0.48"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment