Merge pull request #3634 from ethereum/fork_shanghai

Add shanghai vm
pull/5370/head
yann300 2 years ago committed by GitHub
commit 2b89fc8c42
  1. 2
      apps/remix-ide-e2e/src/tests/debugger.test.ts
  2. 4
      apps/remix-ide/src/app.js
  3. 15
      apps/remix-ide/src/app/providers/vm-provider.tsx
  4. 1
      apps/remix-ide/src/app/udapp/run-tab.js
  5. 6
      apps/remix-ide/src/blockchain/execution-context.js
  6. 1
      apps/remix-ide/src/remixAppManager.js
  7. 8
      libs/remix-analyzer/package.json
  8. 8
      libs/remix-astwalker/package.json
  9. 10
      libs/remix-debug/package.json
  10. 2
      libs/remix-lib/package.json
  11. 10
      libs/remix-simulator/package.json
  12. 2
      libs/remix-simulator/src/VmProxy.ts
  13. 8
      libs/remix-solidity/package.json
  14. 10
      libs/remix-tests/package.json
  15. 9
      libs/remix-ui/run-tab/src/lib/components/account.tsx
  16. 14
      package.json
  17. 201
      yarn.lock

@ -430,7 +430,7 @@ const sources = [
const localVariable_step266_ABIEncoder = { // eslint-disable-line const localVariable_step266_ABIEncoder = { // eslint-disable-line
'<1>': { '<1>': {
length: '0xNaN', length: '0x0',
type: 'bytes', type: 'bytes',
value: '0x' value: '0x'
}, },

@ -28,7 +28,7 @@ import { StoragePlugin } from './app/plugins/storage'
import { Layout } from './app/panels/layout' import { Layout } from './app/panels/layout'
import { NotificationPlugin } from './app/plugins/notification' import { NotificationPlugin } from './app/plugins/notification'
import { Blockchain } from './blockchain/blockchain' import { Blockchain } from './blockchain/blockchain'
import { MergeVMProvider, LondonVMProvider, BerlinVMProvider} from './app/providers/vm-provider' import { MergeVMProvider, LondonVMProvider, BerlinVMProvider, ShanghaiVMProvider } from './app/providers/vm-provider'
import { MainnetForkVMProvider } from './app/providers/mainnet-vm-fork-provider' import { MainnetForkVMProvider } from './app/providers/mainnet-vm-fork-provider'
import { SepoliaForkVMProvider } from './app/providers/sepolia-vm-fork-provider' import { SepoliaForkVMProvider } from './app/providers/sepolia-vm-fork-provider'
import { GoerliForkVMProvider } from './app/providers/goerli-vm-fork-provider' import { GoerliForkVMProvider } from './app/providers/goerli-vm-fork-provider'
@ -211,6 +211,7 @@ class AppComponent {
const vmProviderMainnetFork = new MainnetForkVMProvider(blockchain) const vmProviderMainnetFork = new MainnetForkVMProvider(blockchain)
const vmProviderSepoliaFork = new SepoliaForkVMProvider(blockchain) const vmProviderSepoliaFork = new SepoliaForkVMProvider(blockchain)
const vmProviderGoerliFork = new GoerliForkVMProvider(blockchain) const vmProviderGoerliFork = new GoerliForkVMProvider(blockchain)
const vmProviderShanghai = new ShanghaiVMProvider(blockchain)
const vmProviderMerge = new MergeVMProvider(blockchain) const vmProviderMerge = new MergeVMProvider(blockchain)
const vmProviderBerlin = new BerlinVMProvider(blockchain) const vmProviderBerlin = new BerlinVMProvider(blockchain)
const vmProviderLondon = new LondonVMProvider(blockchain) const vmProviderLondon = new LondonVMProvider(blockchain)
@ -281,6 +282,7 @@ class AppComponent {
fetchAndCompile, fetchAndCompile,
dGitProvider, dGitProvider,
storagePlugin, storagePlugin,
vmProviderShanghai,
vmProviderMerge, vmProviderMerge,
vmProviderBerlin, vmProviderBerlin,
vmProviderLondon, vmProviderLondon,

@ -86,3 +86,18 @@ export class BerlinVMProvider extends BasicVMProvider {
this.fork = 'berlin' this.fork = 'berlin'
} }
} }
export class ShanghaiVMProvider extends BasicVMProvider {
constructor (blockchain) {
super({
name: 'vm-shanghai',
displayName: 'Remix VM (Shanghai)',
kind: 'provider',
description: 'Remix VM (Shanghai)',
methods: ['sendAsync', 'init'],
version: packageJson.version
}, blockchain)
this.blockchain = blockchain
this.fork = 'shanghai'
}
}

@ -151,6 +151,7 @@ export class RunTab extends ViewPlugin {
// VM // VM
const titleVM = 'Execution environment is local to Remix. Data is only saved to browser memory and will vanish upon reload.' const titleVM = 'Execution environment is local to Remix. Data is only saved to browser memory and will vanish upon reload.'
await addProvider('vm-shanghai', 'Remix VM (Shanghai)', false, true, 'shanghai', 'settingsVMShanghaiMode', titleVM)
await addProvider('vm-merge', 'Remix VM (Merge)', false, true, 'merge', 'settingsVMMergeMode', titleVM) await addProvider('vm-merge', 'Remix VM (Merge)', false, true, 'merge', 'settingsVMMergeMode', titleVM)
await addProvider('vm-london', 'Remix VM (London)', false, true, 'london', 'settingsVMLondonMode', titleVM) await addProvider('vm-london', 'Remix VM (London)', false, true, 'london', 'settingsVMLondonMode', titleVM)
await addProvider('vm-berlin', 'Remix VM (Berlin)', false, true, 'berlin', 'settingsVMBerlinMode', titleVM) await addProvider('vm-berlin', 'Remix VM (Berlin)', false, true, 'berlin', 'settingsVMBerlinMode', titleVM)

@ -20,11 +20,11 @@ if (typeof window !== 'undefined' && typeof window.ethereum !== 'undefined') {
export class ExecutionContext { export class ExecutionContext {
constructor () { constructor () {
this.event = new EventManager() this.event = new EventManager()
this.executionContext = 'vm-merge' this.executionContext = 'vm-shanghai'
this.lastBlock = null this.lastBlock = null
this.blockGasLimitDefault = 4300000 this.blockGasLimitDefault = 4300000
this.blockGasLimit = this.blockGasLimitDefault this.blockGasLimit = this.blockGasLimitDefault
this.currentFork = 'merge' this.currentFork = 'shanghai'
this.mainNetGenesisHash = '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3' this.mainNetGenesisHash = '0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3'
this.customNetWorks = {} this.customNetWorks = {}
this.blocks = {} this.blocks = {}
@ -34,7 +34,7 @@ export class ExecutionContext {
} }
init (config) { init (config) {
this.executionContext = 'vm-merge' this.executionContext = 'vm-shanghai'
this.event.trigger('contextChanged', [this.executionContext]) this.event.trigger('contextChanged', [this.executionContext])
} }

@ -11,6 +11,7 @@ const requiredModules = [ // services + layout views + system views
'filePanel', 'terminal', 'settings', 'pluginManager', 'tabs', 'udapp', 'dGitProvider', 'solidity', 'solidity-logic', 'gistHandler', 'layout', 'filePanel', 'terminal', 'settings', 'pluginManager', 'tabs', 'udapp', 'dGitProvider', 'solidity', 'solidity-logic', 'gistHandler', 'layout',
'notification', 'permissionhandler', 'walkthrough', 'storage', 'restorebackupzip', 'link-libraries', 'deploy-libraries', 'openzeppelin-proxy', 'notification', 'permissionhandler', 'walkthrough', 'storage', 'restorebackupzip', 'link-libraries', 'deploy-libraries', 'openzeppelin-proxy',
'hardhat-provider', 'ganache-provider', 'foundry-provider', 'basic-http-provider', 'injected', 'injected-trustwallet', 'injected-optimism-provider', 'injected-arbitrum-one-provider', 'vm-custom-fork', 'vm-goerli-fork', 'vm-mainnet-fork', 'vm-sepolia-fork', 'vm-merge', 'vm-london', 'vm-berlin', 'hardhat-provider', 'ganache-provider', 'foundry-provider', 'basic-http-provider', 'injected', 'injected-trustwallet', 'injected-optimism-provider', 'injected-arbitrum-one-provider', 'vm-custom-fork', 'vm-goerli-fork', 'vm-mainnet-fork', 'vm-sepolia-fork', 'vm-merge', 'vm-london', 'vm-berlin',
'vm-shanghai',
'compileAndRun', 'search', 'recorder', 'fileDecorator', 'codeParser', 'codeFormatter', 'solidityumlgen', 'contractflattener', 'solidity-script'] 'compileAndRun', 'search', 'recorder', 'fileDecorator', 'codeParser', 'codeFormatter', 'solidityumlgen', 'contractflattener', 'solidity-script']
// dependentModules shouldn't be manually activated (e.g hardhat is activated by remixd) // dependentModules shouldn't be manually activated (e.g hardhat is activated by remixd)

@ -21,10 +21,10 @@
} }
], ],
"dependencies": { "dependencies": {
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-astwalker": "^0.0.55", "@remix-project/remix-astwalker": "^0.0.55",
"@remix-project/remix-lib": "^0.5.25", "@remix-project/remix-lib": "^0.5.25",
"async": "^2.6.2", "async": "^2.6.2",

@ -33,10 +33,10 @@
] ]
}, },
"dependencies": { "dependencies": {
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.25", "@remix-project/remix-lib": "^0.5.25",
"@types/tape": "^4.2.33", "@types/tape": "^4.2.33",
"async": "^2.6.2", "async": "^2.6.2",

@ -21,11 +21,11 @@
"test": "./../../node_modules/.bin/ts-node --project ../../tsconfig.base.json --require tsconfig-paths/register ./../../node_modules/.bin/tape ./test/tests.ts" "test": "./../../node_modules/.bin/ts-node --project ../../tsconfig.base.json --require tsconfig-paths/register ./../../node_modules/.bin/tape ./test/tests.ts"
}, },
"dependencies": { "dependencies": {
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/common": "^3.0.2", "@ethereumjs/common": "^3.1.1",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-astwalker": "^0.0.55", "@remix-project/remix-astwalker": "^0.0.55",
"@remix-project/remix-lib": "^0.5.25", "@remix-project/remix-lib": "^0.5.25",
"@remix-project/remix-simulator": "^0.2.25", "@remix-project/remix-simulator": "^0.2.25",

@ -17,7 +17,7 @@
"test": "./../../node_modules/.bin/ts-node --require tsconfig-paths/register ./../../node_modules/.bin/tape ./test/tests.ts" "test": "./../../node_modules/.bin/ts-node --require tsconfig-paths/register ./../../node_modules/.bin/tape ./test/tests.ts"
}, },
"dependencies": { "dependencies": {
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"async": "^2.1.2", "async": "^2.1.2",
"ethers": "^4.0.40", "ethers": "^4.0.40",
"ethjs-util": "^0.1.6", "ethjs-util": "^0.1.6",

@ -17,11 +17,11 @@
"test": "./../../node_modules/.bin/ts-node --project ../../tsconfig.base.json --require tsconfig-paths/register ./../../node_modules/.bin/mocha test/*.ts" "test": "./../../node_modules/.bin/ts-node --project ../../tsconfig.base.json --require tsconfig-paths/register ./../../node_modules/.bin/mocha test/*.ts"
}, },
"dependencies": { "dependencies": {
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/common": "^3.0.2", "@ethereumjs/common": "^3.1.1",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.25", "@remix-project/remix-lib": "^0.5.25",
"ansi-gray": "^0.1.1", "ansi-gray": "^0.1.1",
"async": "^3.1.0", "async": "^3.1.0",

@ -254,7 +254,7 @@ export class VmProxy {
step.stack.length = Object.keys(data.stack).length step.stack.length = Object.keys(data.stack).length
if (previousOpcode && (previousOpcode.op === 'CALLDATACOPY' || previousOpcode.op === 'CODECOPY' || previousOpcode.op === 'EXTCODECOPY' || previousOpcode.op === 'RETURNDATACOPY' || previousOpcode.op === 'MSTORE' || previousOpcode.op === 'MSTORE8')) { if (previousOpcode && (previousOpcode.op === 'CALLDATACOPY' || previousOpcode.op === 'CODECOPY' || previousOpcode.op === 'EXTCODECOPY' || previousOpcode.op === 'RETURNDATACOPY' || previousOpcode.op === 'MSTORE' || previousOpcode.op === 'MSTORE8')) {
step.memory = data.memory step.memory = new Uint8Array(data.memory)
this.lastMemoryUpdate = step.memory this.lastMemoryUpdate = step.memory
} }
this.vmTraces[this.processingHash].structLogs.push(step) this.vmTraces[this.processingHash].structLogs.push(step)

@ -15,10 +15,10 @@
} }
], ],
"dependencies": { "dependencies": {
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.25", "@remix-project/remix-lib": "^0.5.25",
"async": "^2.6.2", "async": "^2.6.2",
"eslint-scope": "^5.0.0", "eslint-scope": "^5.0.0",

@ -36,11 +36,11 @@
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-tests#readme", "homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-tests#readme",
"dependencies": { "dependencies": {
"@erebos/bzz-node": "^0.13.0", "@erebos/bzz-node": "^0.13.0",
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/common": "^3.0.2", "@ethereumjs/common": "^3.1.1",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.25", "@remix-project/remix-lib": "^0.5.25",
"@remix-project/remix-simulator": "^0.2.25", "@remix-project/remix-simulator": "^0.2.25",
"@remix-project/remix-solidity": "^0.5.11", "@remix-project/remix-solidity": "^0.5.11",

@ -51,6 +51,13 @@ export function AccountUI (props: AccountProps) {
}) })
break break
case 'vm-shanghai':
setPlusOpt({
classList: '',
title: 'Create a new account'
})
break
case 'web3': case 'web3':
if (!props.personalMode) { if (!props.personalMode) {
setPlusOpt({ setPlusOpt({
@ -83,7 +90,7 @@ export function AccountUI (props: AccountProps) {
return props.tooltip('Account list is empty, please make sure the current provider is properly connected to remix') return props.tooltip('Account list is empty, please make sure the current provider is properly connected to remix')
} }
if (props.selectExEnv !== 'vm-merge' && props.selectExEnv !== 'injected') { if (props.selectExEnv === 'web3') {
return props.modal('Passphrase to sign a message', return props.modal('Passphrase to sign a message',
<PassphrasePrompt <PassphrasePrompt
message='Enter your passphrase for this account to sign the message' message='Enter your passphrase for this account to sign the message'

@ -120,13 +120,13 @@
"@babel/plugin-proposal-class-properties": "^7.16.0", "@babel/plugin-proposal-class-properties": "^7.16.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
"@erebos/bzz-node": "^0.13.0", "@erebos/bzz-node": "^0.13.0",
"@ethereumjs/block": "^4.1.0", "@ethereumjs/block": "^4.2.0",
"@ethereumjs/common": "^3.0.2", "@ethereumjs/common": "^3.1.1",
"@ethereumjs/evm": "^1.2.3", "@ethereumjs/evm": "^1.3.1",
"@ethereumjs/statemanager": "^1.0.2", "@ethereumjs/statemanager": "^1.0.4",
"@ethereumjs/tx": "^4.0.2", "@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.3", "@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.3.0", "@ethereumjs/vm": "^6.4.1",
"@ethersphere/bee-js": "^3.2.0", "@ethersphere/bee-js": "^3.2.0",
"@isomorphic-git/lightning-fs": "^4.4.1", "@isomorphic-git/lightning-fs": "^4.4.1",
"@openzeppelin/contracts": "^4.7.3", "@openzeppelin/contracts": "^4.7.3",

@ -2248,6 +2248,27 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
"@chainsafe/as-sha256@^0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz#3639df0e1435cab03f4d9870cc3ac079e57a6fc9"
integrity sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==
"@chainsafe/persistent-merkle-tree@^0.4.2":
version "0.4.2"
resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz#4c9ee80cc57cd3be7208d98c40014ad38f36f7ff"
integrity sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==
dependencies:
"@chainsafe/as-sha256" "^0.3.1"
"@chainsafe/ssz@0.9.4":
version "0.9.4"
resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.4.tgz#696a8db46d6975b600f8309ad3a12f7c0e310497"
integrity sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==
dependencies:
"@chainsafe/as-sha256" "^0.3.1"
"@chainsafe/persistent-merkle-tree" "^0.4.2"
case "^1.6.3"
"@cspotcode/source-map-support@^0.8.0": "@cspotcode/source-map-support@^0.8.0":
version "0.8.1" version "0.8.1"
resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
@ -2302,30 +2323,31 @@
minimatch "^3.1.2" minimatch "^3.1.2"
strip-json-comments "^3.1.1" strip-json-comments "^3.1.1"
"@ethereumjs/block@^4.1.0": "@ethereumjs/block@^4.2.0", "@ethereumjs/block@^4.2.1":
version "4.1.0" version "4.2.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-4.1.0.tgz#a0d790fc3f1fefe8169e22d8a3688d866a6850cd" resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-4.2.1.tgz#cb0d8b770fe69c61e6e41d6693d285de76b3a7cb"
integrity sha512-WuRRt3CuN1TjhzBbyI7K0PoXFVEfTwbCCsGN4hS0CaRulzlfWXNhQJmHBISbX72BDZbma2KbMq0Iam3xZ2lG3g== integrity sha512-Z/Ty8EkD8o5tvEX5JPrr0pvf60JkSxmwV231aBZ744N75SLvq54dTu/Gk7azC/2xaWhSu1dOp5D5+bryqgG5Cg==
dependencies: dependencies:
"@ethereumjs/common" "^3.0.2" "@ethereumjs/common" "^3.1.1"
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/trie" "^5.0.2" "@ethereumjs/trie" "^5.0.4"
"@ethereumjs/tx" "^4.0.2" "@ethereumjs/tx" "^4.1.1"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/util" "^8.0.5"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
ethers "^5.7.1" ethers "^5.7.1"
"@ethereumjs/blockchain@^6.1.0": "@ethereumjs/blockchain@^6.2.1":
version "6.1.0" version "6.2.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-6.1.0.tgz#90be9421b808d8495d74e11b2da8812f6a309cec" resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-6.2.1.tgz#9bda6b26dff7399a8f6f71efa86ae6dfe343f916"
integrity sha512-V15Rr9ohysC7YiI5xLHUxuymzJbP/gAfUT4/DIQ9JOMcshzZZ7XL+ml61ypAMPLfFe5JI/UEnW61sCDUGz2gSA== integrity sha512-gP7EtXAPMDna/e28ZMDErfatF/2FRYi4HA2qleIKuEC33RbizGmTK34BoEuSXVeWHTIyNBLO5m9fwQhsF2LNyA==
dependencies: dependencies:
"@ethereumjs/block" "^4.1.0" "@ethereumjs/block" "^4.2.1"
"@ethereumjs/common" "^3.0.2" "@ethereumjs/common" "^3.1.1"
"@ethereumjs/ethash" "^2.0.2" "@ethereumjs/ethash" "^2.0.4"
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/trie" "^5.0.2" "@ethereumjs/trie" "^5.0.4"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/tx" "^4.1.1"
"@ethereumjs/util" "^8.0.5"
abstract-level "^1.0.3" abstract-level "^1.0.3"
debug "^4.3.3" debug "^4.3.3"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
@ -2349,63 +2371,64 @@
crc-32 "^1.2.0" crc-32 "^1.2.0"
ethereumjs-util "^7.1.3" ethereumjs-util "^7.1.3"
"@ethereumjs/common@^3.0.2": "@ethereumjs/common@^3.1.1":
version "3.0.2" version "3.1.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.0.2.tgz#72be343c9d359b8890e0bb91bd3dc3d8e210087e" resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.1.1.tgz#6f754c8933727ad781f63ca3929caab542fe184e"
integrity sha512-N8fpT5uDvxOE5dIaPQZWzJaBRkRWrCXv63MONEn5ikp/J9mWFc53VUjb3GqtIYHRgg9nP81TXmtnvQJz1IuTiw== integrity sha512-iEl4gQtcrj2udNhEizs04z7WA15ez1QoXL0XzaCyaNgwRyXezIg1DnfNeZUUpJnkrOF/0rYXyq2UFSLxt1NPQg==
dependencies: dependencies:
"@ethereumjs/util" "^8.0.3" "@ethereumjs/util" "^8.0.5"
crc-32 "^1.2.0" crc-32 "^1.2.0"
"@ethereumjs/ethash@^2.0.2": "@ethereumjs/ethash@^2.0.4":
version "2.0.2" version "2.0.4"
resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-2.0.2.tgz#2986cf21019c973a78a4dd5d4479afa2c4d8adb9" resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-2.0.4.tgz#1892e8e17a11b10efeee3075fb09cd3cbd12c33b"
integrity sha512-/fgahHOIhOKL0zHTPghrEJh6Btn2B6YRBPF66WSK3guMO5Vrro5AX6s7xEl8+aoZs5xWp96v0mlfb758a6gJnA== integrity sha512-WREZZEZKh8baGbG4IwLXvjA+ItFWzD/myUnefKALuAcB9+um93e1YBaeSQzeyY6m5jiDmpxu55SxF0mB8e+xdQ==
dependencies: dependencies:
"@ethereumjs/block" "^4.1.0" "@ethereumjs/block" "^4.2.1"
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/util" "^8.0.5"
abstract-level "^1.0.3" abstract-level "^1.0.3"
bigint-crypto-utils "^3.0.23" bigint-crypto-utils "^3.0.23"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
"@ethereumjs/evm@^1.2.3": "@ethereumjs/evm@^1.3.1":
version "1.2.3" version "1.3.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/evm/-/evm-1.2.3.tgz#3cf8dde3b06348f403eba4e792b9bb8d1bbaf5e8" resolved "https://registry.yarnpkg.com/@ethereumjs/evm/-/evm-1.3.1.tgz#eb304d9c794f06bb4d911d5d5d083cb305b1cab6"
integrity sha512-yQFF8xbcN98VBdDP4xLKEvcO/wB2djWC3YTQ0hG2O0ZnpPGS92oP24inxmrlrUukvZ3ZWafw60OOtQn7YqQdLw== integrity sha512-FDrM5aX1gGfkvh3L84wVL/67Rw8HCO3ErqSrmOdeFU0XY7+hX1/Kh2TnmCVkKvlyEhzax82ySoiAWgO/eMdTAA==
dependencies: dependencies:
"@ethereumjs/common" "^3.0.2" "@ethereumjs/common" "^3.1.1"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/tx" "^4.1.1"
"@ethereumjs/util" "^8.0.5"
"@ethersproject/providers" "^5.7.1" "@ethersproject/providers" "^5.7.1"
debug "^4.3.3" debug "^4.3.3"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
mcl-wasm "^0.7.1" mcl-wasm "^0.7.1"
rustbn.js "~0.2.0" rustbn.js "~0.2.0"
"@ethereumjs/rlp@^4.0.0", "@ethereumjs/rlp@^4.0.0-beta.2": "@ethereumjs/rlp@^4.0.1":
version "4.0.0" version "4.0.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.0.tgz#66719891bd727251a7f233f9ca80212d1994f8c8" resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41"
integrity sha512-LM4jS5n33bJN60fM5EC8VeyhUgga6/DjCPBV2vWjnfVtobqtOiNC4SQ1MRFqyBSmJGGdB533JZWewyvlcdJtkQ== integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==
"@ethereumjs/statemanager@^1.0.2": "@ethereumjs/statemanager@^1.0.4":
version "1.0.2" version "1.0.4"
resolved "https://registry.yarnpkg.com/@ethereumjs/statemanager/-/statemanager-1.0.2.tgz#febba5cdf1ec4f8075e85b6d26221814f61d3ee1" resolved "https://registry.yarnpkg.com/@ethereumjs/statemanager/-/statemanager-1.0.4.tgz#02fb3f05794a2476a78d73660745e9815b476e02"
integrity sha512-/uE+r+Pr0hy1dXS9AOO9083yQZD2RYM7vcayrnDoMZNlLU7xAt9XfDB/3pdfOK3CKUxlpLruhIafAk4vjFuGMQ== integrity sha512-+dNZGqOUXlA+ifkSlz6AvEF/PCRZD7vqKcruoyGtaxOQ0gdfvL/lDiuzV07fECjrqPAEDnQwcO4CTGv+On/0wA==
dependencies: dependencies:
"@ethereumjs/common" "^3.0.2" "@ethereumjs/common" "^3.1.1"
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/rlp" "^4.0.1"
debug "^4.3.3" debug "^4.3.3"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
ethers "^5.7.1" ethers "^5.7.1"
js-sdsl "^4.1.4" js-sdsl "^4.1.4"
"@ethereumjs/trie@^5.0.2": "@ethereumjs/trie@^5.0.4":
version "5.0.2" version "5.0.4"
resolved "https://registry.yarnpkg.com/@ethereumjs/trie/-/trie-5.0.2.tgz#766c22c380367b9f00eed685ba3044c290e15c33" resolved "https://registry.yarnpkg.com/@ethereumjs/trie/-/trie-5.0.4.tgz#eb06ce2c7957f6a8f07c0db43fb0335b256f3705"
integrity sha512-fZ7CbygZwJ2UTOgJt39L8nQHsLzB6eC0317TdKgkZQfG4AZ4ir+DyESUcl0g5iEN6t6ZqEYj7AfNB2/6C/jR5g== integrity sha512-ycYtAF7BJAu9eaCtrEX+efE5xEQEfItRXXHBcTSMHsF7NfLHcniI0S7KUVYXbJ6imczBmnMHeggCqv8PYQbbOw==
dependencies: dependencies:
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/util" "^8.0.5"
"@types/readable-stream" "^2.3.13" "@types/readable-stream" "^2.3.13"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
readable-stream "^3.6.0" readable-stream "^3.6.0"
@ -2418,40 +2441,41 @@
"@ethereumjs/common" "^2.5.0" "@ethereumjs/common" "^2.5.0"
ethereumjs-util "^7.1.2" ethereumjs-util "^7.1.2"
"@ethereumjs/tx@^4.0.2": "@ethereumjs/tx@^4.1.1":
version "4.0.2" version "4.1.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.0.2.tgz#082b0f95fe9a61c70277ee1bfeb65d6f27a723bb" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.1.1.tgz#d1b5bf2c4fd3618f2f333b66e262848530d4686a"
integrity sha512-6GoKVK3MVcAFFn4qSLIIDZ1vrKSLn7W5L80Pvae1BJFgchu+11R2iOqQyVGUSGbaXllh4xliUy/7+x5pYwRY8Q== integrity sha512-QDj7nuROfoeyK83RObMA0XCZ+LUDdneNkSCIekO498uEKTY25FxI4Whduc/6j0wdd4IqpQvkq+/7vxSULjGIBQ==
dependencies: dependencies:
"@ethereumjs/common" "^3.0.2" "@chainsafe/ssz" "0.9.4"
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/common" "^3.1.1"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/util" "^8.0.5"
"@ethersproject/providers" "^5.7.2"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
ethers "^5.7.1"
"@ethereumjs/util@^8.0.3": "@ethereumjs/util@^8.0.5":
version "8.0.3" version "8.0.5"
resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.3.tgz#410c2dc8c6d519b29f1a471aa9b9df9952e41239" resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.5.tgz#b9088fc687cc13f0c1243d6133d145dfcf3fe446"
integrity sha512-0apCbwc8xAaie6W7q6QyogfyRS2BMU816a8KwpnpRw9Qrc6Bws+l7J3LfCLMt2iL6Wi8CYb0B29AeIr2N4vHnw== integrity sha512-259rXKK3b3D8HRVdRmlOEi6QFvwxdt304hhrEAmpZhsj7ufXEOTIc9JRZPMnXatKjECokdLNBcDOFBeBSzAIaw==
dependencies: dependencies:
"@ethereumjs/rlp" "^4.0.0-beta.2" "@chainsafe/ssz" "0.9.4"
async "^3.2.4" "@ethereumjs/rlp" "^4.0.1"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
"@ethereumjs/vm@^6.3.0": "@ethereumjs/vm@^6.4.1":
version "6.3.0" version "6.4.1"
resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-6.3.0.tgz#4e40c6dfdb602d83eb60ebec2ee50099289de8df" resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-6.4.1.tgz#2f792f1eeff96c4291362ddfed447ed1f5c53d35"
integrity sha512-vkuDXcta22VW0o/O0LAyMxZK719ULFm0BAjfHaEsVWVLsSIKWEwRom8f9Rg7MGSnuhlEaDfYnCuC1ewfgfvT3g== integrity sha512-obImG7Bcoxr8DAneqOprqLH4A0eMkMPuzdioSP7wK31YD+gI6q4Xm/2f4RUr1iBx8o2OpljfXNDJrdYvS/tc9g==
dependencies: dependencies:
"@ethereumjs/block" "^4.1.0" "@ethereumjs/block" "^4.2.1"
"@ethereumjs/blockchain" "^6.1.0" "@ethereumjs/blockchain" "^6.2.1"
"@ethereumjs/common" "^3.0.2" "@ethereumjs/common" "^3.1.1"
"@ethereumjs/evm" "^1.2.3" "@ethereumjs/evm" "^1.3.1"
"@ethereumjs/rlp" "^4.0.0" "@ethereumjs/rlp" "^4.0.1"
"@ethereumjs/statemanager" "^1.0.2" "@ethereumjs/statemanager" "^1.0.4"
"@ethereumjs/trie" "^5.0.2" "@ethereumjs/trie" "^5.0.4"
"@ethereumjs/tx" "^4.0.2" "@ethereumjs/tx" "^4.1.1"
"@ethereumjs/util" "^8.0.3" "@ethereumjs/util" "^8.0.5"
debug "^4.3.3" debug "^4.3.3"
ethereum-cryptography "^1.1.2" ethereum-cryptography "^1.1.2"
mcl-wasm "^0.7.1" mcl-wasm "^0.7.1"
@ -3003,7 +3027,7 @@
bech32 "1.1.4" bech32 "1.1.4"
ws "7.4.6" ws "7.4.6"
"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.1": "@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.1", "@ethersproject/providers@^5.7.2":
version "5.7.2" version "5.7.2"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
@ -7481,7 +7505,7 @@ async@^2.4.0, async@^2.6.2, async@^2.6.4:
dependencies: dependencies:
lodash "^4.17.14" lodash "^4.17.14"
async@^3.1.0, async@^3.2.3, async@^3.2.4: async@^3.1.0, async@^3.2.3:
version "3.2.4" version "3.2.4"
resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
@ -9332,6 +9356,11 @@ cardinal@^2.1.1:
ansicolors "~0.3.2" ansicolors "~0.3.2"
redeyed "~2.1.0" redeyed "~2.1.0"
case@^1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9"
integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==
caseless@~0.12.0: caseless@~0.12.0:
version "0.12.0" version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"

Loading…
Cancel
Save