Commit df03ef37 authored by smartcontracts's avatar smartcontracts Committed by GitHub

Merge pull request #2616 from ethereum-optimism/sc/update-ethers

fix: update ethers deps
parents 81cfd3d3 d18ae135
---
'@eth-optimism/integration-tests': patch
'@eth-optimism/common-ts': patch
'@eth-optimism/contracts': patch
'@eth-optimism/contracts-periphery': patch
'@eth-optimism/core-utils': patch
'@eth-optimism/data-transport-layer': patch
'@eth-optimism/fault-detector': patch
'@eth-optimism/integration-tests-bedrock': patch
'@eth-optimism/message-relayer': patch
'@eth-optimism/replica-healthcheck': patch
'@eth-optimism/sdk': patch
---
Updates all ethers versions in response to BN.js bug
import * as RLP from '@ethersproject/rlp'
import { BigNumber, BigNumberish } from '@ethersproject/bignumber'
import { getAddress } from '@ethersproject/address'
import {
hexConcat,
stripZeros,
zeroPad,
arrayify,
BytesLike,
} from '@ethersproject/bytes'
import { keccak256 } from '@ethersproject/keccak256'
import { Zero } from '@ethersproject/constants'
import { ContractReceipt, Event } from '@ethersproject/contracts'
import { BigNumber, BigNumberish, BytesLike, ContractReceipt, ethers, Event } from 'ethers'
function formatNumber(value: BigNumberish, name: string): Uint8Array {
const result = stripZeros(BigNumber.from(value).toHexString())
const result = ethers.utils.stripZeros(BigNumber.from(value).toHexString())
if (result.length > 32) {
throw new Error(`invalid length for ${name}`)
}
......@@ -22,7 +10,7 @@ function formatNumber(value: BigNumberish, name: string): Uint8Array {
function handleNumber(value: string): BigNumber {
if (value === '0x') {
return Zero
return ethers.constants.Zero
}
return BigNumber.from(value)
}
......@@ -32,7 +20,7 @@ function handleAddress(value: string): string {
// @ts-ignore
return null
}
return getAddress(value)
return ethers.utils.getAddress(value)
}
export enum SourceHashDomain {
......@@ -92,7 +80,7 @@ export class DepositTx {
hash() {
const encoded = this.encode()
return keccak256(encoded)
return ethers.utils.keccak256(encoded)
}
sourceHash() {
......@@ -114,11 +102,11 @@ export class DepositTx {
}
const l1BlockHash = this.l1BlockHash
const input = hexConcat([l1BlockHash, zeroPad(marker, 32)])
const depositIDHash = keccak256(input)
const input = ethers.utils.hexConcat([l1BlockHash, ethers.utils.zeroPad(marker, 32)])
const depositIDHash = ethers.utils.keccak256(input)
const domain = BigNumber.from(this.domain).toHexString()
const domainInput = hexConcat([zeroPad(domain, 32), depositIDHash])
this._sourceHash = keccak256(domainInput)
const domainInput = ethers.utils.hexConcat([ethers.utils.zeroPad(domain, 32), depositIDHash])
this._sourceHash = ethers.utils.keccak256(domainInput)
}
return this._sourceHash
}
......@@ -126,20 +114,20 @@ export class DepositTx {
encode() {
const fields: any = [
this.sourceHash() || '0x',
getAddress(this.from) || '0x',
this.to != null ? getAddress(this.to) : '0x',
ethers.utils.getAddress(this.from) || '0x',
this.to != null ? ethers.utils.getAddress(this.to) : '0x',
formatNumber(this.mint || 0, 'mint'),
formatNumber(this.value || 0, 'value'),
formatNumber(this.gas || 0, 'gas'),
this.data || '0x',
]
return hexConcat([this.type, RLP.encode(fields)])
return ethers.utils.hexConcat([this.type, ethers.utils.RLP.encode(fields)])
}
decode(raw: BytesLike, extra: DepostTxExtraOpts = {}) {
const payload = arrayify(raw)
const transaction = RLP.decode(payload.slice(1))
const payload = ethers.utils.arrayify(raw)
const transaction = ethers.utils.RLP.decode(payload.slice(1))
this._sourceHash = transaction[0]
this.from = handleAddress(transaction[1])
......
......@@ -6,14 +6,10 @@
"license": "MIT",
"dependencies": {
"@eth-optimism/contracts": "^0.5.21",
"@ethersproject/address": "^5.6.0",
"@ethersproject/bignumber": "^5.6.0",
"@ethersproject/bytes": "^5.6.1",
"@ethersproject/keccak256": "^5.6.0",
"@ethersproject/rlp": "^5.6.0",
"@openzeppelin/contracts": "^4.5.0",
"@openzeppelin/contracts-upgradeable": "^4.5.2",
"hardhat": "^2.7.1",
"ethers": "^5.6.8",
"hardhat": "^2.9.6",
"merkle-patricia-tree": "^4.2.4",
"rlp": "^2.2.7"
},
......@@ -57,7 +53,7 @@
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-promise": "^5.1.0",
"ethereum-waffle": "^3.0.0",
"ethers": "^5.0.0",
"ethers": "^5.6.8",
"hardhat-deploy": "^0.11.4",
"hardhat-gas-reporter": "^1.0.4",
"prettier": "^2.3.2",
......
This diff is collapsed.
......@@ -31,9 +31,9 @@
"@eth-optimism/contracts": "0.5.24",
"@eth-optimism/core-utils": "0.8.4",
"@eth-optimism/sdk": "1.1.5",
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/providers": "^5.5.3",
"@ethersproject/transactions": "^5.5.0",
"@ethersproject/abstract-provider": "^5.6.1",
"@ethersproject/providers": "^5.6.8",
"@ethersproject/transactions": "^5.6.2",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@openzeppelin/contracts": "^4.4.0",
......@@ -62,8 +62,8 @@
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"ethereum-waffle": "^3.3.0",
"ethers": "^5.5.4",
"hardhat": "^2.9.2",
"ethers": "^5.6.8",
"hardhat": "^2.9.6",
"hardhat-gas-reporter": "^1.0.4",
"lint-staged": "11.0.0",
"mocha": "^8.4.0",
......
......@@ -6,6 +6,6 @@
},
"license": "MIT",
"dependencies": {
"hardhat": "^2.9.2"
"hardhat": "^2.9.6"
}
}
......@@ -26,10 +26,25 @@
]
},
"private": true,
"scripts": {
"clean": "yarn lerna run clean --parallel",
"build": "yarn lerna run build",
"test": "yarn lerna run test --parallel",
"test:coverage": "yarn lerna run test:coverage --parallel",
"lint": "yarn lerna run lint",
"lint:ts:check": "yarn lerna run lint:ts:check",
"lint:check": "yarn lerna run lint:check",
"lint:fix": "yarn lerna run lint:fix --parallel",
"postinstall": "patch-package",
"ready": "yarn lint && yarn test",
"prepare": "husky install",
"release": "yarn build && yarn changeset publish"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^4.26.0",
"@typescript-eslint/parser": "^4.26.0",
"babel-eslint": "^10.1.0",
"doctoc": "2.1.0",
"eslint": "^7.27.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.23.4",
......@@ -41,32 +56,16 @@
"husky": "^6.0.0",
"lerna": "^4.0.0",
"lint-staged": "11.0.0",
"markdownlint": "^0.24.0",
"markdownlint-cli2": "^0.3.2",
"patch-package": "^6.4.7",
"prettier": "^2.3.1",
"typescript": "^4.6.2",
"doctoc": "2.1.0",
"lint-staged": "11.0.0",
"markdownlint": "^0.24.0",
"markdownlint-cli2": "^0.3.2"
},
"scripts": {
"clean": "yarn lerna run clean --parallel",
"build": "yarn lerna run build",
"test": "yarn lerna run test --parallel",
"test:coverage": "yarn lerna run test:coverage --parallel",
"lint": "yarn lerna run lint",
"lint:ts:check": "yarn lerna run lint:ts:check",
"lint:check": "yarn lerna run lint:check",
"lint:fix": "yarn lerna run lint:fix --parallel",
"postinstall": "patch-package",
"ready": "yarn lint && yarn test",
"prepare": "husky install",
"release": "yarn build && yarn changeset publish"
"typescript": "^4.6.2"
},
"dependencies": {
"@changesets/cli": "^2.16.0",
"@codechecks/client": "^0.1.11",
"@ethersproject/abstract-provider": "5.5.1",
"@ethersproject/abstract-provider": "^5.6.1",
"@openzeppelin/contracts": "^4.3.2",
"@openzeppelin/contracts-upgradeable": "^4.3.2"
}
......
......@@ -37,7 +37,7 @@
"commander": "^9.0.0",
"dotenv": "^16.0.0",
"envalid": "^7.2.2",
"ethers": "^5.5.4",
"ethers": "^5.6.8",
"express": "^4.17.1",
"lodash": "^4.17.21",
"pino": "^6.11.3",
......@@ -46,8 +46,8 @@
"prom-client": "^13.1.0"
},
"devDependencies": {
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/abstract-signer": "^5.5.0",
"@ethersproject/abstract-provider": "^5.6.1",
"@ethersproject/abstract-signer": "^5.6.2",
"@types/chai": "^4.2.18",
"@types/express": "^4.17.12",
"@types/mocha": "^8.2.2",
......
......@@ -54,7 +54,7 @@
"@openzeppelin/contracts": "4.3.2"
},
"devDependencies": {
"@ethersproject/hardware-wallets": "^5.5.0",
"@ethersproject/hardware-wallets": "^5.6.1",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-etherscan": "^3.0.3",
"@nomiclabs/hardhat-waffle": "^2.0.1",
......@@ -77,9 +77,9 @@
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"ethereum-waffle": "^3.3.0",
"ethers": "^5.5.4",
"hardhat": "^2.9.2",
"hardhat-deploy": "^0.9.3",
"ethers": "^5.6.8",
"hardhat": "^2.9.6",
"hardhat-deploy": "^0.11.10",
"istanbul": "^0.4.5",
"lint-staged": "11.0.0",
"mocha": "^8.4.0",
......
ignores: [
"@codechecks/client",
"@ethersproject/bytes",
"@ethersproject/providers",
"@openzeppelin/contracts",
"@openzeppelin/contracts-upgradeable",
"@typechain/ethers-v5",
......
......@@ -2,7 +2,7 @@
> FailingReceiver
......
......@@ -6,13 +6,15 @@ import * as dotenv from 'dotenv'
import '@nomiclabs/hardhat-ethers'
import '@nomiclabs/hardhat-waffle'
import '@nomiclabs/hardhat-etherscan'
import 'hardhat-deploy'
import '@primitivefi/hardhat-dodoc'
import '@typechain/hardhat'
import './tasks'
import 'hardhat-deploy'
import 'hardhat-gas-reporter'
import '@primitivefi/hardhat-dodoc'
import 'hardhat-output-validator'
// Hardhat tasks
import './tasks'
// Load environment variables from .env
dotenv.config()
......
......@@ -58,16 +58,16 @@
},
"dependencies": {
"@eth-optimism/core-utils": "0.8.4",
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/abstract-signer": "^5.5.0",
"@ethersproject/hardware-wallets": "^5.5.0"
"@ethersproject/abstract-provider": "^5.6.1",
"@ethersproject/abstract-signer": "^5.6.2"
},
"devDependencies": {
"@codechecks/client": "^0.1.11",
"@defi-wonderland/smock": "^2.0.2",
"@ethersproject/abi": "^5.6.0",
"@ethersproject/bytes": "^5.6.0",
"@ethersproject/providers": "^5.6.0",
"@ethersproject/abi": "^5.6.3",
"@ethersproject/bytes": "^5.6.1",
"@ethersproject/hardware-wallets": "^5.6.1",
"@ethersproject/providers": "^5.6.8",
"@nomiclabs/ethereumjs-vm": "^4.2.2",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-etherscan": "^3.0.3",
......@@ -98,10 +98,10 @@
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"ethereum-waffle": "^3.3.0",
"ethers": "^5.5.4",
"ethers": "^5.6.8",
"glob": "^7.1.6",
"hardhat": "^2.9.2",
"hardhat-deploy": "^0.9.3",
"hardhat": "^2.9.6",
"hardhat-deploy": "^0.11.10",
"hardhat-gas-reporter": "^1.0.4",
"hardhat-output-validator": "^0.1.18",
"istanbul": "^0.4.5",
......
......@@ -269,9 +269,7 @@ describe('CanonicalTransactionChain', () => {
it('should revert when accessing a non-existent element', async () => {
await expect(
CanonicalTransactionChain.getQueueElement(0)
).to.be.revertedWith(
'reverted with panic code 0x32 (Array accessed at an out-of-bounds or negative index)'
)
).to.be.revertedWith('reverted with panic code 50')
})
describe('when the requested element exists', () => {
......
......@@ -32,14 +32,12 @@
"url": "https://github.com/ethereum-optimism/optimism.git"
},
"dependencies": {
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/bytes": "^5.5.0",
"@ethersproject/providers": "^5.5.3",
"@ethersproject/transactions": "^5.5.0",
"@ethersproject/web": "^5.5.1",
"@ethersproject/abstract-provider": "^5.6.1",
"@ethersproject/providers": "^5.6.8",
"@ethersproject/transactions": "^5.6.2",
"bufio": "^1.0.7",
"chai": "^4.3.4",
"ethers": "^5.5.4"
"ethers": "^5.6.8"
},
"devDependencies": {
"@types/chai": "^4.2.18",
......
/* Imports: External */
import { BigNumber, ethers } from 'ethers'
import { hexZeroPad } from '@ethersproject/bytes'
/**
* Removes "0x" from start of a string if it exists.
......@@ -131,5 +130,5 @@ export const hexStringEquals = (stringA: string, stringB: string): boolean => {
* @return Number cast as a hex string.
*/
export const bytes32ify = (value: number | BigNumber): string => {
return hexZeroPad(BigNumber.from(value).toHexString(), 32)
return ethers.utils.hexZeroPad(BigNumber.from(value).toHexString(), 32)
}
......@@ -4,7 +4,7 @@
import { ethers } from 'ethers'
import { Provider } from '@ethersproject/providers'
import { ConnectionInfo } from '@ethersproject/web'
import { ConnectionInfo } from 'ethers/lib/utils'
export interface HttpHeaders {
[key: string]: string
......
......@@ -39,8 +39,8 @@
"@eth-optimism/common-ts": "0.2.7",
"@eth-optimism/contracts": "0.5.24",
"@eth-optimism/core-utils": "0.8.4",
"@ethersproject/providers": "^5.5.3",
"@ethersproject/transactions": "^5.5.0",
"@ethersproject/providers": "^5.6.8",
"@ethersproject/transactions": "^5.6.2",
"@sentry/node": "^6.3.1",
"@sentry/tracing": "^6.3.1",
"@types/express": "^4.17.12",
......@@ -49,7 +49,7 @@
"bfj": "^7.0.2",
"cors": "^2.8.5",
"dotenv": "^10.0.0",
"ethers": "^5.5.4",
"ethers": "^5.6.8",
"express": "^4.17.1",
"express-prom-bundle": "^6.3.6",
"level": "^6.0.1",
......@@ -75,7 +75,7 @@
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"hardhat": "^2.9.2",
"hardhat": "^2.9.6",
"lint-staged": "11.0.0",
"mocha": "^8.4.0",
"pino-pretty": "^4.7.1",
......
......@@ -35,7 +35,7 @@
"@types/dateformat": "^5.0.0",
"@types/node": "^17.0.23",
"dateformat": "^4.5.1",
"ethers": "^5.6.2",
"ethers": "^5.6.8",
"ts-node": "^10.7.0",
"typescript": "^4.6.3"
},
......@@ -43,6 +43,6 @@
"@eth-optimism/common-ts": "^0.2.4",
"@eth-optimism/core-utils": "^0.8.1",
"@eth-optimism/sdk": "^1.1.4",
"@ethersproject/abstract-provider": "^5.6.0"
"@ethersproject/abstract-provider": "^5.6.1"
}
}
......@@ -30,9 +30,9 @@
"@eth-optimism/contracts": "0.5.20",
"@eth-optimism/core-utils": "0.8.3",
"@eth-optimism/sdk": "1.0.4",
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/providers": "^5.5.3",
"@ethersproject/transactions": "^5.5.0",
"@ethersproject/abstract-provider": "^5.6.1",
"@ethersproject/providers": "^5.6.8",
"@ethersproject/transactions": "^5.6.2",
"@types/chai": "^4.2.18",
"@types/chai-as-promised": "^7.1.4",
"@types/mocha": "^8.2.2",
......@@ -55,7 +55,7 @@
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"ethereum-waffle": "^3.3.0",
"ethers": "^5.5.4",
"ethers": "^5.6.8",
"mocha": "^8.4.0",
"node-fetch": "^2.6.7",
"prom-client": "^14.0.1",
......
This diff is collapsed.
......@@ -34,10 +34,10 @@
"@eth-optimism/common-ts": "0.2.7",
"@eth-optimism/core-utils": "0.8.4",
"@eth-optimism/sdk": "1.1.5",
"ethers": "^5.5.4"
"ethers": "^5.6.8"
},
"devDependencies": {
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/abstract-provider": "^5.6.1",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@typescript-eslint/eslint-plugin": "^4.26.0",
......@@ -52,7 +52,7 @@
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"ethereum-waffle": "^3.3.0",
"hardhat": "^2.9.2",
"hardhat": "^2.9.6",
"lint-staged": "11.0.0",
"prettier": "^2.3.1",
"ts-node": "^10.0.0",
......
......@@ -34,7 +34,7 @@
"dependencies": {
"@eth-optimism/common-ts": "0.2.7",
"@eth-optimism/core-utils": "0.8.4",
"@ethersproject/abstract-provider": "^5.5.1"
"@ethersproject/abstract-provider": "^5.6.1"
},
"devDependencies": {
"@types/node": "^15.12.2",
......
......@@ -32,9 +32,9 @@
"url": "https://github.com/ethereum-optimism/optimism.git"
},
"devDependencies": {
"@ethersproject/abstract-provider": "^5.5.1",
"@ethersproject/abstract-signer": "^5.5.0",
"@ethersproject/transactions": "^5.5.0",
"@ethersproject/abstract-provider": "^5.6.1",
"@ethersproject/abstract-signer": "^5.6.2",
"@ethersproject/transactions": "^5.6.2",
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@types/chai": "^4.2.18",
......@@ -54,8 +54,8 @@
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-unicorn": "^32.0.1",
"ethereum-waffle": "^3.4.0",
"ethers": "^5.5.4",
"hardhat": "^2.9.2",
"ethers": "^5.6.8",
"hardhat": "^2.9.6",
"lint-staged": "11.0.0",
"mocha": "^8.4.0",
"nyc": "^15.1.0",
......
This diff is collapsed.
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