Skip to content

Commit 42640f5

Browse files
authored
Merge branch 'master' into fix-trie-benchmarks
2 parents 5141db8 + 8201891 commit 42640f5

File tree

13 files changed

+67
-37
lines changed

13 files changed

+67
-37
lines changed

packages/common/src/chains/goerli.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@
7070
},
7171
{
7272
"name": "berlin",
73-
"block": null,
74-
"forkHash": null
73+
"block": 4460644,
74+
"forkHash": "0x757a1c47"
7575
}
7676
],
7777
"bootstrapNodes": [

packages/common/src/chains/mainnet.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@
7272
},
7373
{
7474
"name": "berlin",
75-
"block": null,
76-
"forkHash": null
75+
"block": 12244000,
76+
"forkHash": "0xeb440f6"
7777
}
7878
],
7979
"bootstrapNodes": [

packages/common/src/chains/rinkeby.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@
7070
},
7171
{
7272
"name": "berlin",
73-
"block": null,
74-
"forkHash": null
73+
"block": 8290928,
74+
"forkHash": "0x6910c8bd"
7575
}
7676
],
7777
"bootstrapNodes": [

packages/common/src/chains/ropsten.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@
7272
},
7373
{
7474
"name": "berlin",
75-
"block": null,
76-
"forkHash": null
75+
"block": 9812189,
76+
"forkHash": "0xa157d377"
7777
}
7878
],
7979
"bootstrapNodes": [

packages/common/src/hardforks/berlin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
"comment": "HF targeted for July 2020 following the Muir Glacier HF",
44
"url": "https://eips.ethereum.org/EIPS/eip-2070",
55
"status": "Draft",
6-
"eips": [ 2315, 2565, 2929, 2718, 2930 ]
6+
"eips": [ 2565, 2929, 2718, 2930 ]
77
}

packages/common/tests/eips.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ tape('[Common]: Initialization / Chain params', function (t: tape.Test) {
5252
c = new Common({ chain: 'rinkeby', hardfork: 'istanbul', eips: [2315] })
5353
st.equal(c.isActivatedEIP(2315), true, 'istanbul, eips: [2315] -> true (EIP-2315)')
5454
c = new Common({ chain: 'rinkeby', hardfork: 'berlin' })
55-
st.equal(c.isActivatedEIP(2315), true, 'berlin, eips: [] -> true (EIP-2315)')
55+
st.equal(c.isActivatedEIP(2929), true, 'berlin, eips: [] -> true (EIP-2929)')
56+
st.equal(c.isActivatedEIP(2315), false, 'berlin, eips: [] -> true (EIP-2315)')
5657
st.equal(c.isActivatedEIP(2537), false, 'berlin, eips: [] -> false (EIP-2537)')
5758

5859
st.end()

packages/common/tests/hardforks.spec.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,17 @@ tape('[Common]: Hardfork logic', function (t: tape.Test) {
3434
st.equal(c.getHardforkByBlockNumber(1150000), 'homestead', msg)
3535
st.equal(c.getHardforkByBlockNumber(1400000), 'homestead', msg)
3636
st.equal(c.getHardforkByBlockNumber(9200000), 'muirGlacier', msg)
37-
st.equal(c.getHardforkByBlockNumber(999999999999), 'muirGlacier', msg)
37+
st.equal(c.getHardforkByBlockNumber(12244000), 'berlin', msg)
38+
st.equal(c.getHardforkByBlockNumber(999999999999), 'berlin', msg)
3839

3940
msg = 'should set HF correctly'
4041

4142
st.equal(c.setHardforkByBlockNumber(0), 'chainstart', msg)
4243
st.equal(c.setHardforkByBlockNumber(1149999), 'chainstart', msg)
4344
st.equal(c.setHardforkByBlockNumber(1150000), 'homestead', msg)
4445
st.equal(c.setHardforkByBlockNumber(1400000), 'homestead', msg)
45-
st.equal(c.setHardforkByBlockNumber(9200000), 'muirGlacier', msg)
46-
st.equal(c.setHardforkByBlockNumber(999999999999), 'muirGlacier', msg)
46+
st.equal(c.setHardforkByBlockNumber(12244000), 'berlin', msg)
47+
st.equal(c.setHardforkByBlockNumber(999999999999), 'berlin', msg)
4748

4849
c = new Common({ chain: 'ropsten' })
4950
st.equal(c.setHardforkByBlockNumber(0), 'tangerineWhistle', msg)
@@ -107,8 +108,8 @@ tape('[Common]: Hardfork logic', function (t: tape.Test) {
107108
msg = 'should return correct next HF (rinkeby: byzantium -> constantinople)'
108109
st.equal(c.nextHardforkBlock('byzantium'), 3660663, msg)
109110

110-
msg = 'should return null if next HF is not available (rinkeby: istanbul -> berlin)'
111-
st.equal(c.nextHardforkBlock('istanbul'), null, msg)
111+
msg = 'should return null if next HF is not available (rinkeby: berlin -> london)'
112+
st.equal(c.nextHardforkBlock('berlin'), null, msg)
112113

113114
msg =
114115
'should work correctly along the need to skip several forks (ropsten: chainstart -> (homestead) -> (dao) -> (tangerineWhistle) -> spuriousDragon)'
@@ -142,8 +143,8 @@ tape('[Common]: Hardfork logic', function (t: tape.Test) {
142143

143144
t.test('activeHardforks()', function (st: tape.Test) {
144145
let c = new Common({ chain: 'ropsten' })
145-
let msg = 'should return 9 active hardforks for Ropsten'
146-
st.equal(c.activeHardforks().length, 9, msg)
146+
let msg = 'should return 10 active hardforks for Ropsten'
147+
st.equal(c.activeHardforks().length, 10, msg)
147148

148149
msg = 'should return the correct HF data for Ropsten'
149150
st.equal(c.activeHardforks()[3]['name'], 'spuriousDragon', msg)
@@ -169,24 +170,24 @@ tape('[Common]: Hardfork logic', function (t: tape.Test) {
169170
st.equal(c.activeHardforks(null, { onlySupported: true }).length, 2, msg)
170171

171172
c = new Common({ chain: 'mainnet' })
172-
msg = 'should return 10 active HFs for mainnet'
173-
st.equal(c.activeHardforks().length, 10, msg)
173+
msg = 'should return 11 active HFs for mainnet'
174+
st.equal(c.activeHardforks().length, 11, msg)
174175

175176
c = new Common({ chain: 'rinkeby' })
176-
msg = 'should return 8 active HFs for rinkeby'
177-
st.equal(c.activeHardforks().length, 8, msg)
177+
msg = 'should return 9 active HFs for rinkeby'
178+
st.equal(c.activeHardforks().length, 9, msg)
178179

179180
c = new Common({ chain: 'goerli' })
180-
msg = 'should return 8 active HFs for goerli'
181-
st.equal(c.activeHardforks().length, 8, msg)
181+
msg = 'should return 9 active HFs for goerli'
182+
st.equal(c.activeHardforks().length, 9, msg)
182183

183184
st.end()
184185
})
185186

186187
t.test('activeHardfork()', function (st: tape.Test) {
187188
let c = new Common({ chain: 'ropsten' })
188-
let msg = 'should return muirGlacier as latest active HF for Ropsten'
189-
st.equal(c.activeHardfork(), 'muirGlacier', msg)
189+
let msg = 'should return berlin as latest active HF for Ropsten'
190+
st.equal(c.activeHardfork(), 'berlin', msg)
190191

191192
msg = 'should return spuriousDragon as latest active HF for Ropsten for block 10'
192193
st.equal(c.activeHardfork(10), 'spuriousDragon', msg)
@@ -199,8 +200,8 @@ tape('[Common]: Hardfork logic', function (t: tape.Test) {
199200
st.equal(c.activeHardfork(null, { onlySupported: true }), 'spuriousDragon', msg)
200201

201202
c = new Common({ chain: 'rinkeby' })
202-
msg = 'should return Istanbul as latest active HF for Rinkeby'
203-
st.equal(c.activeHardfork(), 'istanbul', msg)
203+
msg = 'should return berlin as latest active HF for Rinkeby'
204+
st.equal(c.activeHardfork(), 'berlin', msg)
204205

205206
st.end()
206207
})

packages/common/tests/params.spec.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ tape('[Common]: Parameter access for param(), paramByHardfork()', function (t: t
1414
st.equal(c.param('gasPrices', 'ecAdd'), 150, msg)
1515
c.setHardfork('muirGlacier')
1616
st.equal(c.param('gasPrices', 'ecAdd'), 150, msg)
17-
c.setHardfork('berlin')
18-
st.equal(c.param('gasPrices', 'beginsub'), 2, msg)
1917

2018
msg = 'Should return null for non-existing value'
2119
st.equal(c.param('gasPrices', 'notexistingvalue'), null, msg)

packages/ethereum-tests

Submodule ethereum-tests updated 226 files

packages/vm/lib/evm/opcodes/codes.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,15 @@ const hardforkOpcodes = [
240240
0x47: { name: 'SELFBALANCE', isAsync: false }, // EIP 1884
241241
},
242242
},
243+
]
244+
245+
const eipOpcodes = [
243246
{
244-
hardforkName: 'berlin',
247+
eip: 2315,
245248
opcodes: {
246-
0x5c: { name: 'BEGINSUB', isAsync: false }, // EIP 2315
247-
0x5d: { name: 'RETURNSUB', isAsync: false }, // EIP 2315
248-
0x5e: { name: 'JUMPSUB', isAsync: false }, // EIP 2315
249+
0x5c: { name: 'BEGINSUB', isAsync: false },
250+
0x5d: { name: 'RETURNSUB', isAsync: false },
251+
0x5e: { name: 'JUMPSUB', isAsync: false },
249252
},
250253
},
251254
]
@@ -288,6 +291,11 @@ export function getOpcodesForHF(common: Common): OpcodeList {
288291
opcodeBuilder = { ...opcodeBuilder, ...hardforkOpcodes[fork].opcodes }
289292
}
290293
}
294+
for (const eipOps of eipOpcodes) {
295+
if (common.isActivatedEIP(eipOps.eip)) {
296+
opcodeBuilder = { ...opcodeBuilder, ...eipOps.opcodes }
297+
}
298+
}
291299

292300
/* eslint-disable-next-line no-restricted-syntax */
293301
for (const key in opcodeBuilder) {

0 commit comments

Comments
 (0)