diff --git a/packages/common/src/chains/goerli.json b/packages/common/src/chains/goerli.json index 294ead7016..bad5da82bb 100644 --- a/packages/common/src/chains/goerli.json +++ b/packages/common/src/chains/goerli.json @@ -75,7 +75,7 @@ "//_comment": "The forkHash will remain same as mergeForkIdTransition is post merge, terminal block: https://goerli.etherscan.io/block/7382818", "name": "merge", "ttd": "10790000", - "block": 7382819, + "block": null, "forkHash": "0xb8c6299d" }, { diff --git a/packages/common/src/chains/mainnet.json b/packages/common/src/chains/mainnet.json index 48579fe0b0..e8d5ae715c 100644 --- a/packages/common/src/chains/mainnet.json +++ b/packages/common/src/chains/mainnet.json @@ -91,7 +91,7 @@ "//_comment": "The forkHash will remain same as mergeForkIdTransition is post merge, terminal block: https://etherscan.io/block/15537393", "name": "merge", "ttd": "58750000000000000000000", - "block": 15537394, + "block": null, "forkHash": "0xf0afd0e3" }, { diff --git a/packages/common/src/chains/sepolia.json b/packages/common/src/chains/sepolia.json index 8c74c5b442..4d7821ec2e 100644 --- a/packages/common/src/chains/sepolia.json +++ b/packages/common/src/chains/sepolia.json @@ -77,7 +77,7 @@ "//_comment": "The forkHash will remain same as mergeForkIdTransition is post merge, terminal block: https://sepolia.etherscan.io/block/1450408", "name": "merge", "ttd": "17000000000000000", - "block": 1450409, + "block": null, "forkHash": "0xfe3366e7" }, { diff --git a/packages/common/src/common.ts b/packages/common/src/common.ts index 24256ccae2..fd33ddb7d2 100644 --- a/packages/common/src/common.ts +++ b/packages/common/src/common.ts @@ -314,6 +314,7 @@ export class Common extends EventEmitter { hfIndex = hfs.length - 1 } else if (hfIndex === 0) { // Cant move back, ideally we should throw?? + throw Error('No hardfork qualitifies') } else { // The previous hardfork is the candidate here hfIndex = hfIndex - 1 diff --git a/packages/common/tests/hardforks.spec.ts b/packages/common/tests/hardforks.spec.ts index bb73b51b3b..211384e7a4 100644 --- a/packages/common/tests/hardforks.spec.ts +++ b/packages/common/tests/hardforks.spec.ts @@ -63,6 +63,36 @@ tape('[Common]: Hardfork logic', function (t: tape.Test) { st.end() }) + t.test('should throw if no hardfork qualifies', function (st) { + const hardforks = [ + { + name: 'homestead', + block: 3, + }, + { + name: 'tangerineWhistle', + block: 3, + }, + { + name: 'spuriousDragon', + block: 3, + }, + ] + const c = Common.custom({ hardforks }, { baseChain: Chain.Sepolia }) + + try { + c.getHardforkByBlockNumber(0) + t.fail('should have thrown since no hardfork should quality') + } catch (e) { + t.pass('throw since no hardfork qualifies') + } + + const msg = 'should return correct value' + st.equal(c.setHardforkByBlockNumber(3), Hardfork.SpuriousDragon, msg) + + t.end() + }) + t.test('setHardfork(): hardforkChanged event', function (st) { const c = new Common({ chain: Chain.Mainnet, hardfork: Hardfork.Istanbul }) c.on('hardforkChanged', (hardfork: string) => {